Funciones DPrim y DÚltimo

Se aplica a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Puede usar las funciones DFirst y DLast para devolver un registro aleatorio de un campo concreto en una tabla o consulta cuando simplemente necesite cualquier valor de ese campo. Use las funciones DFirst y DLast en una macro, módulo, expresión de consulta o control calculado en un formulario o informe.

Sintaxis

DFirst( ** expresión, dominio [, criterios**] )

DLast( ** expresión, dominio [, criterios**] )

Las funciones DFirst y DLast tienen estos argumentos:

Argumento Descripción
expresión Obligatorio. Expresión que identifica el campo desde el que desea buscar el primer o el último valor. Puede ser una expresión de cadena que identifique un campo en una tabla o consulta, o bien una expresión que realice un cálculo de los datos de ese campo. En expresión, puede incluir el nombre de un campo en una tabla, un control de un formulario, una constante o una función. Si expresión incluye una función, puede ser integrada o definida por el usuario, pero no otra función de agregado de dominio o de agregado de SQL.
dominio Obligatorio. Expresión de cadena que identifica el conjunto de registros que constituye el dominio.
criterio Opcional. Expresión de cadena usada para restringir el rango de datos en el que se realizan las funciones DFirst o DLast . Por ejemplo, los criterios suelen ser equivalentes a la cláusula WHERE en una expresión SQL, sin la palabra WHERE. Si se omiten los criterios , las funciones DFirst y DLast evalúanla expresión en todo el dominio. Cualquier campo que se incluya en los criterios también debe ser un campo en el dominio; De lo contrario, las funciones DFirst y DLast devuelven un valor Null.

Observaciones

Nota

Si desea devolver el primer o el último registro de un conjunto de registros (un dominio), debe crear una consulta ordenada como ascendente o descendente y establecer la propiedad TopValues en 1. Para obtener más información, vea el tema de la propiedad TopValues . Desde un módulo de Visual Basic para Aplicaciones (VBA), también puede crear un objeto Recordset de ADO y usar el método MoveFirst o MoveLast para devolver el primer o último registro de un conjunto de registros.

Ejemplos

Expresión Resultados
SELECT DFirst("DateofSale","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); Devuelve el valor aleatorio del campo "DateofSale" de la tabla "ProductSales". Si la tabla tiene una "clave principal", devolverá el valor "FIRST" de "DateofSale" en función del orden ascendente de la clave principal.
SELECT DLast("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales"); Devuelve el valor aleatorio del campo "DateofSale" de la tabla "ProductSales". Si la tabla tiene una "clave principal", devolverá el valor "LAST" de "DateofSale" en función del orden ascendente de la clave principal. devuelve el Primer "IdProducto" de la tabla "VentasProducto" donde el valor "Descuento" es "0" y muestra el resultado en la columna "FirstDis_ID".
SELECT DLast("ProductID","ProductSales","Discount=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("ProductID","ProductSales","Discount=0"); Devuelve el último "IdProducto" de la tabla "VentasProducto" donde el valor "Descuento" es "0" y muestra el resultado en la columna "LastDis_ID".