DLOOKUP |
Regarde la donnée |
|---|---|
| Access 2019, Access 2016, Access 2013, Access 2010, Access 2007, Access 2003, Access XP, Access 2000 | Microsoft Access |
Syntaxe
| DLookup(FieldName,TableName, [criteria]) |
Paramètres
| Nom | Description |
|---|---|
| FieldName | Ce paramètre permet d'indiquer le champ, dans un contrôle de formulaire ou une fonction, que vous souhaitez retourner. |
| TableName | Ce paramètre permet d'indiquer l'ensemble d'enregistrement. Il peut s'agit s'agir du nom d'une table ou le nom d'une requête. |
| criteria | Ce paramètre optionnel permet d'indiquer le critère de recherche à appliquer à l'expression. |
Description
Cette fonction permet de retourner la valeur spécifié d'un ensemble de données numérique d'un domaine ou d'un ensemble d'enregistrement.
Remarques
- La fonction permet de rechercher une valeur dans un domaine : La fonction DLookup est utilisée pour récupérer la valeur d'un champ spécifique dans une table ou une requête Access. Elle effectue une recherche selon un critère et retourne la première valeur correspondant à cette recherche. Cette fonction est particulièrement utile lorsque l'on souhaite obtenir rapidement une information sans créer de requête SQL dédiée.
- Le paramètre TableName peut désigner une table ou une requête : Le deuxième paramètre représente le domaine de recherche et peut correspondre aussi bien à une table qu'à une requête enregistrée. Cette souplesse permet d'effectuer des recherches sur des données déjà filtrées ou calculées. Le développeur peut ainsi réutiliser des requêtes existantes sans modifier leur structure.
- Le paramètre criteria est optionnel mais fortement recommandé : Si aucun critère n'est fourni, DLookup retourne la première valeur trouvée dans le domaine. Toutefois, cette valeur dépend de l'ordre interne des enregistrements et peut donc être imprévisible. Pour obtenir un résultat fiable, il est conseillé de toujours préciser un critère de recherche.
- La fonction retourne une valeur de type Variant : Le résultat renvoyé par DLookup est un Variant, ce qui lui permet de retourner différents types de données. Selon le champ interrogé, le résultat peut être un nombre, une chaîne de caractères, une date ou une valeur booléenne. Si aucune correspondance n'est trouvée, la fonction retourne généralement Null.
- Elle est souvent utilisée pour remplacer une petite requête SQL : Lorsqu'il s'agit simplement de récupérer une valeur unique, DLookup évite d'écrire une requête SQL complète. Cela permet de simplifier le code et de rendre certaines expressions plus faciles à lire. Elle est particulièrement pratique pour afficher des informations complémentaires dans les formulaires et les états.
- La syntaxe des critères doit être rigoureusement respectée : Le paramètre criteria est fourni sous forme de chaîne de caractères et doit respecter les règles de syntaxe des expressions Access. Les chaînes de texte doivent être entourées de guillemets simples, tandis que les dates doivent généralement être encadrées par des caractères #. Une erreur dans cette syntaxe empêchera la fonction de retourner le résultat attendu.
- La fonction est très utilisée dans les formulaires et les états : DLookup permet d'afficher automatiquement des informations provenant d'une autre table sans modifier la source de données du formulaire. Par exemple, il est possible d'afficher le nom d'un client à partir de son identifiant ou le prix d'un produit à partir de son code. Cette fonctionnalité simplifie considérablement la conception des interfaces utilisateur.
- Les appels répétés peuvent avoir un impact sur les performances : Chaque exécution de DLookup entraîne une nouvelle recherche dans la table ou la requête spécifiée. Si cette fonction est appelée des centaines ou des milliers de fois dans une boucle ou dans un formulaire continu, les performances peuvent diminuer sensiblement. Pour les traitements volumineux, une requête avec une jointure est généralement plus efficace.
- Elle appartient à la famille des fonctions de domaine : DLookup fait partie du même groupe que DCount, DAvg, DSum, DMax, DMin, DFirst et DLast. Toutes ces fonctions permettent d'interroger directement une table ou une requête sans avoir recours à une instruction SQL complexe. Elles offrent une solution rapide pour accéder à des informations ponctuelles dans une application Access.
- La fonction est compatible avec toutes les versions modernes de Microsoft Access : DLookup est présente depuis les premières versions de Microsoft Access et son fonctionnement est demeuré stable au fil des années. Elle est compatible avec Access 2000, Access XP, Access 2003, Access 2007, Access 2010, Access 2013, Access 2016 ainsi qu'avec Microsoft 365. Cette stabilité garantit que les applications utilisant cette fonction continueront de fonctionner correctement lors des migrations vers des versions plus récentes d'Access.
Exemple
Voici un exemple de comment utiliser la fonction DLookup dans Microsoft Access :
DLookup("[UnitPrice]", "Order Details", "OrderID = 10247")
Dans cet exemple, vous récupéreriez le champ UnitPrice de la table Order Details où l'OrderID est 10247. Cela correspond à l'instruction SQL suivante :
SELECT UnitPrice AS Expr1
FROM [Order Details]
WHERE ((([Order Details].OrderID)=10247));
Vous pouvez également récupérer un calcul à l'aide de la fonction DLookup. Par exemple :
DLookup("UnitPrice * Quantity", "Order Details", "OrderID = 10247")
Cet exemple renverrait le produit du champ UnitPrice par le champ Quantity de la table Order Details, où l'OrderID est 10247. Cela correspond à l'instruction SQL suivante :
SELECT UnitPrice * Quantity AS Expr1
FROM [Order Details]
WHERE ((([Order Details].OrderID)=10247));
Vous pouvez également utiliser un contrôle de formulaire dans la fonction DLookup. Par exemple :
DLookup("CustomerID", "Orders", "OrderID = " & Forms![Orders]!OrderID)
Cet exemple renverrait le champ CustomerID de la table Orders pour l'enregistrement actuellement affiché dans le formulaire Orders (en fonction de OrderID).