Funkcje DFirst, DLast

Dotyczy
Access dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Za pomocą funkcji DFirst i DLast można zwrócić losowy rekord z określonego pola tabeli lub zapytania, gdy jest potrzebna dowolna wartość z tego pola. Funkcji DFirst i DLast można używać w makrach, modułach, wyrażeniach zapytań lub kontrolkach obliczeniowych w formularzu lub raporcie.

Składnia

DFirst(** wyrażenie, domena [, kryteria**] )

DLast(** wyrażenie, domena [, kryteria**] )

Funkcje DFirst i DLast występują w następujących argumentach:

Argumenty argumentów Opis
wyrażenie Argument wymagany. Wyrażenie identyfikujące pole, w którym ma zostać wynaleziona pierwsza lub ostatnia wartość. Może to być wyrażenie tekstowe identyfikujące pole w tabeli lub zapytaniu albo wyrażenie wykonujące obliczenia na danych w tym polu. W wyrażeniu można zawrzeć nazwę pola w tabeli, kontrolkę w formularzu, stałą lub funkcję. Jeśli wyrażenie zawiera funkcję, może to być funkcja wbudowana lub zdefiniowana przez użytkownika, ale z wyłączeniem funkcji agregującej domeny i funkcji agregującej języka SQL.
domena Argument wymagany. Wyrażenie tekstowe identyfikujące zestaw rekordów stanowiący domenę.
kryteria Argument opcjonalny. Wyrażenie tekstowe używane w celu ograniczenia zakresu danych, dla którego wykonywana jest funkcja DFirst lub DLast . Na przykład kryteria są często takie same, jak klauzula WHERE w wyrażeniu SQL, z pominięciem wyrazu WHERE. Jeśli kryteria zostaną pominięte, funkcje DFirst i DLast ocenią wyrażenie względem całej domeny. Każde pole zawarte w kryteriach musi być również polem w domenie; w przeciwnym razie funkcje DFirst i DLast zwracają wartość Null.

Spostrzeżenia

Uwaga

Aby zwrócić pierwszy lub ostatni rekord w zestawie rekordów (domenie), należy utworzyć zapytanie posortowane rosnąco lub malejąco i ustawić właściwość TopValues (NajwyższeWartości) na wartość 1. Aby uzyskać więcej informacji, zobacz temat właściwości NajwyższeWartości . Z poziomu modułu języka Visual Basic for Applications (VBA) można również utworzyć obiekt zestawu rekordów ADO i użyć metody MoveFirst lub MoveLast w celu zwrócenia pierwszego lub ostatniego rekordu w zestawie rekordów.

Przykłady

Wyrażenie Rezultat
SELECT DFirst("DateofSale","ProductSales") AS Wyr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); Zwraca losową wartość z pola "DateofSale" z tabeli "ProductSales". Jeśli tabela ma klucz podstawowy, zwróci wartość "FIRST" z "DateofSale" zgodnie z rosnącą kolejnością klucza podstawowego.
SELECT DLast("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales"); Zwraca losową wartość z pola "DateofSale" z tabeli "ProductSales". Jeśli tabela ma klucz podstawowy, zwróci wartość "LAST" z tabeli "DateofSale" zgodnie z rosnącą kolejnością klucza podstawowego. zwraca pierwszy "ProductID" z tabeli "ProductSales", gdzie wartość "Discount" wynosi "0", i wyświetla wynik w kolumnie "FirstDis_ID".
SELECT DLast("ProductID","ProductSales","Discount=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("ProductID","ProductSales","Discount=0"); Zwraca ostatni parametr "ProductID" z tabeli "ProductSales", gdzie wartość "Discount" wynosi "0", a wynik wyświetla w kolumnie "LastDis_ID".