DFirst, DLast, functies

Van toepassing op
Access voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

U kunt de functies DFirst en DLast gebruiken om een willekeurige record op te vragen uit een bepaald veld in een tabel of query wanneer elke waarde uit dat veld volstaat. Gebruik de functies DFirst en DLast in een macro, module, query-expressie of berekend besturingselement in een formulier of rapport.

Syntaxis

DFirst( ** expr, domein [, criteria**] )

DLast( ** expr, domein [, criteria**] )

De functies DFirst en DLast hebben de volgende argumenten:

Argument Beschrijving
expr Vereist. Een expressie die het veld aangeeft waaruit u de eerste of laatste waarde wilt opvragen. Dit kan een tekenreeksexpressie zijn waarmee een veld in een tabel of query wordt aangeduid of een expressie die een berekening uitvoert op de gegevens in dat veld. In expr kunt u de naam van een veld in een tabel, een besturingselement van een formulier, een constante of een functie opnemen. Als expr een functie bevat, kan dit een ingebouwde functie of een door een gebruiker gedefinieerde functie zijn, maar niet nog een statistische domein- of SQL-functie.
domein Vereist. Een tekenreeksexpressie waarmee de set records wordt aangegeven waaruit het domein bestaat.
criteria Optioneel. Een tekenreeksexpressie die wordt gebruikt om het gegevensbereik te beperken waarop de functie DFirst of DLast wordt uitgevoerd. Criteria zijn bijvoorbeeld vaak gelijk aan de WHERE-component in een SQL-expressie, zonder het woord WHERE. Als u criteria weglaat, wordt expr door de functies DFirst en DLast geƫvalueerd voor het hele domein. Elk veld dat is opgenomen in criteria moet ook een veld in domein zijn; Anders retourneren de functies DFirst en DLast een Null.

Opmerkingen

Opmerking

Als u de eerste of laatste record in een set records (een domein) wilt opvragen, moet u een query maken die in oplopende of aflopende volgorde wordt gesorteerd en de eigenschap TopValues instellen op 1. Zie voor meer informatie het onderwerp TopValues, eigenschap . In een VBA-module (Visual Basic for Applications) kunt u ook een ADO Recordset-object maken en via de methode MoveFirst of MoveLast de eerste of laatste record in een set records opvragen.

Voorbeelden

Expressie Resultaten
SELECT DFirst("Verkoopdatum","Productverkopen") AS Expr1 FROM Productverkopen GROUP BY DFirst("Verkoopdatum","Productverkopen"); Retourneert de willekeurige waarde uit het veld 'DateofSale' van de tabel 'ProductSales'. Als de tabel een 'primaire sleutel' heeft, wordt de 'FIRST'-waarde van de 'DateofSale' geretourneerd op basis van oplopende volgorde van de primaire sleutel.
SELECT DLast("Verkoopdatum","Productverkopen") AS FirstDis_ID FROM Productverkopen GROUP BY DLast("Verkoopdatum","Productverkopen"); Retourneert de willekeurige waarde uit het veld 'DateofSale' van de tabel 'ProductSales'. Als de tabel een 'primaire sleutel' heeft, wordt de waarde 'LAST' van de 'DateofSale' als resultaat gegeven op basis van oplopende volgorde van de primaire sleutel. retourneert de eerste 'ProductID' uit de tabel 'ProductSales' waarbij de waarde 'Korting' '0' is en geeft het resultaat weer in de kolom 'FirstDis_ID.
SELECT DLast("ProductID","ProductVerkoop","Korting=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("ProductID","ProductSales","Discount=0"); Retourneert de laatste 'ProductID' uit de tabel 'ProductSales' waarbij de waarde 'Korting' '0' is en geeft het resultaat weer in de kolom 'LastDis_ID'.