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 die een veld in een tabel of query identificeert, of een expressie waarmee een berekening wordt uitgevoerd op gegevens in dat veld. In expr kunt u de naam van een veld in een tabel, een besturingselement op een formulier, een constante of een functie opnemen. Als expr een functie bevat, kan deze zijn ingebouwd of door de gebruiker gedefinieerd, maar niet een andere domeinaggregatie of statistische 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 bereik van gegevens te beperken waarop de functie DFirst of DLast wordt uitgevoerd. Criteria is bijvoorbeeld vaak gelijk aan de WHERE-component in een SQL-expressie, zonder het woord WHERE. Als criteria worden weggelaten, evalueren de functies DFirst en DLastexpr op basis van het hele domein. Elk veld dat is opgenomen in criteria , moet ook een veld in het 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 retourneren, moet u een query maken die is gesorteerd als oplopend of aflopend 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("DateofSale","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); | Retourneert de willekeurige waarde uit het veld 'DateofSale' van de tabel 'ProductSales'. Als de tabel een 'primaire sleutel' heeft, wordt de waarde 'FIRST' van de 'DateofSale' geretourneerd op basis van een oplopende volgorde van de primaire sleutel. |
| SELECT DLast("DateofSale";"ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale";"ProductSales"); | 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' geretourneerd op basis van een oplopende volgorde van de primaire sleutel. retourneert de eerste 'ProductID' uit de tabel 'ProductVerkoop' waarbij de waarde 'Korting' '0' is en het resultaat wordt weergegeven in de kolom 'FirstDis_ID'. |
| SELECT DLast("ProductID","ProductSales","Discount=0") AS LastDis_ID FROM ProductVerkoop GROUP BY DLast("ProductID","ProductSales","Discount=0"); | Retourneert de laatste 'ProductID' uit de tabel 'ProductVerkoop' waarbij de waarde 'Korting' '0' is en het resultaat wordt weergegeven in de kolom 'LastDis_ID'. |