Freigeben über


Application.DMax-Methode (Access)

Verwenden Sie die DMax-Funktion , um den Maximalwert in einer angegebenen Gruppe von Datensätzen (einer Domäne) zu bestimmen.

Syntax

Ausdruck. DMax (Expr, Domain, Criteria)

expression Eine Variable, die ein Application-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Expr Erforderlich String Ein Ausdruck, der das Feld kennzeichnet, von dem Sie den kleinsten oder größten Wert ermitteln möchten. Der Ausdruck kann ein Zeichenfolgenausdruck sein, der ein Feld in einer Tabelle oder Abfrage kennzeichnet, oder ein Ausdruck, der eine Berechnung mit Daten in dem Feld durchfü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 String Ein Zeichenfolgenausdruck, der die Gruppe der Datensätze angibt, die die Domäne bilden. Es kann sich dabei um einen Tabellennamen oder einen Abfragenamen für eine Abfrage handeln, die keinen Parameter benötigt.
Criteria Optional Variant Ein Zeichenfolgenausdruck, den Sie optional angeben können, um den Datenbereich einzuschränken, für den die Funktion DMax ausgeführt wird. Beispielsweise ist criteria oft äquivalent mit der WHERE-Klausel in einem SQL-Ausdruck, ohne das Wort WHERE. Wird das Argument criteria nicht angegeben, so berechnet DMax das Argument expr für die gesamte Domäne. Jedes Feld, das in Kriterien enthalten ist, muss ebenfalls ein Feld in der Domäne sein; Andernfalls gibt die DMax-Funktion einen Null-Wert zurück.

Rückgabewert

Variant

Bemerkungen

Beispielsweise können Sie die Funktion DMax in berechneten Steuerelementen für einen Bericht verwenden, um den größten Bestellbetrag für einen bestimmten Kunden anzuzeigen.

Die DMax-Funktion gibt den maximal zulässigen Wert zurück, der die Kriterien erfüllt. Wenn expr numerische Daten identifiziert, gibt die DMax-Funktion numerische Werte zurück. Gibt das Argument expr Zeichenfolgendaten an, so wird die Zeichenfolge zurückgegeben, die alphabetisch an erster oder letzter Stelle steht.

Die DMax-Funktion ignoriert Null-Werte in dem Feld, auf das von expr verwiesen wird. Wenn jedoch kein Datensatz die Kriterien erfüllt oder die Domäne keine Datensätze enthält, gibt die DMax-Funktion einen Null-Wert zurück.

Verwenden Sie die DMax-Funktion , 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

Verwenden Sie die DMax-Funktion oder die Max-Funktion in einem berechneten Feldausdruck einer Summenabfrage. Wenn Sie DMax verwenden, werden die Werte ausgewertet, bevor die Daten gruppiert werden. Wenn Sie Max verwenden, werden die Daten gruppiert, bevor die Werte im Feldausdruck ausgewertet werden.

Verwenden Sie die DMax-Funktion in einem berechneten Steuerelement, wenn Sie Kriterien angeben müssen, um den Datenbereich einzuschränken, in dem die Funktion ausgeführt wird. Legen Sie beispielsweise die ControlSource-Eigenschaft eines Textfelds auf den folgenden Ausdruck fest, um die maximal berechnete Fracht für eine Bestellung anzuzeigen, die nach Kalifornien versandt wurde:

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

Zwar können Sie mit DMin oder DMax den kleinsten oder größten Wert in einem Feld einer Fremdtabelle berechnen, aber es kann effizienter sein, eine Abfrage zu erstellen, die die benötigten Felder aus beiden Tabellen enthält, und dann Ihrem Formular oder Bericht diese Abfrage zugrunde zu legen.

Beispiel

Dieses Beispiel gibt den kleinsten und den größten Wert aus dem Feld "Frachtkosten" für Bestellungen zurück, die nach Großbritannien versandt wurden. 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 ShipCountry gleich UK ist.

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

Im nächsten Beispiel enthält das Argument criteria den aktuellen Wert eines Textfelds namens OrderDate. Das Textfeld ist an ein OrderDate-Feld in einer Orders-Tabelle gebunden. Der Verweis auf das Steuerelement steht nicht in den Anführungszeichen ("), die für die Zeichenfolgen verwendet werden. Dadurch wird sichergestellt, dass Microsoft Access bei jedem Aufruf von DMax den aktuellen Wert vom Steuerelement abruft.

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

Die folgenden Beispiele zeigen, wie Sie verschiedene Arten von Kriterien mit der Funktion DMax verwenden.

    ' ***************************
    ' Typical Use
    ' Numerical values. Replace "number" with the number to use.
    variable = DMax("[FieldName]", "TableName", "[Criteria] = number")

    ' Strings.
    ' Numerical values. Replace "string" with the string to use.
    variable = DMax("[FieldName]", "TableName", "[Criteria]= 'string'")

    ' Dates. Replace "date" with the string to use.
    variable = DMax("[FieldName]", "TableName", "[Criteria]= #date#")
    ' ***************************

    ' ***************************
    ' Referring to a control on a form
    ' Numerical values
    variable = DMax("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)

    ' Strings
    variable = DMax("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")

    ' Dates
    variable = DMax("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
    ' ***************************

    ' ***************************
    ' Combinations
    ' Multiple types of criteria
    variable = DMax("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
             & " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
            & " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
    
    ' Use two fields from a single record.
    variable = DMax("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
            
    ' Expressions
    variable = DMax("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
    
    ' Control Structures
    variable = DMax("IIf([LastName] Like 'Smith', 'True', 'False')", "tableName", "[PrimaryKey] = 7")
    ' ***************************

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.