你可以使用 DFirst 和 DLast 函式,當你只需要該欄位的任何值時,從表格或查詢中某個欄位回傳隨機記錄。 在表單或報告的表單、報告中,使用 DFirst 和 DLast 函式,無論是在巨集、模組、查詢表達式或計算控制中。
語法
DFirst ( ** expr, domain [, criteria**] )
DLast ( ** expr, domain [, criteria**] )
DFirst 和 DLast 函式具有以下參數:
| 引數 | 描述 |
|---|---|
| expr | 必要。 一個用來識別你想從哪個欄位找到第一個或最後一個值的表達式。 它可以是用來識別資料表或查詢欄位的字串表達式,或是對該欄位資料進行計算的表達式。 在 expr 中,你可以包含欄位名稱、表單上的控制項、常數或函式。 如果 expr 包含函式,可以是內建或使用者定義的,但不能是其他網域聚合或 SQL 聚合函式。 |
| domain | 必要。 識別構成範圍之記錄集的字串運算式。 |
| criteria | 可省略。 字串表達式用來限制 DFirst 或 DLast 函式所涵蓋的資料範圍。 例如, criteria 通常等同於 SQL 表達式中的 WHERE 子句,但沒有 WHERE 這個詞。 若未包含 標準 , DFirst 與 DLast 函式會對整個領域評估 expr 。 任何包含在 條件 中的欄位也必須是 領域中的欄位;否則, DFirst 和 DLast 函式會回傳 Null。 |
註解
注意
如果你想回傳一組紀錄 (網域) 的第一筆或最後一筆紀錄,你應該建立一個排序為升序或降序的查詢,並將 TopValues 屬性設為 1。 欲了解更多資訊,請參閱 TopValues 物業主題。 從 Visual Basic for Applications (VBA) 模組中,你也可以建立 ADO 記錄集 物件,並使用 MoveFirst 或 MoveLast 方法回傳一組記錄中的第一個或最後一個記錄。
範例
| 運算式 | 結果 |
|---|---|
| 選擇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」欄顯示結果。 |