Applies ToAccess pour Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vous pouvez utiliser les fonctions DMin et DMax pour déterminer les valeurs minimales et maximales dans un jeu d’enregistrements spécifié (un domaine ). Utilisez les fonctions DMin et DMax dans un module Visual Basic pour Applications (VBA), un macro, une expression de requête ou un contrôle calculé.

Par exemple, vous pouvez utiliser les fonctions DMin et DMax dans les contrôles calculés d’un rapport pour afficher les montants de commandes les plus petits et les plus importants pour un client particulier. Vous pouvez également utiliser la fonction DMin dans une expression de requête pour afficher toutes les commandes avec une remise supérieure à la remise minimale possible.

Syntaxe

DMin ( expr , domain [, criteria] )

DMax ( expr , domain [, criteria] )

Les fonctions DMin et DMax ont les arguments suivants :

Argument

Description

expr

Obligatoire. Expression qui identifie le champ pour lequel vous souhaitez trouver la valeur minimale ou maximale. Il peut s’agir d’un expression de 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 dans une table, un contrôle sur un formulaire, une constante ou une fonction. Si expr inclut une fonction, elle peut être intégrée ou définie par l’utilisateur, mais pas une autre fonction d’agrégation de domaine ou SQL.

domaine

Obligatoire. Expression de chaîne identifiant le jeu d’enregistrements qui constitue le domaine. Il peut s’agir d’un nom de table ou d’un nom de requête pour une requête qui ne nécessite pas de paramètre.

critères

Facultatif. Expression de chaîne utilisée pour restreindre la plage de données sur laquelle la fonction DMin ou DMax est exécutée. Par exemple, les critères sont souvent équivalents à la clause WHERE dans une expression SQL, sans le mot WHERE. Si les critères sont omis , les fonctions DMin et DMaxévaluent expr par rapport à l’ensemble du domaine. Tout champ inclus dans critères doit également être un champ dans le domaine, sinon les fonctions DMin et DMax renvoient une valeur Null.

Notes

Les fonctions DMin et DMax retournent les valeurs minimales et maximales qui répondent aux critères. Si expr identifie des données numériques, les fonctions DMin et DMax retournent des valeurs numériques. Si expr identifie des données de chaîne, ils retournent la chaîne qui est la première ou la dernière par ordre alphabétique.

Les fonctions DMin et DMax ignorent les valeurs Null dans le champ référencé par expr. Toutefois, si aucun enregistrement ne répond aux critères ou si le domaine ne contient aucun enregistrement, les fonctions DMin et DMax renvoient une valeur Null.

Que vous utilisiez la fonction DMin ou DMax dans une macro, un module, une expression de requête ou un contrôle calculé, vous devez construire l’argument critère avec soin pour vous assurer qu’il sera évalué correctement.

Vous pouvez utiliser les fonctions DMin et DMax pour spécifier des critères dans la ligne Critères d’une requête, dans une expression de champ calculé dans une requête ou dans la ligne Mettre à jour vers d’un requête Mise à jour.

Remarque : Vous pouvez utiliser les fonctions DMin et DMax ou les fonctions Min et Max dans une expression de champ calculé d’un requête Opérations. Si vous utilisez la fonction DMin ou DMax , les valeurs sont évaluées avant que les données ne soient regroupées. Si vous utilisez la fonction Min ou Max , les données sont regroupées avant que les valeurs de l’expression de champ soient évaluées.

Utilisez la fonction DMin ou DMax dans un contrôle calculé lorsque vous devez spécifier des critères pour restreindre la plage de données sur laquelle la fonction est exécutée. Par exemple, pour afficher le fret maximal facturé pour une commande expédiée en Californie, définissez la propriété ControlSource d’une zone de texte sur l’expression suivante :

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

Si vous souhaitez simplement rechercher la valeur minimale ou maximale de tous les enregistrements dans le domaine, utilisez la fonction Min ou Max .

Vous pouvez utiliser la fonction DMin ou DMax dans un module ou une macro ou dans un contrôle calculé sur un formulaire si le champ que vous devez afficher ne se trouve pas dans la source d’enregistrement sur laquelle votre formulaire est basé.

Conseil

Bien que vous puissiez utiliser la fonction DMin ou DMax pour rechercher la valeur minimale ou maximale d’un champ dans un table étrangère, il peut être plus efficace de créer une requête qui contient les champs dont vous avez besoin à partir des deux tables et de baser votre formulaire ou état sur cette requête.

Remarque : Les modifications non enregistrées apportées aux enregistrements dans le domaine ne sont pas incluses lorsque vous utilisez ces fonctions. Si vous souhaitez que la fonction DMax ou DMin soit basée sur les valeurs modifiées, vous devez d’abord enregistrer les modifications en cliquant sur Enregistrer l’enregistrement sous l’onglet Données, en déplaçant le focus vers un autre enregistrement ou en utilisant la méthode Update.

Exemple

Remarque : Les exemples suivants illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d’informations sur l’utilisation de VBA, sélectionnez Référence du développeur dans la liste déroulante en regard de Rechercher et entrez un ou plusieurs termes dans la zone de recherche.

L’exemple suivant retourne les valeurs les plus basses et les plus élevées du champ Freight pour les commandes expédiées au Royaume-Uni. Le domaine est une table Orders. L’argument critère limite le jeu d’enregistrements résultant à ceux pour lesquels ShipCountryRegion est égal à UK.

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

Dans l’exemple suivant, l’argument critère inclut la valeur actuelle d’une zone de texte appelée OrderDate. La zone de texte est liée à un champ OrderDate dans une table Orders. Notez que la référence au contrôle n’est pas incluse dans les guillemets doubles (") qui indiquent les chaînes. Cela garantit que chaque fois que la fonction DMax est appelée, Access obtient la valeur actuelle du contrôle.

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

Dans l’exemple suivant, l’expression de critère inclut une variable, dteOrderDate. Notez que les signes numériques (#) sont inclus dans l’expression de chaîne, de sorte que lorsque les chaînes sont concaténées, elles entourent la date.

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

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.