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.