Devo effetturare una query che pesca i dati su 3 tabelle diverse.

Dal form posso inserire 5 parametri:
titolo, autore, genere, editore, anno.
La tabella1 contiene:
id
titolo
autore
id_genere
id_editore
anno

la tabella 2 contiene
id_genere
genere

e la 3 contiene
id_editore
editore

Sto facendo confusione a scrivere la query

Sql = "SELECT * FROM biblioteca, Editore, Genere WHERE biblioteca.titolo="& titolo &" or biblioteca.autore="& autore &" AND Editore.Id="& Id &" AND Genere.Id=" & Id &" ORDER BY Id"

Ma questa va bene solo se effettuo tutte le scelte.
Come devo fare per poter effetturare una ricerca con meno parametri? Spero di essere stato chiaro