Ciao a tutti ! voi come gestireste queste query in funzione di una scelta?

codice:
if periodo=tutto then
SQL1="SELECT * FROM fatto WHERE nominativo='"&utente1&"' ORDER BY data ASC "
query=SQL1
end if
if periodo=giorno then
giorno=request.Form("giorno")
SQL2="SELECT * FROM fatto WHERE nominativo='"&utente1&"' and data=#"&giorno&"# ORDER BY data ASC "
query=SQL2
end if
if periodo=periodo then
dal=request.Form("dal")
al=request.Form("al")
SQL3="SELECT * FROM fatto WHERE nominativo='"&utente1&"' BETWEEN data=#"&dal&"# and  data=#"&al&"# ORDER BY data ASC "
query=SQL3
end if
Perchè se seleziono le prime due scelte la terza query mi và sempre in errore poichè non sono valorizzati le stringhe "dal" e "al"