Emanuele Lana

Vai al contenuto
  • 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

Caratteri disponibili nella casella di testo in Microsoft Access

E’ utile poter indicare all’utente il numero di caratteri ancora disponibili nella casella di testo in Microsoft Access man mano che digita

00:06 Live Another PowerPivot

Il video che potete vedere su youtube vi spiega in 6 minuti come una PowerPivot può cambiare il vostro approccio all’analisi dei dati. Supponiamo di avere un foglio con gli ordini e un foglio con i dati relativi al budget Vogliamo ottenere questo risultato: Possiamo farlo con due procedimenti: 1) con una normale pivot e delle formule e 2) con una […]

Come copiare tabelle da Word a Excel

Un amico si è trovato con molti file Word contenenti numerose tabelle che andavano copiate e incollate in un file Excel. Per non impazzire… ha chiesto il mio aiuto e così è nato un video che qui commento. Vediamo insieme come risolvere il problema su un file Word contenente 3 tabelle. Scriveremo una breve macro […]

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.

best practice campo campo calcolato casella combinata casella di riepilogo casella di testo ciclo colonna calcolata controllo dopo aggiornamento Evento funzione funzione Anno funzioni geocoding giorno.settimana grafico maschera Microsoft Access MsgBox Outlook Powerpivot progettazione query raggruppamento SE SQL tabella tutorial 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