Funcțiile DFirst, DLast

Se aplică la
Access pentru Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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-o macrocomandă, modul, expresie de interogare sau control calculat dintr-un formular sau raport.

Sintaxă

DFirst( ** expr, 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 care identifică un câmp dintr-un tabel sau 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 o 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".