allora... si risolve in maniera mooolto semplice (se ho capito il problema)
supponiamo che hai i campi di ricerca : nome cognome provincia
allora fai cosi
ti prendi tutti i parametri dal form
ti crei prima una query iniziale
codice:
String sql="select * from tabella where ";
poi ti fai una serie di if, ma non nidificati.
codice:
boolean entrato=false;
fai cosi
codice:
if (!nome.equals(""))
{
sql+="nome="'+nome+'";
entrato=true;
}
if (!cognome.equals(""))
if (entrato)
sql+=" and cognome="'+cognome+'";
else
{
sql+=" cognome="'+cognome+'";
entrato=true;
}
if (!provincia.equals(""))
if (entrato)
sql+=" and provincia="'+provincia+'";
else
{
sql+=" provincia="'+provincia+'";
entrato=true;
}
sql+=";"; //non ricordo se access vuole il ; finale alla query (per esempio mysql lo vuole, oracle no... io ho usato questi due :D )
dovrebbe funzionare...
anch'io ho fatto un piccolo motore di ricerca e l'ho fatto cosi e funzionava...
ora il codice l'ho riscritto senza guardare il mio, ma dovrebbe essere giusto...
se non va fammi sapere che controllo meglio

ps... ho modificato il codice... mi sono confuso un attimo con javascript... non è != "" ma !nome.equals("")