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

Access Discussion :

[VBA] "Désactiver" les caracteres spéciaux d'une variable


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 58
    Points : 31
    Points
    31
    Par défaut [VBA] "Désactiver" les caracteres spéciaux d'une variable
    Bonjour.
    Voila une question du meme accabi que ma précédente ici
    http://www.developpez.net/forums/sho...d.php?t=228325
    Mais pour éviter le mélange j'ouvre ce topic.

    voila de quoi il s'agit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DoCmd.RunSQL ("INSERT INTO table (champA,ChampB) 
    VALUES (ValeurEnDur, ' " & VariableDeTest &" ' );")
    la concaténation est la seule méthode que j'ai trouvé pour entrer mes variables dans ma requete. (est ce la seule? la plus efficace?)
    Ceci fonctionne donc à 99%
    Puisque ma variable est contient de la saisie clavier et il peut arriver que des guillemets simples soit saisis (avant d'arriver, d'erreur ...)

    Du coup ma variable contient ce fameux guillemet et lors de l'exécution de ma requete le guillement contenu dans la variable est interprété comme un guillemet "nomal"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (ValeurEnDur,' " & avant d'arriver & " ' );")
    Ce qui déregle tout

    J'ai donc utilisé la solution déja évoqué dans mon autre Topic :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    a = Replace(CStr(test), "'", "")
    VariableDeTest = a
    Mais ca équivaut donc a supprimer ce guillemet et le remplacer par autre chose (espace ou autre caractere).

    Probleme :
    -Ma requete est tres longue et ca me fait un paquet de variables a vérifier
    -Ce n'est pas pour une utilisation perso et les champs de textes vont etre réutilisés dans des rapports et le manque de guillement ca le fait pas trop

    Une idée?

  2. #2
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    si tu fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    a = Replace(CStr(test), "'", "''")
    ça devrait te garder tes apostrophes

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 58
    Points : 31
    Points
    31
    Par défaut
    pas bete du tout !

    Je vais tester ca. Merci

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 58
    Points : 31
    Points
    31
    Par défaut
    Malheureusement ca ne fonctionne pas.
    J'ai essayé de concatener de plusieurs facons mais il n'y a rien a faire. grrrr

  5. #5
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 58
    Points : 31
    Points
    31
    Par défaut
    Bon vu que je ne trouve pas de moyen efficace j'ai pris la décision de remplacer mes apostrophes par celle "inversée" => `

    Ensuite il me suffira de lancer un remplacement dans mes tables.

    Quelqu'un saurait comment parcourir les données d'une table et remplacer les données voulues ? comme le Ctrl + H en gros.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 58
    Points : 31
    Points
    31
    Par défaut
    bon toutes mes excuses.
    j'ai réussi a acceder au point de la faq qui expose exactement mon cas.

    J'ai eu du mal a le trouver grrr et c'est bien ce que tu m'as proposé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    replace(variable, " ' " ; " ' ' ")
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/03/2011, 18h35
  2. Réponses: 3
    Dernier message: 21/08/2009, 15h33
  3. Réponses: 6
    Dernier message: 23/03/2009, 15h40
  4. Supprimer les caracteres du style \xc2 d'une chaine.
    Par InDaWinD dans le forum Général Python
    Réponses: 2
    Dernier message: 27/04/2006, 13h34
  5. insérer les recordset d'un while dans une variable
    Par yoda_style dans le forum ASP
    Réponses: 4
    Dernier message: 31/03/2005, 10h01

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