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örst 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( ** uttr, domän [, villkor**] )

DSista( ** uttr, 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 vara antingen 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 det 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 SQL-mängdfunktioner.
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 villkorutelämnas utvärderas uttr mot hela domänen av funktionerna DFörst och DSista. Alla fält som ingår i villkor måste också vara ett fält i domänen. Annars returnerar funktionerna DFörst och DSista null.

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 Uttr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); Returnerar det slumpmässiga värdet från fältet "DateofSale" i tabellen "Försäljning av produkter". Om tabellen har en "primärnyckel" returneras värdet "FIRST" för "DateofSale" baserat på stigande ordning på primärnyckeln.
SELECT DLast("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales"); Returnerar det slumpmässiga värdet från fältet "DateofSale" i tabellen "Försäljning av produkter". Om tabellen har en "primärnyckel" returneras värdet "SISTA" för "DateofSale" baserat på stigande ordning på primärnyckeln. returnerar det första "Produktnr" från tabellen "Försäljning av produkter" där värdet "Rabatt" är "0" och visar resultatet i kolumnen "FirstDis_ID".
SELECT DLast("ProductID","ProductSales","Discount=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("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".