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 :

requête action ajout exécutée par VBA, à partir d'un select


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Hobby man
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Hobby man

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Par défaut requête action ajout exécutée par VBA, à partir d'un select
    J'aimerais sélectionner des enregistrements d'une table pour les ajouter à une autre de la même structure par code VBA.
    Ou bien dit autrement, ajouter à une table de nouveau enregistrement dont les valeurs de champs proviendrais d'un select... par du code VBA

    J'essaye ceci


    monsql = ""
    monsql = monsql & " INSERT INTO"
    monsql = monsql & " DerniereListeCti"
    monsql = monsql & " ([NR ECOLE], Annee, MOIS, [CATEGORIE FONCTION], STATUT, NOM, MATRICULE, [CHARGES NOR MATIVES])"
    monsql = monsql & " VALUES"
    monsql = monsql & " SELECT"
    monsql = monsql & " DerniereListeCtiTampon.[NR ECOLE], DerniereListeCtiTampon.Annee, DerniereListeCtiTampon.MOIS, DerniereListeCtiTampon.[CATEGORIE FONCTION], DerniereListeCtiTampon.STATUT, DerniereListeCtiTampon.NOM, DerniereListeCtiTampon.MATRICULE, DerniereListeCtiTampon.[CHARGES NOR MATIVES]"
    monsql = monsql & " FROM"
    monsql = monsql & " DerniereListeCtiTampon"
    Debug.Print monsql

    et je tente l'exécution du sql avec
    DoCmd.RunSQL monsql

    et j'obtiens erreur de syntaxe "3134" dans l'instruction INSERT INTO

    ou bien
    Dim cnn As New ADODB.Connection
    Set cnn = CurrentProject.Connection
    cnn.Execute monsql
    cnn.Close
    et j'obtiens erreur de syntaxe "-2147217900 (80040e14)" dans l'instruction INSERT INTO

    Je pense que c'est un classique mais je ne trouve pas malgré mes recherches après presque 2h la bonne syntaxe pour le sql.
    A votre bon cœur messieurs dames

  2. #2
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 962
    Par défaut
    bonjour,
    il aurait été bienvenu de poster aussi le résultat du Debug quelques fois cela aide

    Avec VALUES il ne faut pas de SELECT et inversement : VALUES insère une liste de valeurs pour chaque champ alors que SELECT utilise les données d'une table:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    monsql = ""
    monsql = monsql & " INSERT INTO"
    monsql = monsql & " DerniereListeCti"
    monsql = monsql & " ([NR ECOLE], Annee, MOIS, [CATEGORIE FONCTION], STATUT, NOM, MATRICULE, [CHARGES NOR MATIVES])"
    monsql = monsql & " SELECT"
    monsql = monsql & " DerniereListeCtiTampon.[NR ECOLE], DerniereListeCtiTampon.Annee, DerniereListeCtiTampon.MOIS, DerniereListeCtiTampon.[CATEGORIE FONCTION], DerniereListeCtiTampon.STATUT, DerniereListeCtiTampon.NOM, DerniereListeCtiTampon.MATRICULE, DerniereListeCtiTampon.[CHARGES NOR MATIVES]"
    monsql = monsql & " FROM"
    monsql = monsql & " DerniereListeCtiTampon"
    Je pense que c'est un classique
    non, celle-ci je ne l'avais pas vu venir

  3. #3
    Membre habitué
    Homme Profil pro
    Hobby man
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Hobby man

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Par défaut Résolu
    Sans values, ça roule merci.
    Quand je disais classique, je pensais à une erreurs classique, mais si je peux être original :-) ce n'est pas plus mal
    En tous cas merci merci
    Cordialement

  4. #4
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 962
    Par défaut
    Quand je disais classique, je pensais à une erreurs classique
    je l'avais compris comme cela.
    Pense à mettre la discussion à

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/03/2017, 14h17
  2. [XL-2010] Renommer un classeur par VBA à partir d'un nom donné par l'utilisateur
    Par LuluRBS76000 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/04/2014, 11h32
  3. [Toutes versions] Récupérer des informations dans un document word par vba à partir d'un signet
    Par sellig60 dans le forum VBA Word
    Réponses: 4
    Dernier message: 08/09/2013, 20h32
  4. [XL-2003] Lancer une requête Access "déjà écrite" par vba excel
    Par Katatonia dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/07/2011, 09h07
  5. Ajout utilisateur par VBA dans .mdw
    Par electrosat03 dans le forum Sécurité
    Réponses: 4
    Dernier message: 20/01/2007, 21h36

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