Funkce DFirst a DLast můžete použít k vrácení náhodného záznamu z konkrétního pole v tabulce nebo dotazu, když jednoduše potřebujete libovolnou hodnotu z daného pole. Funkce DFirst a DLast použijte ve formuláři nebo sestavě Makro, modulu, výrazu dotazu nebo Vypočítaný ovládací prvek.
Syntaxe
DFirst ( výraz , doména [, kritéria] )
DLast ( výraz , doména [, kritéria] )
Funkce DFirst a DLast mají tyto argumenty:
Argument |
Popis |
výraz |
Povinný argument. Výraz, který identifikuje pole, ze kterého chcete najít první nebo poslední hodnotu. Může to být buď Řetězcový výraz identifikující pole v tabulce nebo dotazu, nebo výraz, který provádí výpočet dat v daném poli. V příkladu expr můžete zahrnout název pole v tabulce, ovládací prvek ve formuláři, konstantu nebo funkci. Pokud argument výraz obsahuje funkci, může jít o předdefinovanou funkci nebo funkci definovanou uživatelem, ale nikoli o jinou doménovou agregační funkci nebo agregační funkci SQL. |
doména |
Povinný argument. Řetězcový výraz identifikuje sadu záznamů tvořících doménu. |
kritéria |
Nepovinný argument. Řetězcový výraz používaný k omezení rozsahu dat, na kterém se provádí funkce DFirst nebo DLast . Například kritéria jsou často ekvivalentní klauzuli WHERE ve výrazu SQL bez slova WHERE. Pokud jsou kritéria vynechána, funkce DFirst a DLast vyhodnocují výraz pro celou doménu. Každé pole, které je součástí kritérií , musí být také polem v doméně; V opačném případě funkce DFirst a DLast vrátí hodnotu Null. |
Poznámky
Poznámka: Pokud chcete vrátit první nebo poslední záznam v sadě záznamů ( Doména ), měli byste vytvořit dotaz seřazený vzestupně nebo sestupně a nastavit vlastnost TopValues na 1. Další informace najdete v tématu vlastnosti TopValues . Z modulu jazyka Visual Basic for Applications (VBA) můžete také vytvořit objekt ADO Recordset a použít metodu MoveFirst nebo MoveLast k vrácení prvního nebo posledního záznamu v sadě záznamů.
Příklady
Výraz |
Výsledky |
SELECT DFirst("DateofSale";"ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale";"ProductSales"); |
Vrátí náhodnou hodnotu z pole DateofSale tabulky ProductSales. Pokud tabulka obsahuje "primární klíč", vrátí hodnotu "FIRST" hodnoty "DateofSale" na základě vzestupného pořadí primárního klíče. |
SELECT DLast("DateofSale";"ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale";"ProductSales"); |
Vrátí náhodnou hodnotu z pole DateofSale tabulky ProductSales. Pokud tabulka obsahuje "primární klíč", vrátí hodnotu "LAST" hodnoty "DateofSale" na základě vzestupného pořadí primárního klíče. vrátí hodnotu First ProductID z tabulky ProductSales, kde hodnota Discount je 0, a zobrazí výsledek ve sloupci "FirstDis_ID". |
SELECT DLast("ProductID";"ProductSales";"Discount=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("ProductID";"ProductSales";"Discount=0"); |
Vrátí hodnotu Last "ProductID" z tabulky "ProductSales", kde hodnota "Discount" je "0", a zobrazí výsledek ve sloupci "LastDis_ID". |