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 :

Problème de requête "insert into" avec du VBA [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 21
    Points : 15
    Points
    15
    Par défaut Problème de requête "insert into" avec du VBA
    Bonjour,

    Voilà j'ai le message d'erreur suivant

    Erreur d'exécution '3824':

    Une requête INSERT INTO ne peut pas contenir un champ à plusieurs valeurs.
    Voici mon code :

    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
     Private Sub Commande14_Click()
    Set db = CurrentDb
     
    Dim mu  as String
    Dim grp as String
    Dim libel as String
     
    libel = Me.Texte0.Value
    mu = Me.Modifiable10.Value
    grp = Me.Modifiable16.Value ' aussi essayé avec Me.liste6.Value
     
    ' Voila ou ce trouve l'erreur, la variable "mu" me donne ma table selon la sélection dans une liste déroulante,  libel est une chaîne de caractère, 
    grp me donne une chaîne de caractère qui va dans un champ a choix multiple.
     
    db.Execute " INSERT INTO [" & mu & "] ( Libelle, Groupe) VALUES (""" & libel & """ , """ & grp & """);"
    dans la console d'exécution

    ?grp

    Groupe 1

    C'est avec grp que j'ai le souci et je ne sais pas pourquoi ...

    Merci d'avance

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 34
    Points : 43
    Points
    43
    Par défaut
    Que contient ta modifiable ? un label ou l'identifiant de ton enregistrement pour le rowsource ?

    grp = Me.Modifiable16.Value
    ajoute un espion et contrôle la propriété valeur à l'instant où la valeur est assignée et dit nous ^^

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    L'espion donne ceci,

    expression : grp Valeur "Groupe 1" Type : String ...
    Hummmm il semblerai que le problème ne vienne pas de là, j'ai essayé sans la variable "grp" et j'ai eu la même erreur.

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 34
    Points : 43
    Points
    43
    Par défaut
    On va check ce qui cloche par petit bout ^^

    au niveau de mu, ajoute un espion à mu est quelle est sa valeur au moment de db.execute ?

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Alors "mu":

    Expression: "mu" Valeur "Salle de contrôle" Type : String ...
    mais la première colonnes mu fonctionne sans problème et libel insert bien la bonne valeur.

    Le souci de la deuxième colonne de mes tables est que ce sont des "multi-values" par exemple directement dans la table, je peux cocher "Groupe 1" & "Groupe 2" etc
    Pensez vous que cela puisse poser problème ?

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    en faisant des tests j'ai vue que le problème venait du champs de destination "Groupe" j'ai essayé avec "libel" qui fonctionne et j'ai eu la même erreur.

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 34
    Points : 43
    Points
    43
    Par défaut
    Oui tu ne peux pas faire d'ordre insert à partir d'un champs multivalué d'où ton erreur

    Erreur d'exécution '3824':
    Une requête INSERT INTO ne peut pas contenir un champ à plusieurs valeurs.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 60
    Points : 32
    Points
    32
    Par défaut
    j'ai eu le même soucis, tu exe sur des champs qui ont plusieurs valeurs (liste deroulante ?).

  9. #9
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Oui c'est le champ multi valué qui me posai problème.
    Mais j'y suis finalement parvenue.

    En faite les champs multi-valués sont des "sous-recordset"

    ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     ......
    Set db = CurrentDb
    Set rec = db.OpenRecordset(" ma table ")
     
    Set rac = rec("nom de mon champs multi-valué).value
     
    rec.AddNew
       .....
      rac.AddNew
          ....
      rac.update
     
    rec.update
    il y a un tuto fais ici bien que j'ai eu du mal à le saisir
    http://warin.developpez.com/access/multivalue/#LV

    En espérant que ça puisse aidé ^^

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

Discussions similaires

  1. [AC-2007] Problème de jointure dans INSERT INTO avec INNER JOIN
    Par andy331 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 16/03/2010, 15h59
  2. Problème de requête sql INSERT INTO
    Par momoh dans le forum VB.NET
    Réponses: 2
    Dernier message: 18/02/2009, 16h58
  3. Problème requête sql : INSERT INTO
    Par bobosh dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/08/2008, 10h43
  4. [VB.Net][Access] Problème de requête d'insertion
    Par xG-Hannibal dans le forum Windows Forms
    Réponses: 1
    Dernier message: 28/07/2006, 11h57

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