Partage via


Méthode Application.BuildCriteria (Access)

La méthode BuildCriteria retourne une chaîne de critères analysée telle qu’elle apparaît dans la grille de conception de requête, en mode Filtrer par formulaire ou Filtrer par formulaire du serveur . Par exemple, vous souhaiterez peut-être définir un formulaire Filter ou ServerFilter en fonction de divers critères spécifiés par l'utilisateur. Utilisez la méthode BuildCriteria pour construire l’argument d’expression de chaîne pour la propriété Filter ou ServerFilter . String.

Syntaxe

expression. BuildCriteria (Field, FieldType, Expression)

expressionUne variable qui représente un objetApplication.

Paramètres

Nom Requis/Facultatif Type de données Description
Field Obligatoire Chaîne Champ pour lequel vous souhaitez définir des critères.
FieldType Obligatoire Entier Constante intrinsèque indiquant le type de données du champ. Peut être définie sur une des valeurs DAO DataTypeEnum.
Expression Obligatoire Chaîne Expression chaîne identifiant les critères à analyser.

Valeur renvoyée

Chaîne

Remarques

La méthode BuildCriteria vous permet de construire facilement les critères d'un filtre en fonction de l'entrée utilisateur. Il analyse l’argument expression de la même façon que l’expression serait analysée si elle avait été entrée dans la grille de conception de requête, en mode Filtrer par formulaire ou Filtrer par formulaire du serveur .

Par exemple, un utilisateur qui crée une requête sur une table Orders peut limiter le jeu de résultats aux commandes passées après le 1er janvier 1995, en définissant des critères sur un champ OrderDate . L’utilisateur peut entrer une expression telle que la suivante dans la ligne Critères sous le champ OrderDate :

1-1-95

Microsoft Access analyse automatiquement cette expression et retourne l'expression suivante :

#1/1/95 #

La méthode BuildCriteria fournit la même analyse à partir de code Visual Basic. Par exemple, pour retourner la correctement analysée qui précède chaîne, vous pouvez fournir les arguments suivants à la méthode BuildCriteria:

Dim strCriteria As String 
strCriteria = BuildCriteria("OrderDate", dbDate, ">1-1-95")

Étant donné que vous devez fournir des critères pour la propriété Filter sous forme correctement analysée, vous pouvez utiliser la méthode BuildCriteria pour construire une chaîne correctement analysée.

Utilisez la méthode BuildCriteria pour construire une chaîne avec plusieurs critères si ces critères font référence au même champ. Par exemple, vous pouvez utiliser la méthode BuildCriteria avec les arguments suivants pour construire une chaîne avec plusieurs critères relatifs au champ OrderDate :

strCriteria = BuildCriteria("OrderDate", dbDate, ">1-1-95 and <5-1-95")

Cet exemple retourne la chaîne de critères suivante :

OrderDate>#1/1/95# And OrderDate<#5/1/95#

Toutefois, si vous souhaitez construire une chaîne de critères qui fait référence à plusieurs champs, vous devez créer les chaînes et concaténez vous-même. Par exemple, si vous souhaitez construire des critères pour un filtre afin d'afficher les enregistrements correspondant aux commandes passées après le 1-1-95 et pour les frais de transport est inférieure à 50 $, vous devez utiliser la méthode BuildCriteria à deux reprises et concaténation de chaînes qui en résulte.

Exemple

L'exemple suivant invite l'utilisateur à entrer les premières lettres du nom d'un produit et utilise ensuite la méthode BuildCriteria pour construire une chaîne de critères selon l'entrée de l'utilisateur. Ensuite, la procédure fournit cette chaîne en tant qu'argument à la propriété Filter du formulaire Products. Enfin, la propriété FilterOn est définie pour appliquer le filtre.

Sub SetFilter() 
 Dim frm As Form, strMsg As String 
 Dim strInput As String, strFilter As String 
 
 ' Open Products form in Form view. 
 DoCmd.OpenForm "Products" 
 ' Return Form object variable pointing to Products form. 
 Set frm = Forms!Products 
 strMsg = "Enter one or more letters of product name " _ 
 & "followed by an asterisk." 
 ' Prompt user for input. 
 strInput = InputBox(strMsg) 
 ' Build criteria string. 
 strFilter = BuildCriteria("ProductName", dbText, strInput) 
 ' Set Filter property to apply filter. 
 frm.Filter = strFilter 
 ' Set FilterOn property; form now shows filtered records. 
 frm.FilterOn = True 
End Sub

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.