Forms

3.7 Aggiornare una listbox durante la digitazione del filtro.
  Emanuele Cesena, Lorenzo Coronati
(D)
E' possibile filtrare una listbox mentre digito un testo (filtro) al'interno di un controllo testo?

(R)
Filtrare il contenuto di una listbox in base al contenuto di una textbox e' cosa abbastanza semplice, a patto di usare l'evento AfterUpdate.
Meno immediato ma molto piu' user-friendly e' poter vedere l'effetto del filtro dinamicamente durante la digitazione nella textbox.

In una form inserite una text box chiamata MyTextBox e un list box chiamata MyListBox, copiate la seguente routine nell'evento Su Modifica (Change) della text box.
Private Sub MyTextbox_Change()
   Dim CaratteriDigitati As String
   CaratteriDigitati = Nz(Me!MyTextbox.Text, "")
   Me!MyListbox.RowSource = "SELECT nomeCampo FROM nomeTabella " & _
      "WHERE nomeCampo LIKE '" & CaratteriDigitati & "*'"
End Sub
Attenzione, sostituite nomeTabella e nomeCampo con il nome della tabella e di un suo campo sul quale volete effettuare la ricerca.
A questo punto iniziate a scrivere il testo da cercare nella textbox e godetevi l'effetto.


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