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ą                   Testo
Se 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".


Se pensate di avere del materiale freeware interessante e volete pubblicarlo, allora leggete qui.