Partition, fonction

S’applique à
Access pour Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Renvoie une variante (chaîne) indiquant où un nombre apparaît dans une série calculée de plages.

Syntaxe

Partition(nombre, début, arrêt, intervalle)

La syntaxe de la fonction Partition contient les arguments suivants :

Argument Description
nombre Obligatoire. Nombre entier que vous souhaitez évaluer par rapport aux plages.
de démarrage Obligatoire. Nombre entier qui est le début de la plage globale de nombres. Le nombre ne peut pas être inférieur à 0.
arrêter Obligatoire. Nombre entier correspondant à la fin de la plage globale de nombres. Le nombre ne peut pas être égal ou inférieur à start.
intervalle Obligatoire. Nombre entier qui spécifie la taille des partitions dans la plage globale de nombres (entre le début et l’arrêt).

Remarques

La fonction Partition identifie la plage particulière dans laquelle le nombre tombe et renvoie une variante (chaîne) décrivant cette plage. La fonction Partition est particulièrement utile dans les requêtes. Vous pouvez créer une requête de sélection qui indique combien de commandes entrent dans différentes plages, par exemple, des valeurs de commande comprises entre 1 et 1000, de 1001 à 2000, etc.

Le tableau suivant montre comment les plages sont déterminées à l’aide de trois ensembles d’arguments de démarrage, d’arrêt et d’intervalle . Les colonnes Première plage et Dernière plage indiquent le retour de la partition . Les plages sont représentées par lowervalue :uppervalue, où l’extrémité inférieure (lowervalue) de la plage est séparée de l’extrémité supérieure (uppervalue) de la plage par un signe deux-points ( :).

de démarrage arrêter intervalle Avant le premier Première plage Dernière plage Après la dernière
0 99 5 " :-1" " 0: 4" " 95: 99" " 100: "
20 199 10 " : 19" " 20: 29" " 190: 199" " 200: "
100 1010 20 " : 99" " 100: 119" " 1000: 1010" " 1011: "

Dans le tableau ci-dessus, la troisième ligne affiche le résultat lorsque le démarrage et l’arrêt définissent un ensemble de nombres qui ne peuvent pas être divisés uniformément par intervalle. La dernière plage s’étend jusqu’à l’arrêt (11 nombres) même si l’intervalle est de 20.

Si nécessaire, Partition renvoie une plage avec suffisamment d’espaces de début pour qu’il y ait autant de caractères à gauche et à droite des deux-points qu’il y a de caractères dans l’arrêt, plus un. Ainsi, si vous utilisez l’option Partition avec d’autres nombres, le texte obtenu sera traité correctement lors de toute opération de tri ultérieure.

Si l’intervalle est égal à 1, la plage est nombre :nombre, quels que soient les arguments de début et d’arrêt . Par exemple, si l’intervalle est 1, le nombre est 100 et l’arrêt est 1000, la partition renvoie « 100 : 100 ».

Si l’une des parties est Null, Partition renvoie une valeur Null.

Exemples de requête

Expression Résultats
SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20) ; Crée un ensemble de plages pour les valeurs du champ « prixunitaire » de « start"(40) à « stop"(240) avec la même taille « intervalle"(20) et calcule le nombre de « prixunitaire » dans les plages respectives. Affiche les plages dans la colonne Gamme de prix et le nombre dans la colonne « Nombre ».

Exemple de VBA

Cet exemple suppose que vous avez une table Commandes qui contient un champ Transport. Il crée une procédure de sélection qui compte le nombre de commandes pour lesquelles les frais de transport entrent dans chacune des différentes plages. La fonction Partition est utilisée en premier lieu pour établir ces plages, puis la fonction SQL Count compte le nombre de commandes dans chaque plage. Dans cet exemple, les arguments de la fonction Partition sont début = 0, arrêt = 500, intervalle = 50. La première plage serait donc de 0:49, et ainsi de suite jusqu’à 500.

SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);