Sommario
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 è: