DFirst、DLast 函数

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

当只需要该字段中的任何值时,可以使用 DFirstDLast 函数从表或查询中的特定字段返回随机记录。 在窗体或报表上的宏、模块、查询表达式或计算控件中使用 DFirstDLast 函数。

语法

DFirst ( ** expr, domain [, criteria**] )

DLast ( ** expr, domain [, criteria**] )

DFirstDLast 函数具有以下参数:

参数 说明
expr 必需。 一个表达式,用于标识要从中查找第一个或最后一个值的字段。 它可以是标识表或查询中的字段的字符串表达式,也可以是对该字段中的数据执行计算的表达式。 在 expr 中,可以在表中包括字段的名称、窗体上的控件、常量或函数。 如果 expr 包含函数,它可以是内置函数或用户定义的函数,但不能是其他域聚合函数或 SQL 聚合函数。
必需。 一个字符串表达式,标识构成域的记录集。
条件 可选。 用于限制执行 DFirstDLast 函数的数据范围的字符串表达式。 例如, 条件 通常等效于 SQL 表达式中的 WHERE 子句,而不使用 WHERE 一词。 如果省略 条件则 DFirstDLast 函数针对整个域评估 expr 条件中包含的任何字段也必须是域中的字段;否则,DFirstDLast 函数返回 Null。

备注

注意

如果要在域) (一组记录中返回第一条或最后一条记录,则应创建按升序或降序排序的查询,并将 TopValues 属性设置为 1。 有关详细信息,请参阅 TopValues 属性主题。 在 Visual Basic for Applications (VBA) 模块中,还可以创建 ADO Recordset 对象,并使用 MoveFirstMoveLast 方法返回一组记录中的第一条或最后一条记录。

示例

Expression 结果
SELECT DFirst (“DateofSale”,“ProductSales”) AS Expr1 FROM ProductSales GROUP BY DFirst (“DateofSale”,“ProductSales”) ; 返回表“ProductSales”字段“DateofSale”中的随机值。 如果表具有“主键”,它将根据主键的升序返回“DateofSale”的“FIRST”值。
SELECT DLast (“DateofSale”,“ProductSales”) AS FirstDis_ID FROM ProductSales GROUP BY DLast (“DateofSale”,“ProductSales”) ; 返回表“ProductSales”字段“DateofSale”中的随机值。 如果表具有“主键”,它将根据主键的升序返回“DateofSale”的“LAST”值。 从表“ProductSales”返回第一个“ProductID”,其中“Discount”值为“0”,并在“FirstDis_ID”列中显示结果。
SELECT DLast (“ProductID”,“ProductSales”,“Discount=0”) AS LastDis_ID FROM ProductSales GROUP BY DLast (“ProductID”,“ProductSales”,“Discount=0”) ; 返回表“ProductSales”中的最后一个“ProductID”,其中“Discount”值为“0”,并在“LastDis_ID”列中显示结果。