Funktionerna DFörsta och DSista

Gäller för
Access för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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