Table of contents
TOC
Réduire la table des matières
Développer la table des matières

Méthode Application.DMax (Access)

office 365 dev account|Dernière mise à jour: 04/10/2017
|
1 Contributeur

La fonction DMax détermine la valeur maximale dans le jeu d'enregistrements spécifié (un domaine).

Syntaxe

expression . DMax( Expr, Domain, Criteria )

expression Variable qui représente un objet Application.

Paramètres

NomObligatoire/FacultatifType de donnéesDescription
ExprObligatoireChaîneExpression qui identifie le champ pour lequel vous voulez trouver la valeur minimale ou maximale. Il peut s'agir d'une expression chaîne identifiant un champ dans une table ou une requête, ou d'une expression qui effectue un calcul sur les données de ce champ. Dans expr, vous pouvez inclure le nom d'un champ de table, un contrôle de formulaire, une constante ou une fonction. Si expr inclut une fonction, elle peut être intrinsèque ou définie par l'utilisateur, mais ne peut pas être une autre fonction de regroupement Domaine ou SQL.
DomainObligatoireChaîneExpression chaîne identifiant les enregistrements qui constituent le domaine. Il peut s'agir d'un nom de table ou d'un nom de requête qui ne requiert aucun paramètre.
CriteriaFacultatifVarianteExpression chaîne facultative servant à limiter la plage des données sur laquelle porte la fonction DMax. Par exemple, criteria est souvent équivalent à la clause WHERE d'une expression SQL sans le mot WHERE. En cas d'omission de criteria, la fonction DMax évalue expr par état à l'intégralité du domaine. Tout champ compris dans criteria doit aussi l'être dans domain, sans quoi la fonction DMax renvoie la valeur Null.

Valeur renvoyée

Variante

Remarques

Par exemple, utilisez la fonction DMax dans les contrôles calculés d'un état pour afficher les plus grandes quantités commandées pour un client particulier.

La fonction DMax renvoie la valeur maximale satisfaisant à criteria. Si expr identifie des données numériques, la fonction DMax renvoie des valeurs numériques. Si expr identifie des données de type String, elle renvoie la première ou la dernière chaîne du classement alphabétique.

La fonction DMax ignore les valeurs Null dans le champ référencé par expr. Cependant, si aucun enregistrement ne satisfait à criteria ou si domain ne contient aucun enregistrement, la fonction DMax renvoie une valeur Null.

Vous pouvez utiliser la fonction DMax pour spécifier des critères dans la ligne Critères d'une requête, dans l'expression de champ calculé d'une requête ou dans la ligne Mise à jour d'une requête de mise à jour.

Remarque Vous pouvez utiliser les fonctions DMax ou Max dans une expression de champ calculé d'une requête Opérations. Avec la fonction DMax, le calcul des valeurs s'effectue avant le regroupement des données. Avec la fonction Max, les données d'abord regroupées, puis le calcul des valeurs incluses dans l'expression de champ est effectué.

Utilisez la fonction DMax dans un contrôle calculé lorsque vous devez déterminer des critères visant à limiter la plage des données sur laquelle porte la fonction. Par exemple, pour afficher le montant maximal des frais de port pour une commande à livrer en Californie, affectez l'expression suivante à la propriété ControlSource d'une zone de texte :

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

Si vous voulez simplement trouver la valeur minimale ou maximale parmi tous les enregistrements de domain, utilisez la fonction Min ou Max.

Même si la fonction DMin ou DMax vous permet de trouver la valeur minimale ou maximale d'un champ qui appartient à une table externe, il peut s'avérer plus efficace de créer une requête contenant les champs nécessaires et de baser votre formulaire ou état sur cette requête.

Lien fourni par :

Icône de membre de la communauté

Communauté UtterAccess

Exemple

L'exemple ci-dessous retourne les valeurs minimum et maximum du champ Port pour les commandes livrées au Royaume-Uni. Le domaine consiste en la table Commandes. L'argument critère limite le jeu d'enregistrements à ceux pour lesquels le pays de livraison est le Royaume-Uni.

Dim curX As Currency
Dim curY As Currency

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

Dans l'exemple suivant, l'argument criteria contient la valeur en cours de la zone de texte Date commande. Les valeurs de cette zone de texte proviennent du champ Date commande de la table Commandes. Remarquez que la référence au contrôle n'est pas entourée des guillemets doubles (") caractérisant les chaînes. Ceci garantit qu'à chaque appel de la fonction DMax, Microsoft Access extrait la valeur en cours du contrôle.

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

Les exemples suivants montrent comment utiliser différents types de critères avec la fonction DMax.

Exemple de code fourni par :

Icône de membre de la communauté

Communauté UtterAccess

    ' ***************************
    ' 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")
    ' ***************************

À propos des collaborateurs

UtterAccess est le premier forum d'aide et wiki de Microsoft Access. Cliquez ici pour le rejoindre.

Voir aussi

Concepts

Objet Application

Autres ressources

© 2018 Microsoft