CISA FotoGallery

Statistiche

Tot. visite contenuti : 928223
Home Articoli tecnici Tabelle Filtrare un record

Filtrare un record

Ogni volta che vogliamo riferirci ad un record specifico di una tabella o di una query dobbiamo impostare un filtro, altrimenti ci verrà restituito tutto l'elenco dei record.
Per ottenere il record che interessa bisogna creare una corrispondenza tra questo record e gli elementi che lo filtrano: se per esempio voglioil record
della tabella tblArticolo che abbia un id uguale a 5, dovrò digitare
Select * from tblArticolo where id = 5


Ma non abbiamo sempre la fortuna di conoscere l'id che ci serve e spesso dobbiamo fare riferimento a diversi campi.
Bisogna quindi capire il tipo di dati che andiamo a filtrare, perché se parliamo confronto tra due campi numerici avremo
"Id = " & me.txtid
supponendo che sulla maschera abbiamo un controllo chiamato txtId.

In caso di testo, invece, avremo
"txtNome = '" & me.txtNome & "'"

Cosa cambia.
Vengono aggiunti due singoli apici attorno alla variabile: Access leggerà l'istruzione così txtNome = 'Pippo'.
Notiamo una cosa importante e cioè che tutte le stringhe con variabile. Quest'ultima sarà sempre fuori la stringa e la stringa a sua volta andrà sempre compresa nelle doppie virgolette.
Questa potrà subire un'interruzione per l'inframezzatura di una o più variabili, ma poi riprenderà per il resto dell'istruzione; anche perché se noi mettessimo una espressione dell'istruzione fuori dai doppi apici causeremmo un errore.
Quindi riprendendo il filtro numerico avremo

"id = " & MiavariabileNumerica ===> l'istruzione si interrompe
e finisce con la giunzione della variabile

"txtNome = '" & me.txtNome & "'" ===> l'istruzione si lega alla variabile e continua dopo

"txtNome = '" & me.txtNome & "' and id = " & me.Id ===> anche in questo caso le due virgolette vanno nell'istruzione e le variabili fuori

"MiaData = #" & me.Miadata & "#" ===> anche la data non sfugge a tale logica con la differenza che invece dell'apice vuole il cancelletto.