Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Access 2013 | Access 2016
Utilisées pour renvoyer une valeur d'un champ du premier ou du dernier enregistrement dans les résultats produits par une requête.
Syntaxe
First( expr )
Last( expr )
L'espace réservé expr représente une expression chaîne identifiant le champ qui contient les données que vous voulez utiliser ou une expression qui effectue un calcul à partir des données dans ce champ. Les opérandes dans expr peuvent inclure le nom d'un champ de table, une constante ou une fonction (qui peut être intrinsèque ou définie par l'utilisateur mais pas une autre fonction d'agrégation SQL).
Remarques
Les fonctions First et Last sont analogues aux méthodes MoveFirst et MoveLast d'un objet Recordset DAO. Elles renvoient la valeur d’un champ spécifié respectivement dans le premier ou le dernier enregistrement des résultats produits par une requête. Étant donné que les enregistrements ne sont en général renvoyés dans aucun ordre particulier (sauf si la requête comporte une clause ORDER BY), les enregistrements renvoyés par ces fonctions sont arbitraires.
Exemple
Dans cet exemple, la table Employees est utilisée pour renvoyer les valeurs du champ LastName des premier et dernier enregistrements extraits de la table.
La procédure EnumFields (que vous pouvez trouver dans l'exemple d'instruction SELECT) est appelée dans cet exemple.
Sub FirstLastX1()
Dim dbs As Database, rst As Recordset
' Modify this line to include the path to Northwind
' on your computer.
Set dbs = OpenDatabase("Northwind.mdb")
' Return the values from the LastName field of the
' first and last records returned from the table.
Set rst = dbs.OpenRecordset("SELECT " _
& "First(LastName) as First, " _
& "Last(LastName) as Last FROM Employees;")
' Populate the Recordset.
rst.MoveLast
' Call EnumFields to print the contents of the
' Recordset. Pass the Recordset object and desired
' field width.
EnumFields rst, 12
dbs.Close
End Sub
Dans l'exemple suivant, l'utilisation des fonctions First et Last est comparée à celle des fonctions Min et Max pour rechercher les dates de naissance des employés les plus vieux et les plus jeunes dans la table Employees.
Sub FirstLastX2()
Dim dbs As Database, rst As Recordset
' Modify this line to include the path to Northwind
' on your computer.
Set dbs = OpenDatabase("Northwind.mdb")
' Find the earliest and latest birth dates of
' Employees.
Set rst = dbs.OpenRecordset("SELECT " _
& "First(BirthDate) as FirstBD, " _
& "Last(BirthDate) as LastBD FROM Employees;")
' Populate the Recordset.
rst.MoveLast
' Call EnumFields to print the contents of the
' Recordset. Pass the Recordset object and desired
' field width.
EnumFields rst, 12
Debug.Print
' Find the earliest and latest birth dates of
' Employees.
Set rst = dbs.OpenRecordset("SELECT " _
& "Min(BirthDate) as MinBD," _
& "Max(BirthDate) as MaxBD FROM Employees;")
' Populate the Recordset.
rst.MoveLast
' Call EnumFields to print the contents of the
' Recordset. Pass the Recordset object and desired
' field width.
EnumFields rst, 12
dbs.Close
End Sub
À propos des collaborateurs
La communauté UtterAccess est le premier wiki et forum d’aide Microsoft Access.
Voir aussi
- Forum Access pour les développeurs
- Aide Access sur support.office.com
- Aide Access sur answers.microsoft.com
- Forums Access sur UtterAccess
- Centre d'aide pour les développeurs Access et la programmation VBA (FMS)
- Billets sur Access sur StackOverflow
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.