[SQL] Différencier majuscule et minuscule
Résolu
Laaris
Messages postés
130
Date d'inscription
Statut
Membre
Dernière intervention
-
Laaris Messages postés 130 Date d'inscription Statut Membre Dernière intervention -
Laaris Messages postés 130 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit soucis sous Access 97, j'ai une table qui répertorie les cases d'une grille (A1, A2, A3 ...)
Comme la grille est très grande on arrive à des cases qui ont pour référence (AA1, AA2, AA3) puis (aA1, aA2, aA3)
Le problème pour ces deux derniers cas est que comme Access, par défaut, ne différencie pas majuscule et minuscule, quand j'exécute la requête:
il me retourne "AA1" et "aA1", ce qui ne va pas du tout.
Je cherche donc une fonction qui différencie majuscule et minuscule dans une requête.
Merci d'avance.
J'ai un petit soucis sous Access 97, j'ai une table qui répertorie les cases d'une grille (A1, A2, A3 ...)
Comme la grille est très grande on arrive à des cases qui ont pour référence (AA1, AA2, AA3) puis (aA1, aA2, aA3)
Le problème pour ces deux derniers cas est que comme Access, par défaut, ne différencie pas majuscule et minuscule, quand j'exécute la requête:
SELECT * FROM coord_mailles WHERE Description="AA1";
il me retourne "AA1" et "aA1", ce qui ne va pas du tout.
Je cherche donc une fonction qui différencie majuscule et minuscule dans une requête.
Merci d'avance.
A voir également:
- Sql recherche majuscule minuscule
- Majuscule en minuscule - Guide
- Code ascii de a minuscule - Guide
- É majuscule - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Majuscule - Guide
3 réponses
Bonjour Laaris,
Le code suivant devrait faire ce que tu veux
A plus
Le code suivant devrait faire ce que tu veux
SELECT * FROM coord_mailles WHERE StrComp(Description,'AA1',0) = 0;
A plus
Bonjour Laaris,
En cherchant sur le site de Microsoft, j'ai trouvé un code qui devrait t'aider
Crées tout d'abord un module contenant le code suivant
Ce module va convertir une colonne texte en hexadécimal.
Ensuite utilise le code suivant pour tes requêtes
A plus
En cherchant sur le site de Microsoft, j'ai trouvé un code qui devrait t'aider
Crées tout d'abord un module contenant le code suivant
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
Ce module va convertir une colonne texte en hexadécimal.
Ensuite utilise le code suivant pour tes requêtes
SELECT distinct StrToHex(Description) as Hexa , Description FROM coord_mailles SELECT * FROM coord_mailles WHERE StrToHex(Description) = StrToHex('AA1') SELECT COUNT(*) , StrToHex(Description), Description FROM coord_mailles GROUP BY StrToHex(Description) , Description
A plus
strcomp fonctionne dans le cas que j'ai mentionné mais c'était juste un exemple, et elle ne marchera pas pour d'autres requêtes notamment quand je veux faire un GROUP BY Description ou un SELECT DISTINCT Description ...
Pour ce qui est de l'option case sensitive, c'est juste un truc à activer dans un des menus d'Access?