Filtri su maschera con Access
Breve tutorial di MC2 E-Learning sui filtri su maschera di Access. Impariamo come applicare e rimuovere filtri su maschera in una maschera di Access sia manualmente che da codice VBA
Il comando Filtro in base a maschera fornisce un modo veloce e facile per filtrare una tabella in base alle informazioni contenute in più campi.
Se aprite unatabella e quindi fate clic sul pulsante Filtro in base a maschera (vedi figura 1), vedrete qualcosa di simile a un semplice foglio dati.
Ciascuna cella vuota è tuttavia unacasella combinata con un elenco scorrevole di tutti i valori possibili del campo.
Usare Filtro in base a maschera su una tabella che contiene solo qualche campo, come questa per esempio (figura 2), è facile.
Mentre il suo uso su una tabella che ha alcune dozzine di campi diventa un poco ingombrante.
Inoltre è più semplice usare Filtro in base a maschera nella versione maschera della tabella.
Se si apre una maschera e quindi fate clic su Filtro in base a maschera, osservate una maschera vuota.
E' possibile effettuare una scelta nell’elenco e fare clic sul pulsante Applica filtro (quello con inbuto e saetta gialla) pervisualizzare solo i record che contengono tale selezione.
Facendo clic in qualunque casella e quindi clic sulla relativa freccia viene visualizzato un elenco di tutti i valori nel campo, come nella figura 3.
Se effettuate una scelta e fate clic sul pulsanteApplica filtro, facendo clic sul pulsante di spostamento Record successivo viene visualizzato il primo record che corrisponde al criterio di selezione, quindi il successivo e così via.
Il comando Filtro in base a maschera offre le medesime caratteristiche quando lo si usa in una maschera e in una tabella.
Poichè la definizione del filtro talvolta è più semplice in una maschera e la visualizzazione dei risultati qualche voltaè più semplice in una tabella, si potrebbe prendere in considerazione l'uso di un Nuovo oggetto: Maschera standard per creare rapidamente una maschera per una tabella.
Potete quindi usare la maschera con Filtro in base a maschera, anzichè la tabella, e quindi passare alla visualizzazione Foglio dati per vedere i risultati.
Nell'esempio proveremo a rintracciare un cliente del quale abbiamo dimenticato il Nome.
Siamo quasi certi che il Nome della società inizi con la lettera 'T' e che ilcliente provenga dagli USA o dalla Germania, pertanto useremo Filtro in base a maschera per cercare e individuare il record del cliente.
Procediamo come segue:
1 Apriamo il database NWind2.mdb
2 Apriamo lamaschera Clienti in visualizzazione Maschera.
3 Facciamo clic sul pulsante Filtro In base a maschera sulla barra degli strumenti.
La maschera Clienti, la quale visualizza le informazioni contenute in un record, viene sostituita dalla sua versione Filtro in base a maschera, la quale presenta una casella vuota per ciascun campo e le schede Cerca e Oppur lungo il lato inferiore.
4 Facciamo clic sulla casella del Nome società, cioè la seconda casella dall'alto, dopo IDCliente, digitiamo 'T*' e premiamo Invio per visualizzare tutti i Nomi società che iniziano con "T".
I valori che abbiamo digitato vengono convertiti nel formato corretto richiesto, detto sintassi, per questo tipo di espressione:Like ‘T*”.
5 Facciamoclic sulla casella Paese e selezioniamoUSA dall’elenco a discesa.
6 Per vedere solo i clienti che abitano negli Stati Uniti il cuiNome inizia con T, facciamo clic sul pulsante Applica filtro (figura 4).
La finestra del filtro viene sostituita conla normale maschera Clienti e labarra di spostamento nella parte inferiore della maschera indica che sono disponibili tre record filtrati (figura 5).
7 Per ritornare al filtro, facciamo clic sul pulsante Filtro In base a maschera. Icriteri del filtro sono ancora visualizzati.
Quando vengonoimmessi criteri di filtro mediante qualunque metodo, essi vengono salvati come proprietà della maschera e sono disponibili fino a quando vengono sostituiti da altri criteri.
8 Per aggiungere i clienti che vivono in un altro stato, facciamo clic sulla scheda "Oppur" (figura 6).
Questa scheda contiene le medesime celle vuote della scheda Cerca. E' possibile passare dall’una all’altra scheda per verificare che i criteri non siano stati cancellati.
Quando viene visualizzata lascheda "Oppur", viene visualizzata una seconda scheda Oppur, pertanto se lo si desidera è possibile includere un terzo stato.
9 Digitiamo "T*" nella casella Nome società cioè la seconda casella dall'alto dopo ID cliente, digitiamo o selezioniamo "Germania" nella casella Paese e quindi facciamo clic sul pulsante Applica filtro.
E' possibile scorrere la maschera Clienti filtrata per visualizzare i 4 record corrispondenti ai criteri.
10 Chiudiamo la maschera Clienti e quindi chiudiamo il database.
Impostazione e rimozione Filtro in base a Maschera da codice con il VBA
Vediamo ora come impostare e rimuovere il 'Filtro in base a Maschera' dacodice VBA.
Aggiungiamo 3 pulsanti di comando nella sezione 'Piè di pagina maschera', il primo per uscire, il secondo per applicare il filtro e il terzo per rimuovere il filtro (figura 7)
Ecco il codice VBA sullaproprietà evento (su:) _Click del secondo pulsante (Applica Filtro con VBA):
Private Sub Comando210_Click()
' applica filtro in base a maschera con VBA
' paesi: USA e Germania
' Nome società: ..che iniziano per 'T'
Me.FilterOn = True
Me.Filter = "[NomeSocietà] Like 'T*' AND ([Paese]='USA' OR [Paese]='Germania')"
Me.Requery
End Sub
ed ecco il codice VBA sulla proprietà evento (su:) _Click delterzo pulsante (Rimuovi Filtro con VBA)
Private Sub Comando211_Click()
'rimuovi il filtro e visualizza nuovamente tutti i records (91)
Me.FilterOn = False
Me.Requery
End Sub
ed ecco infine la maschera Clienti modificata: se facciamo clic sul pulsante 'Applica Filtro con VBA' otteniamo i 4 records filtrati come nell'esempio manuale (figura 8).
Se invece facciamo clic sul pulsante 'Rimuovi Filtro con VBA' otterremo nuovamente tutti e 91 i records.
Naturalmente è possibile "parametrizzare" ulteriormente il codice VBA passando delle variabili, le quali magari prelevino le impostazioni da un'altra maschera o li richiedano all'utente per mezzo dell'istruzione InputBox, al posto dei criteri preimpostati.
Avvertenza !
Il file dell'esempiofiltri-maschera-access.zip contenente la Maschera Clienti con il relativo codice per impostare e rimuovere i filtri di cui si è discusso in questo tutorial ed infine alcuni dati di prova tratti dal database 'NWind2.mdb', è disponibile nell'area 'Tutorial Download' riservata agli iscritti alle nostre newsletters. Iscriviti ora alla newsletter 'Utilizzare Access per davvero', è gratis! Puoi utilizzare il riquadro qui a lato sulla sinistra della pagina in alto oppure seguire questo collegamento:
http://www.mc2elearning.com/html/utilizzare_access.html
Il file dell'esempiofiltri-maschera-access.zip contenente la Maschera Clienti con il relativo codice per impostare e rimuovere i filtri di cui si è discusso in questo tutorial ed infine alcuni dati di prova tratti dal database 'NWind2.mdb', è disponibile nell'area 'Tutorial Download' riservata agli iscritti alle nostre newsletters. Iscriviti ora alla newsletter 'Utilizzare Access per davvero', è gratis! Puoi utilizzare il riquadro qui a lato sulla sinistra della pagina in alto oppure seguire questo collegamento:
http://www.mc2elearning.com/html/utilizzare_access.html
Maschere e controlli
Maschera e sottomaschera
Filtri su maschera
Query per maschere
Fare riferimento a sottomaschere
Il Generatore di espressioni
VBA e maschere
Collegamenti ad altri tutorial su Microsoft Access:
Le Relazioni tra le tabelle di Access
Costruire una tabella con Access
Esempi di Maschere con Microsoft Access
Tutorials su Microsoft Access
Dr.Maurizio Cucchiara
autore del corso:
"Corso Base di Microsoft Access"
disponibile on line su questo sito
MC2 E-Learning S.a r.l.
Formazione per il Web
http://www.mc2.it/html/access.html
Cerca sul web con Google:
