Compartir a través de


En primer lugar, últimas funciones (Microsoft Access SQL)

Se aplica a: Access 2013 | Access 2016

Devuelven un valor de campo del primer o último registros del conjunto de resultados generado por una consulta.

Sintaxis

First( expr )

Last( expr )

El marcador expresión representa una expresión de cadena que identifica el campo que contiene los datos que desea usar o una expresión que realiza un cálculo con los datos de dicho campo. Los operandos de expresión pueden incluir el nombre de un campo de tabla, una constante o una función (que puede ser intrínseca o definida por el usuario, pero no una de las otras funciones de agregado de SQL).

Comentarios

Las funciones First y Last son análogas a los métodos MoveFirst y MoveLast de un objeto Recordset de DAO. Simplemente devuelven el valor de un campo especificado en el primer o último registros, respectivamente, del conjunto de resultados generado por una consulta. Como los registros suelen devolverse sin ningún orden en particular (a menos que la consulta incluya una cláusula ORDER BY), los registros devueltos por estas funciones serán arbitrarios.

Ejemplo:

En este ejemplo, se utiliza la tabla Employees para devolver los valores del campo LastName del primer y último registros devueltos por la tabla.

En este ejemplo, se llama al procedimiento EnumFields, que se incluye en el ejemplo de la instrucción SELECT.

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 

En el siguiente ejemplo, se compara el uso de las funciones First y Last con el uso de las funciones Min y Max para buscar las fechas de nacimiento más antigua y más reciente de la tabla 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 

Información sobre los colaboradores

Icono de miembro de la comunidad La comunidad UtterAccess es el principal foro de ayuda y wiki de Microsoft Access.

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.