来源:DFirst 和 DLast 函数 (microsoft.com)
当只需要来自该字段的任何值时,可以使用 DFirst 和 DLast 函数从表或查询中的特定字段返回随机记录。 在窗体或报表上的 宏 、模块、查询表达式或 计算控件DFirst 和 DLast 函数。
语法
DFirst ( expr , domain [ ,criteria] )
DLast ( expr , domain [ ,criteria] )
DFirst 和 DLast函数具有以下参数:
参数 |
说明 |
expr |
必需。 一个表达式,用于标识要查找第一个或最后一个值的字段。 它可以是标识表 字符串表达式 查询中的字段的一个表达式,或者是对该字段中数据执行计算的表达式。 在 expr中,可以包括表中的字段名称、窗体上的控件、常量或函数。 如果 expr 包含函数,则它可以是内置函数或用户定义的函数,但不能是另一个域聚合或SQL函数。 |
域 |
必需。 一个字符串表达式,标识构成域的记录集。 |
条件 |
可选。 用于限制执行 DFirst 或 DLast 函数的数据范围的字符串表达式。 例如, 条件 通常等效于 SQL 表达式中的 WHERE 子句,不带 WHERE 一词。 如果省略条件,DFirst和DLast函数将针对整个域计算expr。 条件中包含的任何 字段 也必须是域中的 字段;否则 ,DFirst 和 DLast 函数返回 Null。 |
备注
注意: 如果要在 域 ) 中返回一组记录中的第一条或最后一条 (或最后一条记录,应创建按升序或降序排序的查询,将 TopValues 属性设置为 1。 有关详细信息,请参阅 TopValues 属性主题。 从 Visual Basic for Applications (VBA) 模块中,还可以创建 ADO 记录集 对象,并使用 MoveFirst 或 MoveLast 方法返回一组记录的第一条或最后一条记录。
示例
表达式 |
结果 |
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"列中。 |