Puteți utiliza funcțiile DFirst și DLast pentru a returna o înregistrare aleatoare dintr-un anumit câmp dintr-un tabel sau o interogare, atunci când pur și simplu aveți nevoie de orice valoare din acel câmp. Utilizați funcțiile DFirst și DLast într-o macrocomandă, un modul, o expresie de interogare sau un control calculat dintr-un formular sau raport.
Sintaxă
DFirst( ** expr, domeniu [, criterii**] )
DLast( ** expr, domeniu [, criterii**] )
Funcțiile DFirst și DLast au următoarele argumente:
| Argument | Descriere |
|---|---|
| expr | Obligatoriu. O expresie care identifică câmpul din care doriți să găsiți prima sau ultima valoare. Aceasta poate fi o expresie șir care identifică un câmp dintr-un tabel sau interogare sau o expresie care efectuează un calcul pe baza datelor din acel câmp. In expr, puteți include numele unui câmp dintr-un tabel, un control dintr-un formular, o constantă sau o funcție. Dacă expr include o funcție, aceasta poate fi predefinită sau definită de utilizator, dar nu un alt agregat de domeniu sau funcție agregată SQL. |
| domeniu | Obligatoriu. O expresie șir care identifică setul de înregistrări ce constituie domeniul. |
| criterii | Opțional. O expresie șir utilizată pentru a restricționa zona de date pe care se aplică funcția DFirst sau DLast . De exemplu, criterii adesea este echivalentă cu clauza WHERE într-o expresie SQL, fără cuvântul WHERE. În cazul în care criterii este omis, funcțiile DFirst și DLast evaluează expr față de întregul domeniu. Orice câmp care este inclus în criterii trebuie să fie, de asemenea, un câmp în domeniu; altfel, funcțiile DFirst și DLast returnează un Nul. |
Observații
Notă
Dacă doriți să returnați prima sau ultima înregistrare dintr-un set de înregistrări (un domeniu), trebuie să creați o interogare sortată ca ascendentă sau descendentă și să setați proprietatea TopValues la 1. Pentru mai multe informații, consultați subiectul despre proprietatea TopValues . Dintr-un modul Visual Basic for Applications (VBA), puteți, de asemenea, să creați un obiect set de înregistrări ADO și să utilizați metoda MoveFirst sau MoveLast pentru a returna prima sau ultima înregistrare dintr-un set de înregistrări.
Exemple
| expresie | Rezultatele |
|---|---|
| SELECT DFirst("DateofSales","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); | Returnează valoarea aleatoare din câmpul "DataDeVânzare" din tabelul "VânzăriProduse". Dacă tabelul are o "cheie primară", va returna valoarea "FIRST" a "DateofSale" bazată pe ordinea ascendentă a cheii primare. |
| SELECT DLast("DateofSales","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales"); | Returnează valoarea aleatoare din câmpul "DataDeVânzare" din tabelul "VânzăriProduse". Dacă tabelul are o "cheie primară", va returna valoarea "LAST" a "DateofSale" bazată pe ordinea ascendentă a cheii primare. returnează primul "ProductID" din tabelul "ProductSales" unde valoarea "Discount" este "0" și afișează rezultatul în coloana "FirstDis_ID". |
| SELECT DLast("ProductID","ProductSales","Discount=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("ProductID","ProductSales","Discount=0"); | Returnează ultimul "ProductID" din tabelul "ProductSales" unde valoarea "Discount" este "0" și afișează rezultatul în coloana "LastDis_ID". |