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

Macros et VBA Excel Discussion :

Requête SQL : "La méthode 'Execute' de l'objet '_Connection' a échoué " [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 17
    Par défaut Requête SQL : "La méthode 'Execute' de l'objet '_Connection' a échoué "
    Bonjour,

    J'essaye d'effectuer la requête sql suivante à partir d'excel VBA sur une base Access en (.mdb) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Set cnx = New ADODB.Connection
        With cnx
            .Provider = "Microsoft.Jet.OLEDB.4.0"
            .Open BaseX
        End With
     
    requete = "SELECT TBL.CHAMPS1, TBL.CHAMPS2, TBL.CHAMPS3" & vbCrLf & _
            " FROM TABLE_A TBL" & vbCrLf & _
            " WHERE TBL.CHAMPS4='EEE'" & vbCrLf & _
            " AND TBL.CHAMPS5 <>' AAA '" & vbCrLf & _
            " AND TBL.CHAMPS5 <>' BBB '" & vbCrLf & _
            " AND TBL.CHAMPS6 <>' TEST 1'" & vbCrLf & _
            " AND TBL.CHAMPS6 <>'TEST2'"
     
     Set rs = cnx.Execute(requete)
    J'obtiens l'erreur suivante : "La méthode 'Execute' de l'objet '_Connection' a échoué ".
    Après quelques tests je m'apperçois que c'est le CHAMPS3 qui pose problème. Lorsque je l'enlève de ma requête, elle fonctionne parfaitement. Or, ce champs (Type réel double) est bien présent dans ma base. J'ai même essayé de le changer de type (en texte) et j'obtiens la même erreur.

    Je ne comprends donc pas pourquoi ce champs pose problème.
    Quelqu'un aurait-il une solution?

    D'avance merci.

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

    J'ai du mal à comprendre ton From : table_A TBL

    Peux-tu détailler cette partie.

    Philippe

  3. #3
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    es tu sur que "& vbCrLf &" soit necessaire ce ne serait pas plutôt un chr$(10) voir rien du tout . tu met un code VBA dans un passage SQL
    (d'un autre coté il y a un moment que je n'ai pas trifouiller dans les requêtes)

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 17
    Par défaut
    Bonjour et merci pour vos réponses.

    Philippe, TABLE_A est le "vrai" nom de ma table j'utilise TBL comme raccourci pour pouvoir l’appeler dans la sélection des champs et dans le filtrage des enregistrements. Cependant tu as raison cela ne sert pas à grand chose dans le cas présent car je ne fais appel qu'à une seule table. C'est plus par habitude que j'utilise cette méthode.

    Daranc, j'utilise & vbCrLf & _ pour matérialiser un retour chariot. Ainsi lorsque ma requête plante je peux l'afficher plus clairement dans la fenêtre exécution (la requête ne s'affiche pas sur une seule ligne mais sur plusieurs pour plus de lisibilité)

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 17
    Par défaut
    Quelqu'un a trouvé la solution, le champs qui posait problème portait en fait comme nom une expression réservée.
    Ce qui est curieux c'est que j'effectuais exactement la même requête sur une base SQL SERVER et que ce nom de champs ne posait aucun problème.
    Pour info le vrai nom de ce champs était "Position" (désolé de ne pas l'avoir précisé dans le post initial).

    J'ai donc corrigé la requête comme suis pour qu'elle fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    requete = "SELECT TBL.CHAMPS1, TBL.CHAMPS2, [TBL.CHAMPS3]" & vbCrLf & _
            " FROM TABLE_A TBL" & vbCrLf & _
            " WHERE TBL.CHAMPS4='EEE'" & vbCrLf & _
            " AND TBL.CHAMPS5 <>' AAA '" & vbCrLf & _
            " AND TBL.CHAMPS5 <>' BBB '" & vbCrLf & _
            " AND TBL.CHAMPS6 <>' TEST 1'" & vbCrLf & _
            " AND TBL.CHAMPS6 <>'TEST2'"
    Merci pour votre aide.

  6. #6
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    donc problème résolu ?
    à noter le chr$(10) est le code retour chariot

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

Discussions similaires

  1. Requête SQL qui ne s'execute pas.
    Par dimitri13 dans le forum SGBD
    Réponses: 1
    Dernier message: 24/11/2014, 16h56
  2. [PDO] Débugger une requête compilée avec la méthode "execute"
    Par FMaz dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/11/2009, 17h10
  3. méthode execute d'un objet callablestatement?
    Par hicham_alaoui1 dans le forum JDBC
    Réponses: 3
    Dernier message: 05/08/2008, 00h16
  4. [MySQL] [MySQLi] requête sql et mysqli méthode objet
    Par Gaspoute dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/03/2008, 18h25
  5. Réponses: 7
    Dernier message: 04/06/2007, 16h23

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