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

Requêtes et SQL. Discussion :

synthaxe SQL avec l'apostrophe


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 58
    Points
    58
    Par défaut synthaxe SQL avec l'apostrophe
    Bonjour,
    Encore un petit souci... le code qui me pose problème est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MySQL = "SELECT MaTable.Champ1, MaTable.Champ2, MaTable.Champ3"
    MySQL = MySQL + " FROM [Ma Table]"
    MySQL = MySQL + " WHERE (((MaTable.Champ1)='" & Me!ListOpé.Column(1) & "') AND ((MaTable.Champ2)='" & Me!ListOpé.Column(2) & "')"
    MySQL = MySQL + "  AND ((MaTable.Champ3)='" & Me!ListOpé.Column(3) & "'))"
    La requête filtre les enregistrements en fonction de la valeur choisie dans une zone de liste nommée "ListOpé". (les valeurs de la zone de liste est le résultat d'une requête à 4 colonnes).

    Voici un exemple : je sélectionne dans ma zone de liste "nettoyage à l' aspirateur" qui correspont à la colonne 3. J' ai un message d'erreur : Erreur de synthaxe dans l'expression (((MaTable.Champ1)='Valeur colonne 1') AND ((MaTable.Champ2)='Valeur colonne 2') AND ((MaTable.Champ3)='nettoyage à l' aspirateur'))'

    Apparement l'apostrophe contenu dans "nettoyage à l'aspirateur" modifie le code car tout les autres champs (sans apostrophe) sont bien pris en compte.

    Existe t il un moyen d'éviter ça ou faut il que j'écrive un code qui interdit l'apostrophe lors de la saisie des données??

    Merci à tous pour le coup de pouce, j'ai essayé pas mal de chose en changant la synthaxe mais impossible de débloquer le problème!!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Il s'agit d'un problème classique, la solution est de doubler l'apostrophe dans ta chaine pour que celle-ci soit prise en compte.

    Pour cela j'utilise la fonction Replace.

    Ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((MaTable.Champ3)='" & Me!ListOpé.Column(3) & "'))"
    deviendrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((MaTable.Champ3)='" & Replace(Me!ListOpé.Column(3),"'","''") & "'))"
    Starec

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 58
    Points
    58
    Par défaut
    Je ne doit plus être très loin de la solution...J'ai modifié mon code avec le mot Replace mais j'ai une erreur de compilation : Sub ou Function non définie.

    Je n'ai pas trouvé la fonction Replace dans l'aide en tant que fonction intégrée mais j'ai trouvé la méthode Replace dans l'aide VBA (qui semble ne pas correspondre).

    Il faudra peut être que j'envisage d'écrire la fonction?? (Si c'est le cas je m'engage vers des chemins difficiles!!! )

    As tu une idée la dessus?
    encore merci pour tout!!!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 58
    Points
    58
    Par défaut
    J'ai trouvé une réponse pour ceux qui aurait le même souci que moi sous access 97

    http://access.developpez.com/faq/?pa...DATA#ReplAcc97

    Bonne continuation

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

Discussions similaires

  1. Problème avec les apostrophes dans le sql en VBA
    Par cyrilboulan dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 14/03/2017, 10h11
  2. ResultSet SQL avec apostrophe
    Par javaNavCha dans le forum JDBC
    Réponses: 6
    Dernier message: 08/08/2011, 10h29
  3. [AC-2007] requete sql avec apostrophe
    Par hariots dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 06/05/2011, 19h08
  4. Probleme avec les apostrophe c# et SQL
    Par oclone dans le forum ASP.NET
    Réponses: 6
    Dernier message: 20/01/2009, 12h37
  5. Variable avec un apostrophe en SQL
    Par gwenagan dans le forum Langage SQL
    Réponses: 12
    Dernier message: 18/03/2008, 19h24

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