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 :

[A-03] Opération invalide sur création de table


Sujet :

VBA Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Points : 132
    Points
    132
    Par défaut [A-03] Opération invalide sur création de table
    Bonjour,

    Je souhaiterai lancer une requête de création de table via une macro.
    La requête est correcte (à savoir, elle s'exécute correctement lorsqu'elle est lancée en "direct"), cependant, j'obtiens une erreur 3219 / Opération invalide lorsque je l'execute via macro. L'erreur est localisée sur la ligne en gras.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Commande4_Click()
    
    Dim Rs As DAO.Recordset
    Set Rs = CurrentDb.OpenRecordset("Req1")
    While Not Rs.EOF
        MsgBox Rs(0)
        Rs.MoveNext
    Wend
    
    Set Rs = Nothing
    
    End Sub
    J'ai bien essayé de supprimer la table créée par la requête au préalable mais rien n'y fait.
    J'ai fait quelques recherches ici et ailleurs mais j'ai l'impression que cette erreur est plutôt "générique" et que la résolution se fait au cas par cas!

    D'avance merci.

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Si Req1 pointe vers une requête action et pas sur une requête sélection, c'est normal que tu aies une erreur.

    Peux-tu préciser Req1 et éventuellement nous en donner le code SQL?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Points : 132
    Points
    132
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Bonjour

    Si Req1 pointe vers une requête action et pas sur une requête sélection, c'est normal que tu aies une erreur.

    Peux-tu préciser Req1 et éventuellement nous en donner le code SQL?
    Bonjour et merci pour la réponse:

    Voilà la requête
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Table1.* INTO [Table3]
    FROM Table2 INNER JOIN Table1 ON Table.ChampA = Table1.ChampB;

    Il s'agit donc bien d'une requête de selection (ou alors je me gourre complétement )

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Comme tu parles dans le titre d'une opération invalide sur création de table... je suis un peu perdu...

    Peux-tu préciser le contexte?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Points : 132
    Points
    132
    Par défaut
    Ok...
    Alors, je crée 2 tables par import de données (format txt): table 1 et table 2.
    Suite à cet import, je crée une table, table3, qui est en fait une jointure de la table 1 et de la table 2...Table 3 est créée via la requete ci-dessus!
    En esperant avoir été clair!

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Dans le code que tu donnes, tu oublies le 2 dans On TABLE.ChampA

    Cela étant

    ta requête n'utilise pas la bonne syntaxe d'un requête ajout. La bonne syntaxe est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Insert into Table3 (champ1, champ2, ...) select table1.Champ1, table1.Champ2 from champ1 inner join Table2 on table1.champ1 = table2.champ2
    De plus, cette requête étant une requête action (ajout), elle ne peut pas être utilisée par un objet de type RECORDSET, puisqu'elle ne renvoie pas un jeu d'enregistrement.

    Pourquoi veux-tu itérer sur cette requête?

    Enfin, tu dis que cette requête fonctionne "en direct" mais j'ai peine à croire qu'elle fonctionne avec le code que tu as donné.

    Peux-tu donné le code sql exact de la requête utilisée en direct?

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Points : 132
    Points
    132
    Par défaut
    Bon alors, j'ai trouvé un moyen de contournement

    Il suffit de passer par un (simple):
    DoCmd.RunSQL suivi de la requête et ca fonctionne parfaitement!

    merci Pierre et à ceux qui m'ont lu !

    Bonne fin de journée!

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

Discussions similaires

  1. [LibreOffice][Base de données] Message d'erreur sur Création de table
    Par Malick dans le forum OpenOffice & LibreOffice
    Réponses: 5
    Dernier message: 05/03/2014, 18h58
  2. [AC-2007] Conseil sur création de tables
    Par manusp dans le forum Modélisation
    Réponses: 9
    Dernier message: 17/01/2011, 17h37
  3. [AC-2007] [Débutant] Avis sur création de tables
    Par crismans dans le forum Modélisation
    Réponses: 13
    Dernier message: 11/01/2011, 12h32
  4. [2007] Panneau Navigation apparaît sur création de table
    Par Bervando dans le forum VBA Access
    Réponses: 5
    Dernier message: 24/03/2009, 14h41
  5. Erreur sur Création de Table
    Par lailai dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/12/2007, 15h59

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