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'. |