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 :

[DEBUTANT][access 2003][VBA] Erreur d'execution '3075'


Sujet :

VBA Access

  1. #1
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut [access 2003][VBA] Erreur d'execution '3075'
    Salut à tous,
    voila mon problème :
    J'ai une requete SQL qui ne fonctionne pas, celle ci à pour but la mise a jour de deux tables :
    l'une nommée compte avec pour champs :
    n°compte, nom compte, selectionner
    le champs selectionner est un champs type vrai/faux avec case à cocher.

    l'autre table est une table groupe details avec pour champs :
    id_groupe, nom groupe, compte

    le but est de crée un groupe(table groupe_details) et d'y ajouter des comptes via la table compte.

    Pour modifier un groupe, je dois selectionner/deselectionner le compte voulu grace au champs selectionner de la table compte. Cette modification se fait à la suite d'un formulaire(alimenter par la table groupe_details) et d'un sous_formulaire (alimenter par la table compte).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "update comptes set selectionner= -1 where n°compte=(select compte from groupe_details where id_groupe '" & ig_gp & "')"
    malheureusement , ma requète est fausse...erreur d'execution 3075, erreur dans la syntaxe.

    merci pour votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    salut,
    il manque in = dans la sous requête, d'autre part, si la sous requête te renvoie plusieurs résultats il faut mettre un "IN" à la place du "=(sous_requête)"

  3. #3
    Membre actif
    Inscrit en
    Mai 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 179
    Points : 222
    Points
    222
    Par défaut
    Salut,
    certainement ==> remplacement du = par In soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "update comptes set selectionner= -1 where n°compte in (select compte from groupe_details where id_groupe '" & ig_gp & "')"
    Bonnes Fêtes

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    bon comme c'est les fêtes de fin d'année, je donne la requête complète :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "update comptes set selectionner= -1 where n°compte in (select compte from groupe_details where id_groupe = '" & ig_gp & "')"
    Attention toutefois, si le id_groupe est un numérique, ca donnerait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "update comptes set selectionner= -1 where n°compte in (select compte from groupe_details where id_groupe =" & ig_gp & ")"

  5. #5
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    C'est très gentil à toi mais malheureusement ça me donne exactement la meme erreur...

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    ok,
    ppeux-tu nous donner le résultat de ton debug.print de la requête stp ?

  7. #7
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Voici le topo :

    Pour création d'un groupe de plan de comtpe :

    table comptes :
    n°compte ; nom_compte ; selectionner
    623..........compte 1.............[X].......
    624..........compte 2.............[X].......

    Table groupe_details :
    id_groupe;compte
    1............623
    1............624

    Table groupe :
    id_groupe;nom_groupe;liste_comptes
    1............groupe1.......623 ; 624

    Pour modification d'un groupe de plan de compte :

    table comptes :
    n°compte ; nom_compte ; selectionner
    623..........compte 1.............[ ].......
    624..........compte 2.............[ ].......

    Table groupe_details :
    id_groupe;compte
    NULL.......NULL....
    NULL.......NULL....

    La modification s'effectuer via le sous formulaire de la table comptes. Le formulaire de modification en lui même est crée de la table groupe. Quand j'ouvre mon formulaire modification d'un groupe de plan de compte, le sous formulaire de la table comptes doit être mise à jours (champs selectionner , selon les comptes choisi comme ceci :

    sous formulaire de la table comptes :
    n°compte ; nom_compte ; selectionner
    623..........compte 1.............[X].......
    624..........compte 2.............[X].......

    Puis lorsque je décoche par exemple le compte 623 une mise à jour s'effectue :

    Table groupe_details :
    id_groupe;compte
    1............624
    ainsi que la table groupe. Mais je me penche principalement sur la mise à jour de la table groupe_details . d'ou ma requete sql sur entrée du sous formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub comptes_sous_formulaire_Enter() 'ouverture sous-formulaire = procédure en réalisation
    DoCmd.RunSQL "update comptes set selectionner= -1 where n°compte in (select compte from groupe_details where id_groupe =" & ig_gp & ")"
    End Sub
    Prenez bien le temps de m'aider à trouver une solution, je cherche de mon coté, mais bon sa fé dejà 3 jours que je suis bloquée la dessus...

    merci

  8. #8
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Citation Envoyé par jpcheck Voir le message
    ok,
    ppeux-tu nous donner le résultat de ton debug.print de la requête stp ?

    Oulaaaa je sais pas du tout comment on fais, mais si cela te parait trop compliquer, laisse tomber, je mettrais ce post en delestage...Mais je préfére comme même que tu m'aide...

    merci beaucoup

  9. #9
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    lol,
    que te donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.print "update comptes set selectionner= -1 where n°compte in (select compte from groupe_details where id_groupe =" & ig_gp & ")"
    stp

  10. #10
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Je reprécise une dernière chose...

    Tout ce que j'ai di, mon topo c'est uniquement pour te présenter la situation, penche toi principalement sur ma requete qui permet de mettre à jour le sous formulaire a son ouverture selon le groupe de plan de compte choisi. Que automatique, les case à cocher soient pleines par rapport au comptes choisis de ce groupe....

    Merci, gracias etc etc...

  11. #11
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Citation Envoyé par jpcheck Voir le message
    lol,
    que te donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.print "update comptes set selectionner= -1 where n°compte in (select compte from groupe_details where id_groupe =" & ig_gp & ")"
    stp
    c'est intéressant mais comme je fais pour savoir ce que me donne le debug.print, je le met dans la fenetre execution?

  12. #12
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    Citation Envoyé par Milyshyn76 Voir le message
    c'est intéressant mais comme je fais pour savoir ce que me donne le debug.print, je le met dans la fenetre execution?
    oui

  13. #13
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Je suis débutante ne l'oubli pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Debug.Print "update comptes set selectionner= -1 where n°compte in (select compte from groupe_details where id_groupe =" & ig_gp & ")"
    update comptes set selectionner= -1 where n°compte in (select compte from groupe_details where id_groupe =)

  14. #14
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    oki
    où vas-tu chercher le id_group ?

  15. #15
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    ig_gp est vide.
    Si tu fais un test en remplaçant ig_gp par un chiffre ta requête fonctionne.

    Si ig_gp est un champ vérifie pourquoi c'est vide.
    Si c'est une variable, affecte une valeur.

  16. #16
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Ah dsl ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id_gp = forms![modif_gp]![id_groupe].value

  17. #17
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    dsl,
    mais je croyais avoir repondu tt à l'heure, Mais j'ai du me tromper dans le bouton...

    Voici la variable de id_gp

    id_gp = forms![modif_gp]![id_groupe].value

    Il s'agit d'un controle du formulaire modif_gp, pour modifier le groupe, la source de ce contrôle vient de la table GROUPE...

  18. #18
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    remplace donc ta variable par la valeur en question, et donne nous
    1/ la requête issue du debug.print
    2/ le résultat de la requête
    stp

  19. #19
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Le truc c'est que ce contrôle ce remplit selon le groupe que je decide de modifier.... Les groupe sont répoertorié dans une zone de liste d'un autre formulaire. Lorsque je double clique sur un des groupes à modifier, j'ouvre automatique mon formulaire modif_gp et le controle id_groupe se remplit automatique mais je veux bien essayé d'y mettre une valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update comptes set selectionner= -1 where n°compte in (select compte from groupe_details where id_groupe =188)
    La j'y aie mis 188, l'id du groupe est 188.

    Mais c'est trop compliqué ce truc, franchement je comprendrais si tu m'abandonne...

  20. #20
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    ah ben non, soit je te fais sortir de l'eau, soit je t'aide à couler

    quel est le problème à ce niveau là du code ?
    la requête qu'on étudie ne mets pas à jour la table comme tu le souhaites ?

Discussions similaires

  1. [access 2003/VBA/SQL] Erreur d'execution 3201 sur une requête.
    Par Milyshyn76 dans le forum VBA Access
    Réponses: 6
    Dernier message: 02/05/2008, 09h04
  2. ACCESS 2003 : Code erreur d'execution '3075'
    Par Eric26 dans le forum Access
    Réponses: 22
    Dernier message: 14/08/2006, 16h37
  3. Réponses: 4
    Dernier message: 29/05/2006, 13h04
  4. Réponses: 7
    Dernier message: 26/05/2006, 14h14
  5. [VBA] erreur d'execution '3061'
    Par herendel dans le forum Access
    Réponses: 3
    Dernier message: 02/05/2006, 15h22

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