Puteți utiliza funcțiile DFirst și DLast pentru a returna o înregistrare aleatoare dintr-un anumit câmp dintr-un tabel sau dintr-o interogare, atunci când aveți nevoie pur și simplu de orice valoare din acel câmp. Utilizați funcțiile DFirst și DLast într-un macrocomandă, modul, expresie de interogare sau control calculat într-un formular sau raport.
Sintaxă
DFirst ( expresie , domeniu [, criterii] )
DLast ( expresie , 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. Poate fi o expresie șir identificarea unui câmp dintr-un tabel sau dintr-o interogare sau o expresie care efectuează un calcul pentru datele din acel câmp. În 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 efectuează funcția DFirst sau DLast . De exemplu, criteriile sunt adesea echivalente cu clauza WHERE într-o expresie SQL, fără cuvântul WHERE. Dacă se omit criterii , funcțiile DFirst și DLast evaluează expr în raport cu întregul domeniu. Orice câmp care este inclus în criterii trebuie să fie, de asemenea, un câmp în domeniu; în caz contrar, funcțiile DFirst și DLast returnează un Null. |
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 proprietății TopValues . Dintr-un modul Visual Basic for Applications (VBA), puteți, de asemenea, să creați un obiect ADO Recordset ș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("DateofSale","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); |
Returnează valoarea aleatoare din câmpul "DateofSale" al tabelului "ProduseVântă". Dacă tabelul are o "cheie primară", va returna valoarea "FIRST" a "DateofSale" pe baza ordinii ascendente a cheii primare. |
SELECT DLast("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales"); |
Returnează valoarea aleatoare din câmpul "DateofSale" al tabelului "ProduseVântă". Dacă tabelul are o "cheie primară", va returna valoarea "LAST" a "DateofSale" pe baza ordinii ascendente a cheii primare. returnează primul "IDProdus" din tabelul "ProductSales" unde valoarea "Discount" este "0" și afișează rezultatul în coloana "FirstDis_ID". |
SELECT DLast("PRODUCTID","ProductSales","Discount=0") CA LastDis_ID FROM ProductSales GROUP BY DLast("ProductID","ProductSales","Discount=0"); |
Returnează ultimul "IDProdus" din tabelul "ProductSales" unde valoarea "Discount" este "0" și afișează rezultatul în coloana "LastDis_ID". |