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 記錄集 物件,並使用 MoveFirstMoveLast 方法回傳一組記錄中的第一個或最後一個記錄。

範例

運算式 結果
選擇DFirst (「銷售日期」、「產品銷售」) 作為 ProductSales 群組的 DFirst 範例 (「銷售日期」、「產品銷售」) ; 回傳表格「ProductSales」中「DateofSale」欄位的隨機值。 如果資料表有「主鍵」,則會根據主鍵的升序回傳「銷售日期」的「FIRST」值。
選擇 (「銷售日期」、「產品銷售」) FirstDis_ID 來源於 ProductSales 群組 按 DLlast (「銷售日期」、「產品銷售」) ; 回傳表格「ProductSales」中「DateofSale」欄位的隨機值。 如果資料表有「主鍵」,則會根據主鍵的由高到低回傳「銷售日期」的「最後」值。 回傳來自「ProductSales」表的第一個「ProductID」,其中「Discount」值為「0」,並在「FirstDis_ID」欄顯示結果。
選擇 DLast (「ProductID」、「ProductSales」、「Discount=0」) 如LastDis_ID 來自 ProductSales 群組 BY DLast (「ProductID」、「ProductSales」、「Discount=0」) ; 回傳「ProductSales」表格中「Discount」值為「0」的最後一個「ProductID」,並在「LastDis_ID」欄顯示結果。