Forms |
3.68 Come creare un controllo di ricerca (2) |
Fedele Fabio Lopinto (Fid) |
Utilizzo molto spesso il codice trovato nella Sezione Forms del SitoComune, nella FAQ di Sib intitolata Come creare un controllo di ricerca: a questo egregio sitema ho modificato qualcosina, e a mio avviso diventa ancor più utile. Ho modificato questa parte del codice: Private Sub Ricerca_KeyPress(KeyAscii As Integer) Dim rst As Recordset Dim str As String If KeyAscii = 13 Then If Not IsNull(Me!Ricerca.Text) Then Set rst = Me.RecordsetClone rst.FindNext "DITTA like """ & ChiaveRicerca & Me!Ricerca.Text & "*""" If rst.NoMatch Then rst.FindFirst "DITTA like """ & ChiaveRicerca & Me!Ricerca.Text & "*""" Me.Bookmark = rst.Bookmark rst.Close Set rst = Nothing End If Me!Ricerca.SetFocus Me!Ricerca.SelStart = 255 KeyAscii = 0 End If End Sub in questo modo: Private Sub ricerca_KeyDown(KeyCode As Integer, Shift As Integer) Dim rst As Recordset Dim str As String If KeyCode = vbKeyDown Or KeyCode = vbKeyUp Then If Not IsNull(Me!ricerca.Text) Then Set rst = Me.RecordsetClone If KeyCode = vbKeyDown Then rst.FindNext "Cognome like """ & Me!ricerca.Text & "*""" If rst.NoMatch Then rst.FindLast "Cognome like """ & Me!ricerca.Text & "*""" End If Else rst.FindPrevious "Cognome like """ & Me!ricerca.Text & "*""" If rst.NoMatch Then rst.FindFirst "Cognome like """ & Me!ricerca.Text & "*""" End If End If Me.Bookmark = rst.Bookmark rst.close Set rst = Nothing End If Me!ricerca.SetFocus Me!ricerca.SelStart = 255 End If End Sub In questo modo i tasti freccia giù-freccia su si sposteranno tra i valori del controllo ricerca, dal primo all'ultimo. |