DMin, DMax (Funktionen)

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

Sie können die Funktionen DMin und DMax verwenden, um die Minimal- und Höchstwerte in einer angegebenen Gruppe von Datensätzen (einer Domäne) zu bestimmen. Verwenden Sie die Funktionen DMin und DMax in einem VBA-Modul (Visual Basic for Applications), einem Makro, einem Abfrageausdruck oder einem berechneten Steuerelement.

Sie können die Funktionen DomMin und DomMax beispielsweise in berechneten Steuerelementen in einem Bericht verwenden, um jeweils die kleinsten und größten Bestellmengen für einen bestimmten Kunden anzuzeigen. Sie können die DomMin-Funktion auch in einem Abfrageausdruck verwenden, um alle Bestellungen anzeigen, bei denen ein Rabatt gewährt wurde, der den kleinstmöglichen Rabatt übersteigt.

Syntax

DMin(expr, domain [, criteria] )

DMax(expr, domain [, criteria] )

Die Funktionen DomMin und DomMax weisen die folgenden Argumente auf:

Argument Beschreibung
Ausdruck Erforderlich. Ein Ausdruck, der das Feld identifiziert, für das der Mindest- oder Höchstwert ermittelt werden soll. Dabei kann es sich um einen Zeichenfolgenausdruck handeln, der ein Feld in einer Tabelle oder Abfrage identifiziert, oder es kann sich um einen Ausdruck handeln, 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. Es kann sich um einen Tabellennamen oder um einen Abfragenamen für eine Abfrage handeln, die keinen Parameter erfordert.
Kriterien Optional. Ein Zeichenfolgenausdruck, der verwendet wird, um den Datenbereich einzuschränken, für den die DMin - oder DMax-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 DMin und DMaxexpr für die gesamte Domäne aus. Jedes Feld, das in Kriterien enthalten ist, muss auch ein Feld in der Domäne sein, andernfalls gibt die Funktionen DMin und DMax einen Null-Wert zurück.

Hinweise

Die Funktionen DMin und DMax geben die Minimal- und Höchstwerte zurück, die die Kriterien erfüllen. Wenn expr numerische Daten identifiziert, geben die Funktionen DMin und DMax numerische Werte zurück. Wenn Expr Zeichenfolgendaten identifiziert, geben sie die erste oder letzte Zeichenfolge alphabetisch zurück.

Die Funktionen DMin und DMax ignorieren Null-Werte im Feld, auf das von expr verwiesen wird. Wenn jedoch kein Datensatz die Kriterien erfüllt oder die Domäne keine Datensätze enthält, geben die Funktionen DMin und DMax einen Null-Wert zurück.

Unabhängig davon, ob Sie die Funktion DMin oder DMax in einem Makro, einem Modul, einem Abfrageausdruck oder einem berechneten Steuerelement verwenden, müssen Sie das Criteria-Argument sorgfältig erstellen, um sicherzustellen, dass es ordnungsgemäß ausgewertet wird.

Sie können die Funktion DMin und DMax verwenden, um Kriterien in der Zeile Kriterien einer Abfrage, in einem Berechneten Feldausdruck in einer Abfrage oder in der Zeile Aktualisieren auf einer Updateabfrage anzugeben.

Hinweis

Sie können die Funktionen DMin und DMaxoder min undmax in einem berechneten Feldausdruck einer Summenabfrage verwenden. Wenn Sie die Funktion DomMin oder DomMax verwenden, werden die Werte vor dem Gruppieren der Daten ausgewertet. Beim Verwenden der Funktion Min oder Max werden die Daten zunächst gruppiert, bevor die Werte im Feldausdruck ausgewertet werden.

Verwenden Sie die Funktion DomMin oder DomMax in einem berechneten Steuerelement, wenn Sie Kriterien zum Beschränken des Datenbereichs angeben möchten, für den die Funktion ausgeführt wird. Legen Sie für die Steuerelementinhalt-Eigenschaft eines Textfelds beispielsweise den folgenden Ausdruck fest, um die maximalen Frachtkosten für eine Lieferung nach Kalifornien anzuzeigen:

=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Wenn Sie einfach den Minimal- oder Höchstwert aller Datensätze in der Domäne ermitteln möchten, verwenden Sie die Funktion Min oder Max .

Sie können die DomMin- oder DomMax-Funktion in einem Modul oder Makro oder in einem berechneten Steuerelement in einem Formular verwenden, wenn sich das anzuzeigende Feld nicht in der Datensatzquelle befindet, auf der das Formular basiert.

Tipp

Obwohl Sie die Funktion DMin oder DMax verwenden können, um den Minimal- oder Höchstwert aus einem Feld in einer Fremdtabelle zu ermitteln, kann es effizienter sein, eine Abfrage zu erstellen, die die Felder enthält, die Sie aus beiden Tabellen benötigen, und das Formular oder den Bericht auf dieser Abfrage zu basieren.

Hinweis

Nicht gespeicherte Änderungen an Datensätzen in der Domäne sind nicht enthalten, wenn Sie diese Funktionen verwenden. Wenn die Funktion DomMax oder DomMin auf den geänderten Werten basieren soll, müssen Sie die Änderungen zunächst speichern, indem Sie auf der Registerkarte Daten unter Datensätze auf Datensatz speichern klicken, damit der Fokus zu einem anderen Datensatz wechselt, oder indem Sie die Methode Aktualisieren verwenden.

Beispiel

Hinweis

Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.

Im folgenden Beispiel werden die niedrigsten und höchsten Werte aus dem Feld "Frachtkosten" für Bestellungen zurückgegeben, die in Großbritannien (United Kingdom, UK) zum Versand kommen. Als Domäne wird die Tabelle "Bestellungen" verwendet. Das Argument criteria schränkt den resultierenden Satz von Datensätzen auf diejenigen ein, für die ShipCountryRegion gleich UK ist.


Dim curX As Currency
Dim curY As Currency
curX = DMin("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")
curY = DMax("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")

Im nächsten Beispiel enthält das Argument criteria den aktuellen Wert eines Textfelds namens OrderDate. Das Textfeld ist an das Feld "Bestelldatum" in der Tabelle "Bestellungen" gebunden. Beachten Sie, dass der Verweis auf das Steuerelement außerhalb der doppelten Anführungszeichen (") für die Zeichenfolgen steht. Dadurch wird sichergestellt, dass Access bei jedem Aufruf der DMax-Funktion den aktuellen Wert aus dem Steuerelement abruft.


Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _
    & Forms!Orders!OrderDate & "#")

Im nächsten Beispiel enthält der Kriterienausdruck die Variable dteOrderDate. Beachten Sie dass die Nummernzeichen (#) Teil des Zeichenfolgenausdrucks sind, damit bei der Verkettung der Zeichenfolgen das Datum enthalten ist.


Dim dteOrderDate As Date
Dim curX As Currency
dteOrderDate = #03/30/2000#
curX = DMin("[Freight]", "Orders", _
    "[OrderDate] = #" & dteOrderDate & "#")