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 彙總函數。
domain 必要。 識別構成範圍之記錄集的字串運算式。
criteria 可省略。 用來限制執行 DFirstDLast 函數的資料範圍的字串運算式。 例如, criteria 通常相當於 SQL 運算式中的 WHERE 子句,但沒有 WHERE 字樣。 如果省略 準則則 DFirstDLast 函數會針對整個範圍評估 expr 。 準則 中包含的任何 欄位也必須是 範圍內的欄位;否則, DFirstDLast 函式會傳回 Null。

註解

注意

如果您想要傳回網域) (記錄組中的第一筆或最後一筆記錄,您應該建立以遞增或遞減排序的查詢,並將 TopValues 屬性設為 1。 如需詳細資訊,請參閱 TopValues 屬性主題。 您也可以從 Visual Basic for Applications (VBA) 模組建立 ADO Recordset 物件,並使用 MoveFirstMoveLast 方法傳回一組記錄中的第一筆或最後一筆記錄。

範例

運算式 結果
SELECT DFirst (“DateofSale”,“ProductSales”) AS Expr1 FROM ProductSales GROUP BY DFirst (“DateofSale”,“ProductSales”) ; 傳回 “ProductSales” 資料表中 “DateofSale” 欄位的隨機值。 如果資料表有「主索引鍵」,它將會根據主索引鍵的遞增順序傳回「DateofSale」的「FIRST」值。
SELECT DLast (“DateofSale”,“ProductSales”) FirstDis_ID AS 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” 資料行中顯示結果。