Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Access trie les enregistrements par ordre croissant ou décroissant, sans tenir compte de la casse. Toutefois, vous pouvez utiliser une fonction définie par l’utilisateur dans une requête pour trier les données texte en fonction de leurs valeurs de caractères ASCII. Il en résulte un ordre respectant la casse.
Le tableau suivant montre en quoi l’ordre croissant dans Access diffère d’un ordre respectant la casse.
Ordre de pré-tri | Ordre croissant | Ordre respectant la casse |
---|---|---|
c | A | A |
D | a | B |
a | B | C |
d | b | D |
B | C | a |
C | c | b |
A | D | c |
b | d | d |
Bien que les résultats de la colonne Ordre croissant puissent d’abord sembler quelque peu imprévisibles, ce n’est pas le cas. Dans la colonne Ordre croissant , « a » apparaît avant « A » et « B » avant « b ». Cela se produit parce que, lorsqu’ils sont évalués en tant que valeurs de texte, « A » = « a » et « B » = « b », qu’il s’agisse de minuscules ou de majuscules. Accès prend en compte l'ordre initial des valeurs.
Dans la colonne Ordre de tri préalable, « a » précède « A » et « B » précède « b ».
Lors de l'opération de tri en fonction de la casse, les valeurs littérales sont remplacées par leurs valeurs ASCII. Par exemple, A = 65, a = 97, B = 66, b = 98, etc.
La fonction définie par l'utilisateur suivante peut être utilisée pour trier les données en prenant en compte les majuscules et les minuscules.
Function StrToHex(S As Variant) As Variant
Dim Temp As String, I As Integer
If VarType(S) <> 8 Then
StrToHex = S
Else
Temp = ""
For I = 1 To Len(S)
Temp = Temp & Format(Hex(Asc(Mid(S, I, 1))), "00")
Next I
StrToHex = Temp
End If
End Function
Fonction StrToHex
La fonction définie par l'utilisateur précédente, StrToHex, peut être invoquée dans une requête. Lorsque vous transmettez le nom du champ de tri à cette fonction, elle trie les valeurs de champ dans l'ordre qui respecte la casse. Les étapes suivantes illustrent l'utilisation de cette fonction.
Créez une requête à partir de laquelle vous allez appeler cette fonction.
Dans la boîte de dialogue Afficher la table , sélectionnez la table à trier, puis sélectionnez Ajouter.
Faites glisser les champs souhaités vers la grille.
Dans la première colonne vide, dans la ligne Field , tapez Expr1: StrToHex([ SortField ]). StrToHex est la fonction définie par l’utilisateur que vous avez créée précédemment. ChampTri est le nom du champ contenant les valeurs possédant des majuscules et minuscules.
Dans la cellule Trier , sélectionnez Croissant ou Décroissant. Si vous choisissez l’ordre croissant, les valeurs commençant par des lettres majuscules s’affichent avant celles qui commencent par des lettres minuscules. L'ordre décroissant produit un tri contraire.
Basculez en mode Feuille de données. Access affiche les enregistrements, triés dans l’ordre respectant la casse.
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.