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