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 :

Syntaxe requete SQL insert into dans VBA


Sujet :

Requêtes et SQL.

  1. #1
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut Syntaxe requete SQL insert into dans VBA
    bonsoir ,
    je me lance dans le SQL dans vba mais j'ai du mal comprendre la syntaxe...
    je coince sur cette 1re tentative :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim sql As String
    sql = "INSERT INTO ChangementSynthese(NumeroChangement,Date,NomDemandeur,DemandeurAvant,DemandeurApres,RemplacantAvant,RemplacantApres) select Date1,NomDemandeur1,DemandeurAvant1,DemandeurApres1,RemplacantAvant1,RemplacantApres1 from changements"
    DoCmd.RunSQL sql
    je ne comprends pas pourquoi ça fonctionne quand je transfere un seul champ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO ChangementSynthese (NumeroChangement) select NumeroChangement from changements
    set des que j'en rajoute j'ai un message d'erreur Sql.
    Merci d'avance pour l'aide apportée.
    Patrick


  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Points : 1 041
    Points
    1 041
    Par défaut
    Bonjour,
    En utilisant la syntaxe

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into [Nom Table]  (Champs1,Champs2) values (Value1,value2)

    Je crois que ça devrait fonctionner

    bonne soirée

  3. #3
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    non ça ne marche pas car je prends les valeurs dans une table pour les ajouter dans une autre... elles n'apparaissent pas dans le form.
    Donc il faut bien indiquer où les prendre, non ?
    Je crois que "values" est valable pour recuperer les valeurs des champs d'un formulaire si j'ai bien lu...


  4. #4
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Mon chemin favoris est de faire la requete avec access, de voir le code en sql (clic droit puis mode sql) de copier ce code et de le coller dans vba.
    Donc pour ton cas tu dois faire une requete ajout:
    • une requete sur la table source avec les champs voulus
    • Mode de requete ajout dans la barre d'outils
    • il te démande de choisir la table de destination
    • Il prend directement les champs appropriés s'il y a une correspondance. Dans le cas contraire tu choisis les champs qui doivent être couplés

    Je m'excuse si je t'ai pris pour un niveau si bas
    A+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  5. #5
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    salut Alassane,
    non y'a pas de probleme j'ai un tout petit niveau...
    les requetes QBE je connais et j'ai essaye de coller la requette en mode SQL dans vba sans succes... la requete entre les " " est en rouge ! ?


  6. #6
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    En fait ce code doit être dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     docmd.runsql("ton code sql")
    Comment a tu split(monnom)?
    A+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  7. #7
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    ok m'sieur !
    ça fonctionne, mais saurais-tu me dire comment on peut tronçonner la ligne de code sql because y'en a plus de 3 mètres là !
    j'ai essayé avec " _" comme pour vba mais ça ne marche pas.


  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Points : 1 041
    Points
    1 041
    Par défaut
    bonjour,
    values n'est pas pour les formulaires car c'est une syntaxe sql pure et fonctionne aussi bien avec ACCESS, SQL server ou d'autres base de données.


    pour ce qui est du tronçonnage il faut ecrire par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sqlTxt="insert into ....." & _
              "......." & _
              "......." & _
              "......."
    bonne journée

  9. #9
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    Ok... merci à Cbleas et Alassanediakite pour leur aide mes requetes dans vba fonctionnent sur ce mode de redaction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim sql as string
    sql ="blablabla" 
    RunSQL sql
    le tronçonnage est Ok également encore merci à tous 2, ça va me permettre d'etudier la syntaxe... tout en pratiquant.
    Patrick


  10. #10
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    messieurs... RESPECT ! que ferais-je sans votre aide précieuse... je viens d'apprendre quelque chose en plus !


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

Discussions similaires

  1. [AC-2010] Requete SQL INSERT INTO .. VALUES
    Par phoon dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 06/07/2012, 10h05
  2. [XL-2010] Erreur sur requete sql insert into
    Par rvtoulon dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/09/2011, 18h03
  3. [MySQL] Requetes SQL INSERT INTO WHERE
    Par makamine dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 22/05/2011, 10h05
  4. [ACCESS] Bouton Requete SQL INSERT INTO
    Par harry le ravi dans le forum VBA Access
    Réponses: 8
    Dernier message: 28/06/2008, 22h33
  5. La commande INSERT INTO dans VBA
    Par peofofo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/06/2008, 11h35

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