Le critiche educate fanno crescere professionalmente e moralmente e le accetto tutte (non modifico neanche gli errori ma integro le correzioni).
Per rispondere alla domanda su multifiltro da combobox, l'unico modo saggio è l'uso di una query parametrica.
select *
from tabella
where
//scrivi una delle tre condizioni
campoA like * + textbox + * // se vuoi visualizzare quelli che contengono il testo della textbox
campoA like * + textbox // se vuoi visualizzare quelli che finiscono con il testo della textbox
campoA like textbox + * // se vuoi visualizzare quelli che iniziano con il testo della textbox
// aggiunta di altri filtri
and (campoB=combo1 and combo1<>'') // se ho una selezione filtra per la selezione altrimenti ignora l'istruzione
and (campoC=combo2 and combo2<>'') // se ho una selezione filtra per la selezione altrimenti ignora l'istruzione
giacche' a filtrare i dati sono le combo non ha senso selezionare la voce della combo che non ha impostato un valore.
in altre parole, la combo comanda i dati non il contrario.
es.
select * from comuni where provincia=comboprovince // supponiamo (TO) la seconda combo supponiamo combodensità non puo' mostrare un valore arbitrario tipo 3.400.000 abitanti perchè il primo filtro chiede di visualizzare tutta la provincia. appena metto il secondo filtro >3400000 allora mi mostra i comuni con quella densità oppure =3400000 il comune con quella densità abitativa.
per capire meglio dove sta l'errore (o per meglio dire l'inutilità del criterio impostato) la combo con selezionato "paperino" non è un filtro ma un campo di ricerca per testo definito, cioè la combo contiene tutti i record cel campo "Name" della tabella, il che non ha alcun senso mi viene più comodo scorrere la tabella piuttosto che aprire una tendina lunga quanto il database.
la logica vuole che se cerco quel tale che ricordo si chiama qualcosa come giuseppe verdi o giovanni verdi di milano cerco da textbox gi*verdi non apro una linguetta kilometrica per non scorrere semplicemente i record.
la risposta al quesito rende necessaria questa spiegazione perchè si sta facendo un uso improprio dei componenti che già fanno il loro dovere senza bisogno di andare a forzare a suon di codice il comportamento di default.
non ha senso selezionare un record e vedersi cambiare la combo che se settata in modo giusto dovrebbe procedere a filtrare i record. per fare questo avrebbe bisogno di un bypass logico al codice per capire quando attivare il filtro e quando no.