[access 2003, VBA ] erreur d'execution 3137
Résolu
Milyshyn
Messages postés
38
Statut
Membre
-
laetitia02 Messages postés 428 Statut Membre -
laetitia02 Messages postés 428 Statut Membre -
Bonjour,
voilà, j'ai un soucis de requete sql : Je voudrais inserer des donnée dans une table.
Voici mon code :
Il me génere une erreur d'execution 3137, point virgule absent à la fin de l'instruction sql.
le rst4!id_groupe correspont à l'id groupe d'une table, elle est pratiquement identique à celle où je veux inserer mes données.
1) j'inserer mes données dans ma table groupe_details id_groupe ; compte
2)j'inserer d'autre données dans une autre table ou l'id_groupe est identique.
Tout cela ce fait via un formulaire, le code provient d'un evenement click.
merci
voilà, j'ai un soucis de requete sql : Je voudrais inserer des donnée dans une table.
Voici mon code :
Set rst4 = CurrentDb.OpenRecordset(" select id_groupe from groupe_details") CurrentDb.Execute "insert into groupe(nom_groupe,liste_compte) values ('" & groupe & "','" & strlist & "') where id_groupe=" & rst4!id_groupe & "
Il me génere une erreur d'execution 3137, point virgule absent à la fin de l'instruction sql.
le rst4!id_groupe correspont à l'id groupe d'une table, elle est pratiquement identique à celle où je veux inserer mes données.
1) j'inserer mes données dans ma table groupe_details id_groupe ; compte
2)j'inserer d'autre données dans une autre table ou l'id_groupe est identique.
Tout cela ce fait via un formulaire, le code provient d'un evenement click.
merci
A voir également:
- [access 2003, VBA ] erreur d'execution 3137
- Office 2003 - Télécharger - Bureautique
- Erreur t32 ✓ - Forum Livebox
- Erreur 0x80070643 - Accueil - Windows
- Iptv erreur de lecture - Forum TV & Vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
5 réponses
Salut,
Je pense que vous avez plusieurs erreurs:
1. Pour access il faut toujours un ";" à la fin de la requete, cette erreur est dans:
Set rst4 = CurrentDb.OpenRecordset(" select id_groupe from groupe_details ;")
^
2. Pour la deuxième requete: il n'y a pas de "Wher" dans une requete de type "insert into" cela doit generer une erreur, Pour la corriger deux cas figurent:
a. Si vous voulez inserer dans la table une nouvelle ligne: vous devez mettre
insert into groupe(id_group,nom_groupe,liste_compte) values (" & rst4!id_groupe & ", '" & groupe & "','" & strlist & "');
b. Vous voulez faire une mise à jour:
Update groupe set nom_groupe = '" & groupe & "' and liste_compte= '" & strlist &"' where id_groupe=" & rst4!id_groupe & ";"
Bon courage.
Je pense que vous avez plusieurs erreurs:
1. Pour access il faut toujours un ";" à la fin de la requete, cette erreur est dans:
Set rst4 = CurrentDb.OpenRecordset(" select id_groupe from groupe_details ;")
^
2. Pour la deuxième requete: il n'y a pas de "Wher" dans une requete de type "insert into" cela doit generer une erreur, Pour la corriger deux cas figurent:
a. Si vous voulez inserer dans la table une nouvelle ligne: vous devez mettre
insert into groupe(id_group,nom_groupe,liste_compte) values (" & rst4!id_groupe & ", '" & groupe & "','" & strlist & "');
b. Vous voulez faire une mise à jour:
Update groupe set nom_groupe = '" & groupe & "' and liste_compte= '" & strlist &"' where id_groupe=" & rst4!id_groupe & ";"
Bon courage.
bonjour
dans les requete en vb il n y a pas besoin de ";" comme le dit precedement tarek_dotzero, l erreur viens du currentdb il faut d'abord faire
dim mabase as database
dim req as string
req="select id_groupe from groupe_detail"
set rst4=mabase.openrecordset(req)
req="update groupe set nom_groupe='" & groupe & "' and liste_compte='" & strlist & "' where id_groupe='" & rst4!id_groupe & "'"
docmd.runsql(req)
voila
dans les requete en vb il n y a pas besoin de ";" comme le dit precedement tarek_dotzero, l erreur viens du currentdb il faut d'abord faire
dim mabase as database
dim req as string
req="select id_groupe from groupe_detail"
set rst4=mabase.openrecordset(req)
req="update groupe set nom_groupe='" & groupe & "' and liste_compte='" & strlist & "' where id_groupe='" & rst4!id_groupe & "'"
docmd.runsql(req)
voila
salut,
Pour ma part on me tutoie...
c'est parfait la requete marche à merveille...merci beaucoup
Pour ma part on me tutoie...
c'est parfait la requete marche à merveille...merci beaucoup
Set rst4 = CurrentDb.OpenRecordset(" select id_groupe from groupe_details ;") insert into groupe(id_group,nom_groupe,liste_compte) values (" & rst4!id_groupe & ", '" & groupe & "','" & strlist & "');
Set rst4 = CurrentDb.OpenRecordset(" select id_groupe from groupe_details ;") CurrentDb.Execute "insert into groupe(id_groupe,nom_groupe,liste_compte) values (" & rst4!id_groupe & ", '" & groupe & "','" & strlist & "'); "
Voila la syntaxe exacte. Je n'ai pas eu besoin d'utiliser docmd.runsql...
POurquoi???? cela changer quelque chose ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question