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 INSERT INTO sous VBA qui ne marche pas [AC-2003]


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 27
    Points : 25
    Points
    25
    Par défaut Requête INSERT INTO sous VBA qui ne marche pas
    Bonjour à tous,

    J'ai un code VBA qui consiste à insérer dans une table "SELECT_DEP" le contenu d'une zone de liste à sélection multiple.

    Le code se compose donc de deux parties.
    Une première qui consiste à récupérer le contenu de la liste.
    Une seconde qui consiste à insérer le contenu de chaque ligne sélectionnée dans la table.

    Ce code ci-dessous marche pour la première étape, mais pas pour la seconde.

    Est-ce une erreur de définition de variable?
    Une erreur dans la ligne contenant la requête SQL?

    Merci pour vos réponses.

    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
    16
    17
    18
    Private Sub Commande27_Click()
     
    Dim varI As Variant
    Dim monFiltre As String
    Dim strSQL As String
    Dim MyDB As DAO.Database
    Set MyDB = CurrentDb()
     
    If Me.departement.ItemsSelected.Count > 0 Then
    For Each varI In Me.departement.ItemsSelected
    monFiltre = monFiltre & Chr(34) & Me.departement.Column(0, varI) & Chr(34) & ","
    add_dep = Me.departement.Column(0, varI)
    strSQL = "INSERT INTO SELECT_DEP(dep) VALUES (""&add_dep&"");"
    MsgBox Me.departement.Column(0, varI)
    Next varI
    monFiltre = Left(monFiltre, Len(monFiltre) - 1)
    End If
    End Sub

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 755
    Points : 57 599
    Points
    57 599
    Billets dans le blog
    42
    Par défaut
    bonjour,

    on dirait qu'il manque des cotes: "

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strSQL = "INSERT INTO SELECT_DEP(dep) VALUES (""" & add_dep & """);"

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 27
    Points : 25
    Points
    25
    Par défaut
    Ce n'est pas un problème de "", add_dep est une variable.
    De plus, la requête SQL fonctionne (avec l'assistant Requête Ajout) apparemment.

    EDIT: j'ai trouvé!

    Voici la ligne à insérer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL ("INSERT INTO SELECT_DEP(dep) VALUES (" & add_dep & ");")

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

Discussions similaires

  1. [AC-2003] RowSource d'un etat VBA qui ne marche pas
    Par kesamba dans le forum VBA Access
    Réponses: 10
    Dernier message: 22/02/2012, 19h40
  2. [MySQL] INSERT aprés un SELECT qui ne marche pas
    Par mrsoyer dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/10/2011, 15h45
  3. INSERT INTO + sous requètes
    Par dahu17 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/04/2007, 16h41
  4. Macro sous VBE qui ne marche pas
    Par etudiant en hydro dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/03/2007, 17h28
  5. Réponses: 1
    Dernier message: 24/09/2006, 14h36

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