IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modélisation Discussion :

Inséré dans une table ACCESS sensible a la casse ?


Sujet :

Modélisation

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Points : 14
    Points
    14
    Par défaut Inséré dans une table ACCESS sensible a la casse ?
    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

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    à 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 ?

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    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

  4. #4
    Membre actif Avatar de lucienkany
    Profil pro
    Développeur
    Inscrit en
    Janvier 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Janvier 2004
    Messages : 257
    Points : 220
    Points
    220
    Par défaut
    Bonjour,
    Dans le champs concerné, tu mets dans la propriété masque de saisie

    1 pour avoir rien que des majuscules

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <CCCCCCCCCCCCCCCCCCCCCCCC
    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >C<C>CC<C>CCCCCCCCCCCCCCCC
    Voilà; dis - moi si ça marche

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    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.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par lucienkany
    Bonjour,
    Dans le champs concerné, tu mets dans la propriété masque de saisie

    1 pour avoir rien que des majuscules

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <CCCCCCCCCCCCCCCCCCCCCCCC
    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >C<C>CC<C>CCCCCCCCCCCCCCCC
    Voilà; dis - moi si ça marche
    Le soucis avec cela c'est que ce que j'insére dans ma base de donnée n'a pas un format fixe, je ne peut pas dire tel caractére est une majuscule, et telle autre est une minuscule, car je n'en sait rien moi même (ma table a importer fait 12000 lignes et ce que j'insére ne respecte pas vraiment une syntaxe particuliére)
    Mais ce que tu m'as dit va sans doute pouvoir m'aider pour une autre partie de mon appli. Merci

    Citation Envoyé par marot_r
    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.
    Cela me semble être en effet une solution facile à faire, et qui va marcher

    Citation Envoyé par marot_r
    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.
    Je n'ai pas le niveau hiérarchique pour décider de cela, malheuresement....

    Citation Envoyé par marot_r
    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à.
    Je vais regarder, je te tiens au courant. Merci

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Personne d'autres n'a une idée ?

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut casse sous office
    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

Discussions similaires

  1. Récupérer les mails Outlook dans une table Access
    Par zerrokooll dans le forum VBA Access
    Réponses: 79
    Dernier message: 07/07/2009, 14h22
  2. Réponses: 2
    Dernier message: 05/03/2009, 14h42
  3. Ajouter un champs dans une table (Access 2000)
    Par Didier100 dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/10/2004, 13h02
  4. insertion d'un type date dans une table access
    Par monstour dans le forum ASP
    Réponses: 7
    Dernier message: 18/06/2004, 16h57
  5. recherche dans une table Access en ASP
    Par D-D dans le forum ASP
    Réponses: 3
    Dernier message: 09/06/2004, 10h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo