Pomocí funkcí DFirst a DLast můžete vrátit náhodný záznam z určitého pole v tabulce nebo dotazu, pokud jednoduše potřebujete libovolnou hodnotu z tohoto pole. Funkce DFirst a DLast můžete použít v makru, modulu, výrazu dotazu nebo počítaném ovládacím prvku ve formuláři nebo sestavě.
Syntaxe
DFirst( ** výraz, doména [, kritéria**] )
DLast( ** výraz, doména [, kritéria**] )
Funkce DFirst a DLast mají následující argumenty:
| Argument | Popis |
|---|---|
| výraz | Povinný argument. Výraz určující pole, ve kterém chcete najít první nebo poslední hodnotu. Může se jednat buď o řetězcový výraz identifikující pole v tabulce nebo dotazu, nebo o výraz, který provádí výpočet s daty v tomto poli. Výraz může obsahovat název pole tabulky, ovládacího prvku ve formuláři, konstanty nebo funkce. Pokud 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, který slouží k omezení oblasti dat, u které bude provedena funkce DFirst nebo DLast . Kritérium je například často ekvivalentem klauzule WHERE ve výrazu SQL bez slova WHERE. Pokud kritérium vynecháte, funkce DFirst a DLast vyhodnotí výraz pro celou doménu. Každé pole, které je zahrnuto v kritériu , musí být také polem v doméně; v opačném případě vrátí funkce DFirst a DLast hodnotu Null. |
Poznámky
Poznámka
Pokud chcete vrátit první nebo poslední záznam v sadě záznamů (doméně), měli byste vytvořit dotaz seřazený vzestupně nebo sestupně a nastavit vlastnost TopValues na hodnotu 1. Další informace najdete v tématu o vlastnosti TopValues . Z modulu jazyk Visual Basic for Application (VBA) můžete také vytvořit objekt sady záznamů rozhraní ADO a pomocí metody MoveFirst nebo MoveLast vrátit první nebo poslední záznam 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 data prodeje na základě vzestupného pořadí primárního klíče. Vrátí první IDProduktu z tabulky ProdejVýrobku, kde hodnota Sleva je 0, a výsledek zobrazí ve sloupci FirstDis_ID. |
| SELECT DLast("IDProduktu";"ProdejProduktu";"Sleva=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("IDProduktu";"ProductSales";"Discount=0"); | Vrátí poslední IDProduktu z tabulky ProdejVýrobku, kde hodnota Sleva je 0, a výsledek zobrazí ve sloupci LastDis_ID. |