Queries |
2.15 Visualizzare tutti i records con una query parametrica (2) |
Roberto |
Se ho una tabella chiamata tblAnagrafe che ha una struttura simile a questa:Id Contatore e chiave primaria Nome Testo Cognome Testo Cittą TestoSe il valore del campo Città per alcuni record è Null. Se ho una maschera chiamata frmParametri e che contiene una casella di testo chiamata CercaCittà. Se voglio visualizare i record della tabella il cui valore del campo Città è uguale a quello contenuto nella casella di testo CercaCittà, e voglio che mi si visualizzino tutti i record nel caso in cui il valore della casella di testo CercoCittà sia Null. Se creo una query che abbia il seguente codice SQL: SELECT tblAnagrafe.* FROM tblAnagrafe WHERE (((tblAnagrafe.Cittą) Like Nz([Forms]![frmParametri]![CercaCittą],"*")));nel caso in cui il valore della casella CercaCittà è Null, nella query verranno visualizzati tutti i record ad eccezione di quelli il cui valore del campo Città è Null. Questo è spiegabile con il fatto che per definizione Null è un NON VALORE, quindi con Città Like "*" verranno selezionati tutti i record che nel campo Città hanno un qualsiasi valore, ma non quelli che hanno un NON VALORE. Uno dei modi possibili per visualizzare anche i record che nel campo Città abbiano Null è quello di modificare il codice SQL della query parametrica nel seguente modo: SELECT tblAnagrafe.* FROM tblAnagrafe WHERE (((Nz([Cittą],"zzzzzzzzzz")) Like Nz([Forms]![frmParametri]![CercaCittą],"*"))); Un'altra soluzione a questo problema la si trova sempre nella Sezione Queries di questo sito, nella FAQ di Federico Luciani intitolata "Visualizzare tutti i records con una query parametrica". |