Za pomocą funkcji DFirst i DLast możesz zwrócić losowy rekord z określonego pola w tabeli lub zapytaniu, gdy po prostu potrzebujesz dowolnej wartości z tego pola. Funkcje DFirst i DLast można używać w makro, module, wyrażeniu zapytania lub kontrolka obliczeniowa w formularzu lub raporcie.
Składnia
DFirst ( wyr ., domena [, kryteria] )
DLast ( wyr ., domena [, kryteria] )
Funkcje DFirst i DLast mają następujące argumenty:
Argument |
Opis |
wyrażenie |
Argument wymagany. Wyrażenie identyfikujące pole, z którego chcesz znaleźć pierwszą lub ostatnią wartość. Może to być wyrażenie tekstowe identyfikująca pole w tabeli lub zapytaniu albo wyrażenie wykonujące obliczenia na danych w tym polu. W polu expr można dołączyć 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 ciągu służące do ograniczania zakresu danych, dla którego wykonywana jest funkcja DFirst lub DLast . Na przykład kryteria są często równoważne klauzuli WHERE w wyrażeniu SQL bez wyrazu WHERE. Jeśli argument kryteria zostanie pominięty, funkcje DFirst i DLastbędą oceniać 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. |
Uwagi
Uwaga: Jeśli chcesz zwrócić pierwszy lub ostatni rekord w zestawie rekordów ( domena ), utwórz zapytanie posortowane jako rosnąco lub malejąco i ustaw właściwość TopValues (NajwyższeWartości ) na 1. Aby uzyskać więcej informacji, zobacz temat właściwości TopValues . Na podstawie modułu Visual Basic for Applications (VBA) można również utworzyć obiekt Recordset modelu ADO i użyć metody MoveFirst lub MoveLast w celu zwrócenia pierwszego lub ostatniego rekordu w zbiorze rekordów.
Przykłady
Expression |
Wyniki |
SELECT DFirst("DateofSale","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); |
Zwraca wartość losową z pola "DateofSale" tabeli "SprzedażProduktu". Jeśli tabela ma "klucz podstawowy", zwraca wartość "FIRST" "DateofSale" na podstawie kolejności rosnącej klucza podstawowego. |
SELECT DLast("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales"); |
Zwraca wartość losową z pola "DateofSale" tabeli "SprzedażProduktu". Jeśli tabela ma "klucz podstawowy", zwraca wartość "LAST" "DateofSale" na podstawie kolejności rosnącej klucza podstawowego. zwraca pierwszy identyfikator produktu z tabeli "ProductSales", gdzie wartość "Rabat" 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 wartość Last "ProductID" z tabeli "ProductSales", gdzie wartość "Rabat" wynosi "0" i wyświetla wynik w kolumnie "LastDis_ID". |