Vous pouvez utiliser l’action de macro RechercherEnregistrement dans les bases de données access de bureau pour rechercher un enregistrement spécifique dans une table, une requête, un formulaire ou un état.
Paramètre
L’action de macro RechercherEnregistrement présente les arguments suivants.
Argument de l’action | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Type d’objet |
Entrez ou sélectionnez le type d’objet de base de données dans qui vous recherchez. Vous pouvez sélectionner Table,Requête,Formulaireou État. |
||||||||||
Nom de l’objet |
Entrez ou sélectionnez l’objet spécifique qui contient l’enregistrement à rechercher. La liste drop-down affiche tous les objets de base de données du type que vous avez sélectionné pour l’argument Type d’objet. |
||||||||||
Enregistrer |
Spécifiez le point de départ et le sens de la recherche.
|
||||||||||
Where Condition |
Entrez les critères de la recherche en utilisant la même syntaxe qu’SQL clause WHERE, uniquement sans le mot « WHERE ». Par exemple, Description = "Beverages" Pour créer un critère qui comprend la valeur d’une zone de texte d’un formulaire, vous devez créer une expression qui concatène la première partie du critère avec le nom de la zone de texte contenant la valeur pour laquelle effectuer la recherche. Par exemple, le critère suivant recherche la valeur dans le champ Description dans la zone de texte nommée txtDescription du formulaire nommé frmCategories. Notez le signe égal(=)au début de l’expression et l’utilisation de guillemets simples(')de chaque côté de la référence de la zone de texte : ="Description = '" & Forms![frmCategories]![txtDescription] & "'" |
Remarques
-
Dans les cas où plusieurs enregistrement correspond aux critères de l’argument Condition, les facteurs suivants déterminent quel enregistrement est trouvé :
-
Paramètre de l’argument Enregistrement Pour plus d’informations sur l’argument Enregistrement, voir le tableau de la section Paramètres.
-
L’ordre de tri des enregistrements Par exemple, si l’argument Enregistrement est donné sur Premier,la modification de l’ordre de tri des enregistrements peut modifier l’enregistrement trouvé.
-
-
L’objet spécifié dans l’argument Nom de l’objet doit être ouvert avant l’exécuter. Sinon, une erreur se produit.
-
Si les critères de l’argument Condition ne sont pas satisfaits, aucune erreur ne se produit et le focus reste sur l’enregistrement actuel.
-
Lorsque vous recherchez l’enregistrement précédent ou suivant, la recherche n’est pas « wrap » 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 actuel. Pour vérifier qu’une correspondance a été trouvée, vous pouvez entrer une condition pour l’action suivante et faire en sorte que la condition soit identique au critère de l’argument Condition Où.
-
Pour exécuter l’action RechercherEnregistrement dans un module VBA, utilisez la méthode SearchForRecord de l’objet DoCmd.
-
L’action de macro RechercherEnregistrement est semblable à l’action de macro TrouverEnregistrement, mais RechercheEnregistrement dispose de fonctionnalités de recherche plus puissantes. L’action de macro TrouverEnregistrement est principalement utilisée pour trouver des chaînes et dupliquer la fonctionnalité de la boîte de dialogue Rechercher. L’action de macro RechercherEnregistrement utilise des critères qui ressemblent davantage à ceux d’un filtre ou d’SQL requête. La liste suivante présente certaines opérations que vous pouvez effectuer avec l’action de macro RechercherEnregistrement :
-
Vous pouvez utiliser des critères complexes dans l’argument Condition, par exemple
-
Description = « Boissons » et CategoryID = 11
-
Vous pouvez faire référence à des champs qui se sont affichés dans la source d’enregistrement d’un formulaire ou état, mais qui ne sont pas affichés sur le formulaire ou l’état. Dans l’exemple précédent, aucun Description ni CategoryID ne doivent être affichés sur le formulaire ou l’état pour que les critères fonctionnent.
-
Vous pouvez utiliser des opérateurs logiques, tels que <, >, ET,OUet BETWEEN.L’action TrouverEnregistrement ne fait que rechercher des chaînes qui égalent, commencent par ou contiennent la chaîne en cours de recherche.
Exemple
La macro suivante ouvre d’abord la table Categories à l’aide de l’action OpenTable. La macro utilise ensuite l’action de macro RechercherEnregistrement pour rechercher le premier enregistrement dans la table où le champ Description est égal à « Boissons ».
Action | Arguments |
---|---|
OpenTable |
Nom du tableau: Catégories Affichage: feuille de données Mode données: Modifier |
SearchForRecord |
Type d’objet: Tableau Nom de l’objet: Catégories Enregistrement: Premier Condition :Description = « Boissons » |