|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 25 ![]() |
Bonjour, a tous, mon probléme a du déja être traité quelque part, mais je doit mal effectuer mes recherches car je ne trouve rien de concluant (dans le sens si c'est impossible ou faisable).
Voici mon soucis, j'ai des donnée sous linux a transférer sous une table access (je sait ca parait bête de passer de linux a access, mais la licence oracle coûte plus chére... ). Hors linux est sensible à la casse, et il se trouve que je doit insérer dans ma table, 2 ligne ou toutes mes clés primaires sont identiques sauf un champ ou une lettre est en majuscule dans une ligne et en minuscule dans l'autre. Et évidemment, ACCESS ne veut m'insérer que la premiére traitée. Y'a t'il un moyen sous ACCESS de faire en sorte qu'il soit sensible à la casse. Sinon il est toujours possible de faire un petit script sous linux pour ne pas avoir ce genre de problémes, mais voyant la compléxité de mon fichier, et la longueur, je préférerai éviter. Merci de votre aide PS : Exemple des deux lignes : Mes clés primaires sont Repertoire et Nom_fichier Repertoire; Nom_fichier; taille_fichier; droit_ fichier ...... /data/ toto 2541 rwx /data/ tOto 2542 rwx Je précise que la structure de la base de donnée ne peut être changé car elle m'est imposée. La question est donc juste est-il possible de rendre ACCESS sensible à la casse lors de l'insertion de ligne. Merci |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mai 2005 Messages : 3 419 ![]() |
à ma connaissance non
maintenant le code asci de a est 97,celui de z 122 il y a peut être une possibilité de recodage si code(chr) in 97..122 then chr=code(chr)+26
__________________
Elle est pas belle la vie ? |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 25 ![]() |
Merci de ta réponse, même si elle n'est pas trop encourageante
Sinon j'en ai parlé dans mon entourage, et on m'a dit que peut être que ce serait dans le champ format (à la création de la table) qu'il faudrait rajouter quelque chose. Si quelqu'un a une idée, je suis preneur. Merci |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() |
Bonjour,
Dans le champs concerné, tu mets dans la propriété masque de saisie 1 pour avoir rien que des majuscules 2 pour avoir le premier caractère en majuscule et les autres en miniscule 3 pour les mélanger tu t'amuses à déplacer les signes < et > comme dans cet exemple Voilà; dis - moi si ça marche |
|
|
00
|
|
|
#5 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 482 ![]() |
Je ne pense pas que ce soit possible mais tu peux la faire au niveau d'un module avec Option Compare et 2 des options se basent sur le setting régional de ta machine, donc fouille peut-être par là.
Voici ce que dit l'aide : ########## Option Compare, instruction Instruction utilisée au niveau module pour déclarer la méthode de comparaison par défaut qu'il convient d'utiliser lors de la comparaison de chaînes. Syntaxe Option Compare {Binary | Text | Database} Remarques Si elle est utilisée, l'instruction Option Compare doit apparaître dans un module avant toute procédure. L'instruction Option Compare définit la méthode de comparaison de chaînes (Binary, Text ou Database) pour un module. Si le module ne contient pas d'instruction Option Compare, la méthode de comparaison de texte par défaut est Binary. L'instruction Option Compare Binary fournit des comparaisons de chaînes basées sur un ordre de tri dérivé de la représentation binaire interne des caractères. Dans Microsoft Windows, l'ordre de tri est déterminé par la page de code. L'exemple suivant décrit un ordre de tri binaire typique : A < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø L'instruction Option Compare Text fournit des comparaisons de chaînes basées sur un ordre de tri qui ne distingue pas les majuscules des minuscules et qui est déterminé par les paramètres régionaux de votre système. Si les caractères ci-dessus sont triés à l'aide de l'instruction Option Compare Text, l'ordre de tri de texte suivant est utilisé : (A=a) < ( À=à) < (B=b) < (E=e) < (Ê=ê) < (Z=z) < (Ø=ø) L'instruction Option Compare Database ne peut être utilisée que dans Microsoft Access. Elle fournit des comparaisons de chaînes basées sur l'ordre de tri déterminé par l'identificateur de paramètres régionaux de la base de données dans laquelle la comparaison de chaînes est effectuée. ########### Si tu peux altérer la structure de ta table ajour un champ AutoNum et utilise le en combinaison avec ta clef primaire actuelle mais tu vas avoir constement le pb. Pour résoudre le pb de coût, regarde la série Express Edition de M$, il y a une version bridée de MS-SQL qui est gratuite, MS-SQL est peut-être case sensitive. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#6 | ||||
|
Invité de passage
![]() Inscription : juin 2007 Messages : 25 ![]() |
Citation:
Mais ce que tu m'as dit va sans doute pouvoir m'aider pour une autre partie de mon appli. Merci Citation:
Citation:
Citation:
|
||||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 25 ![]() |
Personne d'autres n'a une idée ?
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 6 ![]() |
Bonjour,
Personnellement pour contourner ces problèmes de casse sous VBA d'office, je rajoute le code ascii à la valeur que j'utilise. Exemple, dans la requete suivante, j'extrais deux caractères en 7e et 8e position d'un code article qui contient des minuscules et des majuscules. Je rajoute le code ascii du 7e et 8e caractère PNascii: ExtracChaîne([article vendu];7;2) & Asc(ExtracChaîne([article vendu];7;1)) & Asc(ExtracChaîne([article vendu];8;1)) Philippe |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com