Critères textuels d’un contrôle sur un formulaire

Si vous voulez modifier l'argument critère d'une opération basée sur la décision de l'utilisateur, vous pouvez spécifier que le critère provient d'un contrôle sur un formulaire. Par exemple, vous pouvez spécifier que l'argument critère provient d'une zone de liste contenant les noms de famille de tous les employés de la table Employés.

Pour spécifier un critère de type texte provenant d’un contrôle ou d’un formulaire, vous devez inclure dans l’argument critère une expression faisant référence au contrôle sur le formulaire. Cette expression doit être distincte de l’expression de chaîne, afin qu’Access évalue d’abord l’expression de contrôle et la concatène avec le reste de l’expression de chaîne avant d’effectuer l’opération appropriée.

Vous devez non seulement encadrer l'ensemble de l'expression de la chaîne de doubles guillemets ("), mais également veiller à ce que le critère de type texte à l'intérieur de l'expression de la chaîne soit bien encadré de guillemets simples ('). Les guillemets doivent faire partie des chaînes qui encadrent l'expression faisant référence au contrôle sur le formulaire.

Remarque

Les guillemets simples indiquent à Access que l’argument critère contient une chaîne dans une chaîne.

L'exemple ci-dessous effectue une recherche dans la table Employés et renvoie la région où habite l'employé, en fonction du nom de famille de ce dernier. La valeur courante d'un contrôle de zone de liste appelé Nom dans le formulaire Employés détermine le critère. Remarquez bien la disposition des guillemets simples.

=DLookup("[Region]", "Employees", "[LastName] = '" _ 
 & Forms!Employees!LastName & "'")

Si la valeur actuelle du contrôle est King, l’argument critère suivant est passé à la fonction DLookup après qu’Access a évalué l’expression et concaténé les chaînes :

"[LastName] = 'King'"

Gardez à l’esprit que la chaîne entière comprenant l’argument critère doit également être placée entre guillemets doubles une fois que les chaînes ont été concaténées.

Conseil

Pour corriger une expression erronée contenue dans l'argument critère, scindez-la en plusieurs expressions plus petites, puis contrôlez chacune d'entre elles individuellement dans la fenêtre Exécution. Lorsque toutes les sous-expressions constituant l'expression fonctionnent de manière satisfaisante, rassemblez-les de nouveau une par une, jusqu'à ce que l'ensemble de l'expression fonctionne correctement.

Vous pouvez également inclure dans l'argument critère une variable représentant une chaîne de caractères. La variable doit être distincte de l’expression de chaîne, afin qu’Access évalue d’abord la variable, puis la concatène avec le reste de l’expression de chaîne. La chaîne de caractères doit être encadrée de guillemets simples ou doubles.

L'exemple ci-dessous indique comment construire un argument critère comprenant une variable représentant une chaîne de caractères :

Dim strLastName As String 
Dim varResult As Variant 
 
strLastName = "King" 
varResult = DLookup("[EmployeeID]", "Employees", "[LastName] = '" _ 
 & strLastName & "'")

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.