Critères de date et d’heure 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 dates de commandes de la table Commandes.

Pour spécifier une date ou une heure 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 date ou heure à l'intérieur de l'expression de la chaîne soit bien encadré de dièses (#). Les dièses doivent faire partie des chaînes qui encadrent l'expression faisant référence au contrôle sur le formulaire.

Remarque

Les signes numériques indiquent à Access que l’argument critère contient une date ou une heure dans une chaîne.

Les exemples suivants définissent la propriété Filter ou ServerFilter d’un formulaire en fonction de critères provenant d’un contrôle nommé HireDate qui se trouve sur le formulaire. Remarquez bien l'emplacement des dièses.

Forms!Employees.Filter = "[HireDate] >= #" _ 
 & Forms!Employees!HireDate & "#" 
Forms!Employees.FilterOn = True
Forms!Employees.ServerFilter = "[HireDate] >= #" _ 
 & Forms!Employees!HireDate & "#" 
Forms!Employees.FilterOn = True

Si la valeur actuelle du contrôle HireDate est le 1er mai 1992, la propriété Filter ou ServerFilter aura l’argument critère suivant : "[HireDate] >= #5-1-92#"

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 date ou une heure. 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 date ou l'heure doit être encadrée de dièses (#).

L'exemple ci-dessous indique comment construire un argument critère comprenant une variable qui représent une date ou une heure :

Dim datHireDate As Date 
datHireDate = #5-1-92# 
Forms!Employees.Filter = "[HireDate] >= #" _ 
 & datHireDate & "#"

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.