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

VBA Access Discussion :

Problème de parenthèse/guillemet


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 79
    Par défaut Problème de parenthèse/guillemet
    Bonjour à tous,

    Après une soirée à tester toutes les solutions, je viens demander des solutions à d'autres car moi je vais dormir...pas bien car je vais encore y penser..

    Je travaille actuellement sur un projet ACCESS (ADP) avec SQLSERVER2005.

    Dans un évènement click d'un bouton, je dois lancer une simple requête de contrôle mais dans le WHERE doivent passer des données de type : BRUXELLES (Braine-l'Alleud).
    Lorsque je l'exécute, j'obtiens un message d'erreur avec la mention "Nom de colonne non valide: "BRUXELLES (Braine-l'Alleud)" ".

    J'ai cru que le problème venait de l'apostrophe mais après avoir essayé beaucoup de chose, je me demande si le problème ne vient pas des parenthèses mais là, je n'ai pas d'idée.

    Que me conseillez-vous?
    Merci.

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strSQL = "SELECT * FROM T_TAXATION_Archive WHERE (exercice = " & Me.txtEXERCICE.Value & ") AND (type = " & Me.chxTYPE.Value & ") AND (ent = """ & Me.lstPRO_ENT.Column(1) & """);"
    Voici le debug.print obtenu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM T_TAXATION_Archive WHERE (exercice = 2011) AND (type = 1) AND (ent = "BRUXELLES (Braine-l'Alleud)");

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 047
    Par défaut
    Bonjour,
    essai cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM T_TAXATION_Archive WHERE (exercice = 2011) AND (type = 1) AND (ent = 'BRUXELLES (Braine-l''Alleud)');

  3. #3
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Bonjour,

    Je travaille actuellement sur un projet ACCESS (ADP) avec SQLSERVER2005.
    J'ignore ce que celà implique de particulier.

    En tout cas, j'ai testé ton code avec Access2000 et ton code est correct.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 79
    Par défaut
    Merci pour votre aide.

    J'ai avancé ce matin grâce à votre aide: le problème principal provient des parenthèses???

    En effet, j'ai testé la solution de cbleas: remplacer le simple apostrophe par un double apostrophe

    Avec en plus un replace des parenthèses par des tirets et cela fonctionne....j'ai donc la cause du problème mais pas de solution qui me convienne.

    Quelqu'un aurait-il une idée??

    strENT_PRO = Replace(Me.lstPRO_ENT.Column(1), "(", "-")
    strENT_PRO = Replace(strENT_PRO, ")", "-")
    strSQL = "SELECT * FROM T_TAXATION_Archive WHERE (exercice = " & Me.txtEXERCICE.Value & ") AND (type = " & Me.chxTYPE.Value & ") AND ent = '" & Replace(strENT_PRO, "'", "''") & "'"

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 047
    Par défaut
    peut être en doublant les parenthèses

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 79
    Par défaut
    Sorry, j'ai testé à nouveau et maintenant cela fonctionne même sans "chipotage" avec les parenthèses.

    Voici le code:

    strENT_PRO = Me.lstPRO_ENT.Column(1)
    strSQL = "SELECT * FROM T_TAXATION_Archive WHERE (exercice = " & Me.txtEXERCICE.Value & ") AND (type = " & Me.chxTYPE.Value & ") AND ent = '" & Replace(strENT_PRO, "'", "''") & "'"
    A bientôt.

    Fred.

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

Discussions similaires

  1. [ANTLR] Problème de parenthèses imbriquées
    Par vkphoenixfr dans le forum Autres langages
    Réponses: 0
    Dernier message: 30/11/2007, 11h40
  2. [TP] Problème de parenthèse
    Par AjeAurel dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 13/11/2007, 21h55
  3. Problème avec les guillemets
    Par domux dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/06/2007, 13h26
  4. [SQL] problème avec les guillemets et rawurldecode
    Par xenos dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/02/2007, 13h34
  5. Problème de parenthèse
    Par kj_83 dans le forum C++Builder
    Réponses: 14
    Dernier message: 08/07/2006, 17h31

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