Puede usar las funciones DPrim y DÚltimo para devolver un registro aleatorio de un campo determinado en una tabla o consulta cuando simplemente necesite cualquier valor de ese campo. Use las funciones DFirst y DLast en una macro, un módulo, una expresión de consulta o un control calculado en un formulario o informe.
Sintaxis
DFirst( ** expr, dominio [, criterios** ] )
DLast( ** expr, dominio [, criterios** ] )
Las funciones DFirst y DLast tienen los siguientes argumentos:
| Argumento | Descripción |
|---|---|
| expresión | Obligatorio. Expresión que identifica el campo del que desea buscar el primer o el último valor. Puede ser una expresión de cadena que identifica un campo en una tabla o consulta, o una expresión que realiza un cálculo de los datos de ese campo. En expr, puede incluir el nombre de un campo en una tabla, un control en un formulario, una constante o una función. Si expr incluye una función, puede estar integrada o definida por el usuario, pero no otra función de agregado de dominio o de agregado SQL. |
| dominio | Obligatorio. Una expresión de cadena que identifica el conjunto de registros que constituye el dominio. |
| criterio | Opcional. Una expresión de cadena usada para restringir el rango de datos en los que se realiza la función 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úan la expr en todo el dominio. Cualquier campo que se incluya en los criterios también debe ser un campo de dominio; en caso contrario, las funciones DFirst y DLast devuelven un valor nulo. |
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, consulte el tema de la propiedad TopValues . Desde un módulo de Visual Basic para Aplicaciones (VBA), también puede crear un objeto de conjunto de registros ADO y usar el método MoveFirst o MoveLast para devolver el primer o el ú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 "Fecha de venta" de la tabla "ProductSales". Si la tabla tiene una "clave principal", devolverá el "FIRST" valor 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 "Fecha de venta" 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 "ProductID" de la tabla "ProductSales", donde el valor de "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 "ProductID" de la tabla "ProductSales", donde el valor de "Descuento" es "0" y muestra el resultado en la columna "LastDis_ID". |