DFirst, DLast (Funktionen)

Gilt für
Access für Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Sie können die Funktionen DFirst und DLast verwenden, um einen zufälligen Datensatz aus einem bestimmten Feld in einer Tabelle oder Abfrage zurückzugeben, wenn Sie einfach einen Beliebigen Wert aus diesem Feld benötigen. Verwenden Sie die Funktionen DFirst und DLast in einem Makro, einem Modul, einem Abfrageausdruck oder einem berechneten Steuerelement in einem Formular oder Bericht.

Syntax

DFirst( ** expr, domain [, criteria**] )

DLast( ** expr, domain [, criteria**] )

Die Funktionen DFirst und DLast weisen die folgenden Argumente auf:

Argument Beschreibung
Ausdruck Erforderlich. Ein Ausdruck, der das Feld identifiziert, für das der erste oder letzte Wert ermittelt werden soll. Dies kann entweder ein Zeichenfolgenausdruck sein, der ein Feld in einer Tabelle oder Abfrage identifiziert, oder ein Ausdruck, der eine Berechnung für Daten in diesem Feld ausführt. In Expr können Sie den Namen eines Felds in einer Tabelle, ein Steuerelement in einem Formular, eine Konstante oder eine Funktion einschließen. Wenn expr eine Funktion enthält, kann sie entweder integriert oder benutzerdefinierte sein, aber keine andere Domänenaggregat- oder SQL-Aggregatfunktion.
Domäne Erforderlich. Ein Zeichenfolgenausdruck, der die Gruppe von Datensätzen angibt, die die Domäne bilden.
Kriterien Optional. Ein Zeichenfolgenausdruck, der verwendet wird, um den Datenbereich einzuschränken, für den die DFirst - oder DLast-Funktion ausgeführt wird. Kriterien entsprechen z . B. häufig der WHERE-Klausel in einem SQL-Ausdruck ohne das Wort WHERE. Wenn Kriterien nicht angegeben werden, werten die Funktionen DFirst und DLastexpr für die gesamte Domäne aus. Jedes Feld, das in Kriterien enthalten ist, muss ebenfalls ein Feld in der Domäne sein; Andernfalls geben die Funktionen DFirst und DLast einen Null-Wert zurück.

Hinweise

Hinweis

Wenn Sie den ersten oder letzten Datensatz in einer Gruppe von Datensätzen (einer Domäne) zurückgeben möchten, sollten Sie eine Abfrage erstellen, die als aufsteigend oder absteigend sortiert ist, und die TopValues-Eigenschaft auf 1 festlegen. Weitere Informationen finden Sie im Thema zur TopValues-Eigenschaft . In einem VBA-Modul (Visual Basic for Applications) können Sie auch ein ADO Recordset-Objekt erstellen und die MoveFirst- oder MoveLast-Methode verwenden, um den ersten oder letzten Datensatz in einer Gruppe von Datensätzen zurückzugeben.

Beispiele

Ausdruck Ergebnisse
SELECT DFirst("DateofSale","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale";"ProductSales"); Gibt den Zufallswert aus dem Feld "DateofSale" der Tabelle "ProductSales" zurück. Wenn die Tabelle über einen "Primärschlüssel" verfügt, wird der "FIRST"-Wert von "DateofSale" basierend auf der aufsteigenden Reihenfolge des Primärschlüssels zurückgegeben.
SELECT DLast("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale";"ProductSales"); Gibt den Zufallswert aus dem Feld "DateofSale" der Tabelle "ProductSales" zurück. Wenn die Tabelle über einen "Primärschlüssel" verfügt, wird der "LAST"-Wert von "DateofSale" basierend auf der aufsteigenden Reihenfolge des Primärschlüssels zurückgegeben. gibt die erste "ProductID" aus der Tabelle "ProductSales" zurück, in der der Wert "Discount" "0" ist, und zeigt das Ergebnis in der Spalte "FirstDis_ID" an.
SELECT DLast("ProductID","ProductSales","Discount=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("ProductID","ProductSales","Discount=0"); Gibt die letzte "ProductID" aus der Tabelle "ProductSales" zurück, in der der Wert "Discount" auf "0" festgelegt ist, und zeigt das Ergebnis in der Spalte "LastDis_ID" an.