Méthode DoCmd.SearchForRecord (Access)
Utilisez la méthode SearchForRecord pour rechercher un enregistrement spécifique dans une table, une requête, un formulaire ou un état.
Syntaxe
expression. SearchForRecord (ObjectType, ObjectName, Record, WhereCondition)
expressionune variable représentant un objet DoCmd.
Paramètres
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
ObjectType | Facultatif | AcDataObjectType | Constante AcDataObjectType qui spécifie le type de l'objet de base de données dans lequel vous effectuez une recherche. La valeur par défaut est acActiveDataObject. |
ObjectName | Facultatif | Variant | Nom de l'objet de base de données qui contient l'enregistrement à rechercher. |
Record | Facultatif | AcRecord | Constante AcRecord qui précise le point de départ et la direction de la recherche. La valeur par défaut est acFirst. |
WhereCondition | Facultatif | Variant | Chaîne permettant de localiser l'enregistrement. C’est comme la clause WHERE dans une instruction SQL, mais sans le mot WHERE. |
Remarques
Si plusieurs enregistrements correspondent aux critères dans l'argument ConditionWhere, les facteurs suivants déterminent l'enregistrement qui est trouvé :
Le paramètre de l'argument Enregistrement.
L'ordre de tri des enregistrements. Par exemple, si l'argument Enregistrement est défini sur acFirst, le fait de changer l'odre de tri des enregistrements peut permettre de trouver un autre enregistrement.
Vous devez ouvrir l'objet spécifié dans l'argument NomObjet avant d'exécuter cette action. Dans le cas contraire, une erreur se produit.
Si aucun enregistrement ne répond aux critères dans l'argument ConditionWhere, aucune ereur ne se produit et le focus reste sur l'enregistrement actif.
Si vous recherchez l'enregistrement suivant ou précédent, la recherche s'arrête lorsqu'elle atteint la fin des données. Si aucun autre enregistrement ne correspond aux critères, aucune erreur ne se produit et le focus reste sur l'enregistrement actif. Pour confirmer qu'un enregistrement a été trouvé, entrez une condition pour l'action suivante, en faisant en sorte que la condition soit la même que les critères de l'argument ConditionWhere.
La méthode SearchForRecord est similaire à la méthode FindRecord, mais SearchForRecord comporte des fonctionnalités de recherche plus puissantes. La méthode FindRecord est essentiellement destinée à la recherche de chaînes et elle reproduit la fonctionnalité de la boîte de dialogue Rechercher. La méthode SearchForRecord utilise des critères qui ressemblent davantage à ceux d’un filtre ou d’une requête SQL.
La liste suivante illustre certaines choses que vous pouvez effectuer avec la méthode SearchForRecord :
Utilisez des critères complexes dans l’argument WhereCondition , tels que
Description = "Beverages" and CategoryID = 11
.Faites référence aux champs qui se trouvent dans la source d’enregistrement d’un formulaire ou d’un état, mais qui ne sont pas affichés sur le formulaire ou l’état. Dans l’exemple précédent, ni ne
Description
CategoryID
doivent être affichés sur le formulaire ou l’état pour que les critères fonctionnent.Utilisez des opérateurs logiques, tels que <, >, AND, OR et BETWEEN. La méthode FindRecord ne produit que des résultats qui sont égaux à, commencent par ou contiennent la chaîne recherchée.
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.