Du kan använda funktionerna DFörsta och DSista för att returnera en slumpmässig post från ett visst fält i en tabell eller fråga när du bara behöver vilket värde som helst från det fältet. Använd funktionerna DFörsta och DSista i ett makro, en modul, ett frågeuttryck eller en beräknad kontroll i ett formulär eller en rapport.
Syntax
DFörst( ** uttryck, domän [, villkor**] )
DLast( ** uttryck, domän [, villkor**] )
Funktionerna DFörsta och DSista har följande argument:
| Argument | Beskrivning |
|---|---|
| uttr | Obligatoriskt. Ett uttryck där du identifierar det fält från vilket du vill returnera det första eller sista värdet. Det kan antingen vara ett stränguttryck som identifierar ett fält i en tabell eller fråga, eller ett uttryck som utför en beräkning på data i fältet. I uttr kan du ta med namnet på ett fält i en tabell, en kontroll i ett formulär, en konstant eller en funktion. Om uttr innehåller en funktion kan den vara antingen inbyggd eller användardefinierad, men inte någon annan mängdfunktion för domäner eller en SQL-mängdfunktion. |
| domän | Obligatoriskt. Ett stränguttryck där du identifierar den uppsättning poster som utgör domänen. |
| villkor | Valfritt. Ett stränguttryck som används för att begränsa det dataintervall som DFörsta eller DSista körs på. Villkor motsvarar till exempel ofta WHERE-satsen i ett SQL-uttryck, utan ordet WHERE. Om villkor utelämnas utvärderas uttr i funktionerna DFörsta och DSista mot hela domänen. Alla fält som ingår i villkor måste också vara ett fält i domän. Annars returnerar funktionerna DFörsta och DSista ett null-värde. |
Kommentarer
Obs
Om du vill returnera den första eller sista posten i en uppsättning poster (en domän) bör du skapa en fråga sorterad som antingen stigande eller fallande och ange egenskapen TopValues till 1. Mer information finns i avsnittet om egenskapen AntalVärden. Från en VBA-modul (Visual Basic for Applications) kan du också skapa ett ADO-objektet RecordSet och använda metoden MoveFirst eller MoveLast för att returnera den första eller sista posten i en uppsättning poster.
Exempel
| Uttryck | Resultat |
|---|---|
| SELECT DFirst("DateofSale","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); | Returnerar slumpvärdet från fältet "Försäljningsdatum" i tabellen "Produktförsäljning". Om tabellen har en "primärnyckel" returneras värdet "FÖRSTA" för "Försäljningsdatum" baserat på stigande ordning för primärnyckeln. |
| SELECT DSist("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales"); | Returnerar slumpvärdet från fältet "Försäljningsdatum" i tabellen "Produktförsäljning". Om tabellen har en "primärnyckel" returneras "LAST"-värdet för "Försäljningsdatum" baserat på stigande ordning för primärnyckeln. returnerar det första "Produktnr" från tabellen "Produktförsäljning" där värdet "Rabatt" är "0" och visar resultatet i kolumnen "FirstDis_ID". |
| SELECT DSast("ProductID","ProductSales","Discount=0") AS LastDis_ID FROM ProductSales GROUP BY DList("ProductID","ProductSales","Discount=0"); | Returnerar det sista "Produktnr" från tabellen "Produktförsäljning" där värdet "Rabatt" är "0" och visar resultatet i kolumnen "LastDis_ID". |