Emanuele Lana

Skip to content
  • Chi sono
  • Formazione
  • Consulenza
  • Contatti
  • Corsi

Filtrare record in Microsoft Access

20/08/2016 Microsoft Access Video tutorial

Filtrare in Microsoft Access

Filtrare record in Microsoft Access è la tipica attività che si svolge con un database. Se costruiamo l’interfaccia ai nostri dati e vogliamo davvero aiutare l’utente, è bene dedicare il tempo necessario.

Abbiamo visto diversi video che utilizzano la casella combinata per filtrare i record di una maschera.

Oggi impariamo a usare una casella di testo e una casella di riepilogo per filtrare i record: mano mano che digitiamo caratteri nella casella di testo, automaticamente cambia l’origine riga della casella di riepilogo. Dalla casella di riepilogo possiamo facilmente filtrare i record presenti sulla maschera cliccando sul valore desiderato.

La soluzione richiede pochi elementi:

– una tabella con i clienti

tabellaclienti

– una maschera con una casella di testo, una casella di riepilogo e i controlli nel corpo per visualizzare i dati

mascheraricerca

 

Nota che la casella di riepilogo non ha origine riga impostata. E’ impostato solo il numero di colonne = 2 e la larghezza colonne: 0 (in tal modo nasconderemo la prima colonna e lasceremo visibile solo la seconda).

Ora dobbiamo scrivere il codice. Come sempre, poche righe, che possiamo imparare tutti!

Seleziono la casella di testo e vado sulle proprietà, tab Eventi.

Scelgo l’evento Su tasto su. Ci clicco dentro e poi tasto destro e dal menu scelgo Genera… e dalla finestra che si apre scelgo Generatore di codice.

generatorecodice

Ora che siamo nel codice vogliamo che quando si scatena l’evento su tasto su, venga eseguita una nostra procedura chiamata sRicerca:

Private Sub txtCliente_KeyUp(KeyCode As Integer, Shift As Integer)
   sRicerca
End Sub

Dopo la riga End Sub digitiamo il seguente codice per iniziare la nostra procedura:

Sub sRicerca()

poi premiamo il tasto invio e dovremmo ottenere questo:

Sub sRicerca()

End Sub

bene. Qui dopo l’intestazione, ossia dopo la riga Sub e prima della riga End, scriviamo l’istruzione che aggiorna l’origine riga della casella di riepilogo in base a quello che abbiamo digitato nella casella di testo:

Me.lstElencoClienti.RowSource = "SELECT ID, Company FROM tblClienti WHERE Company Like ""*" & Me.txtCliente.Text & "*"""

Attenzione! l’istruzione precedente va scritta tutta su una sola riga.

Non rimane che impostare il filtro quando si fa clic sulla casella di riepilogo. Aggiungiamo un evento su clic per la casella di riepilogo. Per questo selezioniamo la casella di riepilogo e poi nelle proprietà, tab Eventi cerchiamo Su clic. Ci posizioniamo sulla riga, poi clic con il tasto destro e nella finestra che si apre scegliamo, come già visto sopra, Generatore di codice.

Servono solo due istruzioni. Con la prima impostiamo il filtro:

Me.Filter = "ID=" & Me.lstElencoClienti

ossia vogliamo filtrare solo i record il cui ID è uguale a quello della casella di riepilogo (su cui abbiamo appena fatto clic)

e poi attiviamo il filtro:

Me.FilterOn = True

Il codice completo è il seguente:

Private Sub lstElencoClienti_Click()
Me.Filter = "ID=" & Me.lstElencoClienti
Me.FilterOn = True
End Sub
Private Sub txtCliente_KeyUp(KeyCode As Integer, Shift As Integer)
sRicerca
End Sub
Sub sRicerca()
Me.lstElencoClienti.RowSource = "SELECT ID, Company FROM tblClienti WHERE Company Like ""*" & Me.txtCliente.Text & "*"""
End Sub

Considera che se la tabella clienti contiene migliaia di righe, potremmo sperimentare un certo ritardo quando digitiamo le lettere nella casella di testo, perché a ogni tasto premuto viene eseguito il codice che imposta l’origine riga.

casella di riepilogocasella di testocodicefiltroorigine rigaproceduraVBA

Argomenti correlati

Il Data Scientist e il linguaggio SQL

Ovunque ci muoviamo lasciamo tracce digitali, che vengono memorizzate in database sparsi nei sistemi più disparati: dai log dell’home banking, alla carta fedeltà del supermercato, ai log di SMS, di telefonate, della navigazione effettuata con lo smartphone, ai dati del navigatore satellitare, all’utilizzo di Facebook ovvero WhatsApp, solo per citarne alcuni. E’ un mondo a disposizione […]

Come individuare i valori duplicati in Microsoft Excel

Spesso accade che mi venga chiesto aiuto nell’individuare i valori duplicati in un elenco. L’ultima volta è accaduto pochi giorni fa. Il cliente aveva un elenco Excel con diverse migliaia di righe. Il sistema da cui l’aveva estratto in alcuni casi aveva generato dei valori duplicati. Non esisteva la certezza che le righe fossero del tutto duplicate. In tal caso, […]

Come sostituire la finestra di dialogo MsgBox in Microsoft Access

Per interagire con l’utente lo sviluppatore utilizza molto spesso la funzione MsgBox con cui apre una finestra di dialogo e visualizza i pulsanti Ok / Annulla, Sì / No. In base poi al pulsante scelto, viene eseguito il codice. E’ possibile sostituire questa finestra di dialogo standard e crearne un’altra altamente personalizzata.

Nel 1994 è iniziato il mio percorso di consulenza e formazione in ambito IT. La gestione del dato è al centro dei miei interessi.
Nel mio lavoro di consulenza assisto il cliente nella progettazione del modello logico dei dati e implemento le soluzioni di interfaccia.

Tag

best practice casella combinata casella di testo Cerca.Vert ciclo controllo corso di formazione dopo aggiornamento Evento Excel funzione funzioni giorno.settimana macro Microsoft Access MsgBox Outlook pivot Powerpivot progettazione query raggruppamento SE SQL su clic testo in colonne trimestre tutorial unione VBA

Articoli recenti

  • Caratteri disponibili nella casella di testo in Microsoft Access 11/03/2024
  • Come controllare l’inserimento dati 2 di 2 24/09/2023
  • Come controllare l’inserimento dati 1 di 2 10/09/2023
  • Come controllare l’inserimento dati 27/08/2023

Info

  • Chi sono
  • Formazione
  • Consulenza
  • Contatti
  • Corsi

Categorie Blog

  • Comunicazione (5)
  • Microsoft Access (51)
  • Microsoft Excel (25)
  • Video tutorial (47)

Cerca

Teniamoci in contatto

Cookie policy | illustrazioni di Elisa Patrissi, realizzato da Brixel