DFIRST |
Première données |
|---|---|
| Access 2019, Access 2016, Access 2013, Access 2010, Access 2007, Access 2003, Access XP, Access 2000 | Microsoft Access |
Syntaxe
| DFirst(expression,domain, [criteria]) |
Paramètres
| Nom | Description |
|---|---|
| expression | Ce paramètre permet d'indiquer le champ dans lequel vous voulez la première valeur. |
| domain | Ce paramètre permet d'indiquer l'ensemble d'enregistrement correspondant au domaine. |
| criteria | Ce paramètre permet d'indiquer le critère de recherche à appliquer à l'expression. |
Description
Cette fonction permet de retourner la première valeur d'un ensemble de données numérique d'un domaine ou d'un ensemble d'enregistrement.
Remarques
- La fonction retourne la première valeur d'un domaine : La fonction DFirst permet de récupérer la première valeur d'un champ appartenant à une table ou à une requête. Le domaine est défini par le deuxième paramètre et peut être filtré à l'aide d'un critère. Cette fonction est principalement utilisée pour obtenir rapidement une valeur sans devoir parcourir l'ensemble des enregistrements.
- Le résultat dépend de l'ordre des enregistrements : DFirst retourne le premier enregistrement tel qu'il est fourni par le moteur de base de données. Si aucun ordre de tri explicite n'est défini dans la table ou la requête, la valeur retournée peut varier. Il ne faut donc pas supposer que DFirst renverra toujours le plus petit ou le plus ancien enregistrement.
- Le paramètre criteria permet de limiter la recherche : Le troisième paramètre est facultatif et permet de restreindre les enregistrements pris en compte. Par exemple, il est possible de récupérer le premier client d'une ville donnée ou le premier produit appartenant à une catégorie spécifique. Cette fonctionnalité rend DFirst très souple pour les recherches ciblées.
- Le paramètre expression indique le champ à retourner : Le premier paramètre correspond au nom du champ dont la valeur doit être extraite. Ce champ peut être numérique, textuel, une date ou tout autre type de données pris en charge par Access. La fonction retourne uniquement la valeur de ce champ et non l'enregistrement complet.
- La fonction retourne un Variant : Le résultat de DFirst est de type Variant, ce qui lui permet de représenter différents types de données. La valeur retournée dépend du type du champ demandé. Si aucun enregistrement ne satisfait les critères, la fonction retourne généralement Null, qu'il convient de tester avant toute utilisation.
- Elle est particulièrement utile dans les formulaires et les états : DFirst est souvent employée dans les contrôles calculés afin d'afficher rapidement une information provenant d'une autre table. Par exemple, elle peut afficher le premier numéro de facture d'un client ou la première date d'une série d'événements. Cette approche évite parfois la création d'une requête spécifique.
- Elle ne remplace pas une requête triée : Si l'objectif est d'obtenir systématiquement la plus petite, la plus grande ou la première valeur selon un ordre précis, il est préférable d'utiliser une requête contenant une clause ORDER BY. DFirst ne garantit pas un ordre déterminé lorsque le domaine n'est pas déjà trié. Son résultat peut donc évoluer après une modification des données ou de l'organisation de la table.
- Elle appartient à la famille des fonctions de domaine : DFirst fait partie des fonctions de domaine telles que DLast, DLookup, DCount, DAvg, DSum, DMax et DMin. Ces fonctions permettent d'interroger directement une table ou une requête sans écrire de requête SQL spécifique. Elles sont particulièrement adaptées aux calculs et recherches ponctuelles.
- Les appels répétés peuvent affecter les performances : Chaque exécution de DFirst provoque une nouvelle interrogation du domaine spécifié. Si cette fonction est appelée un grand nombre de fois dans une boucle ou sur un formulaire contenant de nombreux enregistrements, les performances peuvent diminuer. Dans ce type de situation, une requête SQL ou un jeu d'enregistrements (Recordset) est souvent plus performant.
- La fonction est compatible avec toutes les versions modernes de Microsoft Access : DFirst est disponible depuis les premières versions de Microsoft Access et son comportement est demeuré stable au fil des versions. 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é permet aux applications existantes de continuer à fonctionner correctement lors des migrations vers des versions plus récentes d'Access.
Exemple
Voici exemple un de comment utiliser la fonction DFirst dans Microsoft Access :
DFirst("UnitPrice", "Order Details", "OrderID = 10247")
Dans cet exemple, vous récupérerez la première valeur UnitPrice de la table Détails de la commande où l'ID de commande est 10247.
Exemple de code VBA
La fonction DFirst peut être utilisée dans le code VBA de Microsoft Access.
Par exemple :
Dim LTotal As Currency
LTotal = DFirst("UnitPrice", "Order Details", "OrderID = 10247")
Dans cet exemple, la variable appelée LTotal contiendrait désormais le premier UnitPrice de la table Order Details où l'OrderID est 10247.
Dernière mise à jour : Mardi, le 28 juillet 2015