Table of contents
TOC
Réduire la table des matières
Développer la table des matières

Application.DLookup, méthode (Access)Application.DLookup Method (Access)

office 365 dev account|Dernière mise à jour: 09/04/2018
|
2 Collaborateurs

La fonction DLookup recherche la valeur d'un champ particulier qui fait partie d'un jeu d'enregistrements défini (un domaine).You can use the DLookup function to get the value of a particular field from a specified set of records (a domain).

SyntaxeSyntax

expression.expression.DLookup( ** Expr, ** Domain, ** Criteria** )DLookup( ** Expr, ** Domain, ** Criteria** )

expression Variable qui représente un objet Application.expression A variable that represents an Application object.

ParamètresParameters

NomNameRequis/FacultatifRequired/OptionalType de donnéesData TypeDescriptionDescription
exprExprObligatoireRequiredChaîneStringUne expression qui identifie le champ dont vous voulez renvoyer la valeur.An expression that identifies the field whose value you want to return.Il peut s'agir soit d'une expression de type chaîne identifiant un champ dans une table ou une requête, soit d’une expression qui effectue un calcul sur les données dans ce champ.It can be a string expression identifying a field in a table or query, or it can be an expression that performs a calculation on data in that field.Dans expr, vous pouvez inclure le nom d’un champ dans une table, un contrôle sur un formulaire, une constante ou une fonction.In expr, you can include the name of a field in a table, a control on a form, a constant, or a function.Si expr inclut une fonction, elle peut être intégrée ou définie par l’utilisateur, mais pas une autre fonction d’agrégation de domaine ou SQL.If expr includes a function, it can be either built-in or user-defined, but not another domain aggregate or SQL aggregate function.
DomainDomainObligatoireRequiredStringStringExpression chaîne identifiant les enregistrements qui constituent le domaine. Il peut s'agir d'un nom de table ou d'un nom de requête qui ne requiert aucun paramètre.A string expression identifying the set of records that constitutes the domain. It can be a table name or a query name for a query that does not require a parameter.
CriteriaCriteriaFacultatifOptionalVariantVariantExpression chaîne facultative servant à limiter la plage des données sur laquelle porte la fonction DLookup. Par exemple, criteria est souvent équivalent à la clause WHERE d'une expression SQL sans le mot WHERE. En cas d'omission de criteria, la fonction DLookup évalue expr par rapport à l'intégralité du domaine. Chaque champ compris dans criteria doit aussi l'être dans domain, sans quoi la fonction DLookup renvoie la valeur Null.An optional string expression used to restrict the range of data on which the DLookup function is performed. For example, criteria is often equivalent to the WHERE clause in an SQL expression, without the word WHERE. If criteria is omitted, the DLookup function evaluates expr against the entire domain. Any field that is included in criteria must also be a field in domain; otherwise, the DLookup function returns a Null.

Valeur renvoyéeReturn Value

VariantVariant

RemarquesRemarks

La fonction DLookup vous permet d'afficher la valeur d'un champ qui n'appartient pas à la source d'enregistrements sur laquelle le formulaire ou l'état est fondé. Par exemple, supposez que vous disposez d'un formulaire fondé sur une table Détails Commandes. Il affiche les champs OrderID, ProductID, UnitPrice, Quantity et Discount. Cependant, le champ ProductName fait partie d'une autre table, la table Produits. Utilisez la fonction DLookup dans un contrôle calculé pour afficher le nom du produit (ProductName) dans le même formulaire.You can use the DLookup function to display the value of a field that isn't in the record source for your form or report. For example, suppose you have a form based on an Order Details table. The form displays the OrderID, ProductID, UnitPrice, Quantity, and Discount fields. However, the ProductName field is in another table, the Products table. You could use the DLookup function in a calculated control to display the ProductName on the same form.

La fonction DLookup renvoie une seule valeur de champ à partir des informations spécifiées dans criteria. L'argument criteria est facultatif, mais si vous n'associez pas de valeur à criteria, la fonction DLookup renvoie simplement une valeur aléatoire dans le domaine.The DLookup function returns a single field value based on the information specified in criteria. Although criteria is an optional argument, if you don't supply a value for criteria, the DLookup function returns a random value in the domain.

Si aucun enregistrement ne satisfait à criteria ou si domain ne contient pas d'enregistrement, la fonction DLookup renvoie la valeur Null.If no record satisfies criteria or if domain contains no records, the DLookup function returns a Null.

Si plusieurs enregistrements correspondent au criteria, la fonction DLookup renvoie la valeur du champ de la première occurrence. Il est recommandé de choisir un critère qui garantira l'unicité de la valeur de champ renvoyée par la fonction DLookup. Vous pouvez utiliser une valeur de clé primaire pour ce critère, comme [EmployeeID] dans l'exemple suivant pour garantir que la fonction DLookup renvoie une valeur unique :If more than one field meets criteria, the DLookup function returns the first occurrence. You should specify criteria that will ensure that the field value returned by the DLookup function is unique. You may want to use a primary key value for your criteria, such as [EmployeeID] in the following example, to ensure that the DLookup function returns a unique value:

Dim varX As Variant 
varX = DLookup("[LastName]", "Employees", "[EmployeeID] = 1")

Que vous utilisiez la fonction DLookup dans une macro, un module, une expression de requête ou un contrôle calculé, construisez l'argument criteria avec soin pour en garantir l'évaluation correcte.Whether you use the DLookup function in a macro or module, a query expression, or a calculated control, you must construct the criteria argument carefully to ensure that it will be evaluated correctly.

Vous pouvez utiliser la fonction DLookup pour spécifier des critères dans la ligne Critères d'une requête, au sein d'une expression de champ calculé dans une requête, ou dans la ligne Mise à jour d'une requête de mise à jour.You can use the DLookup function to specify criteria in the Criteria row of a query, within a calculated field expression in a query, or in the Update To row in an update query.

Vous pouvez aussi utiliser la fonction DLookup dans une expression de contrôle calculé d'un formulaire ou d'un état, si le champ à afficher ne fait pas partie de la source d'enregistrements sur laquelle le formulaire ou l'état est fondé. Par exemple, imaginons que vous disposez d'un formulaire Order Details (Détails commandes) fondé sur une table Order Details et dont la zone de texte ProductID affiche le champ ProductID. Pour rechercher ProductName dans une table Products à partir de la valeur de la zone de texte, vous pouvez créer une autre zone de texte et affecter l'expression suivante à sa propriété ControlSource:You can also use the DLookup function in an expression in a calculated control on a form or report if the field that you need to display isn't in the record source on which your form or report is based. For example, suppose you have an Order Details form based on an Order Details table with a text box called ProductID that displays the ProductID field. To look up ProductName from a Products table based on the value in the text box, you could create another text box and set its ControlSource property to the following expression:

=DLookup("[ProductName]", "Products", "[ProductID] =" _ 
     &; Forms![Order Details]!ProductID)

RemarqueTips

ExempleExample

L'exemple suivant retourne le nom contenu dans le champ CompanyName (Nom de société) de l'enregistrement qui satisfait à critère. Le domaine consiste en la table Shippers (Messagers). L'argument critère limite le jeu d'enregistrements à ceux pour lesquels N° messager est égal à 1.The following example returns name information from the CompanyName field of the record satisfying criteria. The domain is a Shippers table. The criteria argument restricts the resulting set of records to those for which ShipperID equals 1.

Dim varX As Variant 
varX = DLookup("[CompanyName]", "Shippers", "[ShipperID] = 1")

Dans l'exemple qui suit, extrait de la table Shippers, le contrôle ShipperID du formulaire fournit l'argument critère pour la fonction DLookup. Remarquez que la référence au contrôle n'est pas entourée des guillemets caractérisant les chaînes. Ceci garantit qu'à chaque appel de la fonction DLookup, Microsoft Access extraira la valeur en cours de ce contrôle.The next example from the Shippers table uses the form control ShipperID to provide criteria for the DLookup function. Note that the reference to the control isn't included in the quotation marks that denote the strings. This ensures that each time the DLookup function is called, Microsoft Access will obtain the current value from the control.

Dim varX As Variant 
varX = DLookup("[CompanyName]", "Shippers", "[ShipperID] = " _ 
    &; Forms!Shippers!ShipperID)

L'exemple qui suit utilise la variable intSearch pour obtenir la valeur.The next example uses a variable, intSearch, to get the value.

Dim intSearch As Integer 
Dim varX As Variant 

intSearch = 1 
varX = DLookup("[CompanyName]", "Shippers", _ 
    "[ShipperID] = " &; intSearch)

Les exemples suivants montrent comment utiliser différents types de critères avec la fonction DLookup.The following examples show how to use various types of criteria with the DLookup function.

Exemple de code fourni par :Icône de membre de la communauté la communauté UtterAccessSample code provided by:Community Member Icon TheUtterAccess community

    ' ***************************
    ' Typical Use
    ' Numerical values. Replace "number" with the number to use.
    variable = DLookup("[FieldName]", "TableName", "[Criteria] = number")

    ' Strings.
    ' Numerical values. Replace "string" with the string to use.
    variable = DLookup("[FieldName]", "TableName", "[Criteria]= 'string'")

    ' Dates. Replace "date" with the string to use.
    variable = DLookup("[FieldName]", "TableName", "[Criteria]= #date#")
    ' ***************************

    ' ***************************
    ' Referring to a control on a form
    ' Numerical values
    variable = DLookup("[FieldName]", "TableName", "[Criteria] = " &; Forms!FormName!ControlName)

    ' Strings
    variable = DLookup("[FieldName]", "TableName", "[Criteria] = '" &; Forms!FormName!ControlName &; "'")

    ' Dates
    variable = DLookup("[FieldName]", "TableName", "[Criteria] = #" &; Forms!FormName!ControlName &; "#")
    ' ***************************

    ' ***************************
    ' Combinations
    ' Multiple types of criteria
    variable = DLookup("[FieldName]", "TableName", "[Criteria1] = " &; Forms![FormName]![Control1] _
             &; " AND [Criteria2] = '" &; Forms![FormName]![Control2] &; "'" _
            &; " AND [Criteria3] =#" &; Forms![FormName]![Control3] &; "#")

    ' Use two fields from a single record.
    variable = DLookup("[LastName] &; ', ' &; [FirstName]", "tblPeople", "[PrimaryKey] = 7")

    ' Expressions
    variable = DLookup("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")

    ' Control Structures
    variable = DLookup("IIf([LastName] Like 'Smith', 'True', 'False')", "tableName", "[PrimaryKey] = 7")
    ' ***************************

À propos des collaborateursAbout the Contributors

UtterAccess est le premier forum d'aide et wiki de Microsoft Access. Cliquez ici pour le rejoindre.UtterAccess is the premier Microsoft Access wiki and help forum. Click here to join.

Voir aussiSee also

ConceptsConcepts

Application, objetApplication Object

© 2018 Microsoft