Table des matières
Dans ce didacticiel, vous apprendrez à trouver le premier enregistrement qui répond à certains critères d'entrée.
Nous avons un tableau appelé ProduitsT ci-dessous :
Utiliser FindFirst avec VBA
La syntaxe de la méthode .FindFirst est expression.FindFirst(criteria) où :
expression - le Recordset d'intérêt.
Critères - une chaîne qui est utilisée pour identifier un enregistrement. Elle est similaire à la clause WHERE en SQL.
Noter: Nous devons utiliser la méthode Recordset.FindFirst en combinaison avec une instruction IF ELSE et la méthode .NoMatch. Cela indique à VBA quoi faire si une correspondance est trouvée.
Le code suivant vous montrera comment trouver le premier nom de produit dont le prix est supérieur à 15 $ :
Sub UsingFindFirst() Dim ourDatabase As Database Dim ourRecordset As Recordset Set ourDatabase = CurrentDb Set ourRecordset = ourDatabase.OpenRecordset("ProductsT", Type:=RecordsetTypeEnum.dbOpenDynaset) With ourRecordset .FindFirst "ProductPricePerUnit" & ">15" Then If .NoMatch MsgBox "Aucune correspondance trouvée" Else MsgBox "Le produit a été trouvé et son nom est : " & ourRecordset!ProductName End If End With DoCmd.Close acTable, "ProductsT", acSaveNo DoCmd.OpenTable "ProductsT" End Sub
Le résultat est: