Accedi a VBA Trova prima

In questo tutorial imparerai come trovare il primo record che soddisfa determinati criteri di input.

Abbiamo una tabella chiamata ProductsT mostrata di seguito:

Utilizzo di FindFirst con VBA

La sintassi del metodo .FindFirst è expression.FindFirst(criteria) dove:

espressione - il Recordset di interesse.

Criteri: una stringa utilizzata per identificare un record. È simile alla clausola WHERE in SQL.

Nota: Dobbiamo usare il metodo Recordset.FindFirst in combinazione con un'istruzione IF ELSE e il metodo .NoMatch. Questo dice a VBA cosa fare se viene trovata una corrispondenza.

Il seguente codice ti mostrerà come trovare il nome del primo prodotto il cui prezzo è maggiore di $ 15:

Sub UsingFindFirst() Dim ourDatabase As Database Dim ourRecordset As Recordset Imposta ourDatabase = CurrentDb Imposta ourRecordset = ourDatabase.OpenRecordset("ProductsT", Type:=RecordsetTypeEnum.dbOpenDynaset) With ourRecordset .FindFirst "ProductPricePerUnit" & ">15" Then If .NoMatch MsgBox "Nessuna corrispondenza trovata" Else MsgBox "Il prodotto è stato trovato e il suo nome è: " & ourRecordset!ProductName End If End With DoCmd.Close acTable, "ProductsT", acSaveNo DoCmd.OpenTable "ProductsT" End Sub 

Il risultato è:

wave wave wave wave wave