Sie können die Funktionen DFirst und DomAst 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 DomAst in einem Makro, Modul, Abfrageausdruck oder 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. Hierbei kann es sich entweder um einen Zeichenfolgenausdruck handeln, der ein Feld in einer Tabelle oder Abfrage identifiziert, oder um einen Ausdruck, der eine Berechnung der Daten in diesem Feld durchführt. In Ausdruck können Sie den Namen eines Felds in einer Tabelle, eines Steuerelements in einem Formular, einer Konstante oder einer Funktion einfügen. Wenn Ausdr eine Funktion enthält, kann sie entweder integriert oder benutzerdefiniert 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 zum Einschränken des Datenbereichs verwendet wird, für den die Funktion DFirst oder DLast ausgeführt wird. Kriterien entsprechen z. B. häufig der WHERE-Klausel in einem SQL-Ausdruck ohne das Wort WHERE. Wenn Kriterien weggelassen werden, werten die Funktionen DFirst und DomAstden Ausdruck für die gesamte Domäne aus. Jedes Feld, das in den Kriterien enthalten ist, muss auch ein Feld in der Domäne sein. Andernfalls geben die Funktionen DFirst und Domast einen Nullwert 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 TopValues-Eigenschaft . Über ein Visual Basic for Applications (VBA)-Modul 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 zufälligen Wert aus dem Feld "Verkaufsdatum" der Tabelle "Artikelumsatz" 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 zufälligen Wert aus dem Feld "Verkaufsdatum" der Tabelle "Artikelumsatz" zurück. Wenn die Tabelle über einen "Primärschlüssel" verfügt, wird der Wert "LAST" des "DateofSale" in aufsteigender Reihenfolge des Primärschlüssels zurückgegeben. gibt die erste "ProductID" aus der Tabelle "ProductSales" zurück, in der der Wert für "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 für "Discount" "0" ist, und zeigt das Ergebnis in der Spalte "LastDis_ID" an. |