Problème d'xécution de requête SQL
Résolu
lina012
Messages postés
51
Date d'inscription
Statut
Membre
Dernière intervention
-
lina012 Messages postés 51 Date d'inscription Statut Membre Dernière intervention -
lina012 Messages postés 51 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un problème dans une requête sql.
En fait, j'ai créé une base sur access, et je travaille sur une application vb pour visualiser les données, ajouter des enregistrements, supprimer d'autres...
Pour le moment, je n'arrive pas à ajouter des enregistrements à ma table , le compilo m'indique que l'erreur se trouve dans ma requête.
donc j'ai une table etudiant avec IdEtudiant, NomEtudiant et PrenomEtudiant
et dans ma form sur vb j'ai 3TextBox ou je veux écrire mes enregistrements pour les ajouter par ma suite dans ma base access :
voilà la fonction :
Private Sub Ajouter_Click()
Dim NomE, PrenomE As String
Dim IdE As Integer
Dim MaTable, MonSQL As String
IdE = Text1.Text
NomE = Text2.Text
PrenomE = Text3.Text
MaTable = "Etudiant"
' Requête SQL d'insertion
MonSQL = "INSERT INTO " & MaTable & " ("
MonSQL = MonSQL & "IdEtudiant"
MonSQL = MonSQL & ",NomEtudiant"
MonSQL = MonSQL & ",PrenomEtudiant"
MonSQL = MonSQL & ") VALUES ("
Mon SQL= MonSQL & "&IdE&" & ",""&NomE&" & ",""&PrenomE&"
MonSQL = MonSQL & ")"
db.Execute (MonSQL) ' j'exécute ma requête d'ajout, le compilo bloque et me surligne ça
End Sub
j'ai le message d'erreur suivant : erreur 3075 opérateur de syntaxe absent.
ça me surligne le db.Execute
quelqu'un a une idée de la manière comment on peut résoudre ce problème pour que je puisse rajouter mes enregistrements dans ma table ???
merci.
j'ai un problème dans une requête sql.
En fait, j'ai créé une base sur access, et je travaille sur une application vb pour visualiser les données, ajouter des enregistrements, supprimer d'autres...
Pour le moment, je n'arrive pas à ajouter des enregistrements à ma table , le compilo m'indique que l'erreur se trouve dans ma requête.
donc j'ai une table etudiant avec IdEtudiant, NomEtudiant et PrenomEtudiant
et dans ma form sur vb j'ai 3TextBox ou je veux écrire mes enregistrements pour les ajouter par ma suite dans ma base access :
voilà la fonction :
Private Sub Ajouter_Click()
Dim NomE, PrenomE As String
Dim IdE As Integer
Dim MaTable, MonSQL As String
IdE = Text1.Text
NomE = Text2.Text
PrenomE = Text3.Text
MaTable = "Etudiant"
' Requête SQL d'insertion
MonSQL = "INSERT INTO " & MaTable & " ("
MonSQL = MonSQL & "IdEtudiant"
MonSQL = MonSQL & ",NomEtudiant"
MonSQL = MonSQL & ",PrenomEtudiant"
MonSQL = MonSQL & ") VALUES ("
Mon SQL= MonSQL & "&IdE&" & ",""&NomE&" & ",""&PrenomE&"
MonSQL = MonSQL & ")"
db.Execute (MonSQL) ' j'exécute ma requête d'ajout, le compilo bloque et me surligne ça
End Sub
j'ai le message d'erreur suivant : erreur 3075 opérateur de syntaxe absent.
ça me surligne le db.Execute
quelqu'un a une idée de la manière comment on peut résoudre ce problème pour que je puisse rajouter mes enregistrements dans ma table ???
merci.
A voir également:
- Problème d'xécution de requête SQL
- Logiciel sql - Télécharger - Bases de données
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Sql lister les tables ✓ - Forum Programmation
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
4 réponses
Y'a une erreur a l'avant derniere ligne des affectations monSQL (tas mis mon SQL)
Pour eviter ce genre derreurs, tu ajoutes "option explicit" en haut de ton code et tu declares proprement tes variables
Pour eviter ce genre derreurs, tu ajoutes "option explicit" en haut de ton code et tu declares proprement tes variables
Oui dans cette ligne les & qui entourent chaque variable, je vois pas ce qu'ils signifient
oui c'est sûr que c'est là ou ca bloque , je suis débutante , et la syntaxe sur vb ce n'est pas mon point fort .
strSQL = strSQL & "IdE" & ",""NomE" & ",""PrenomE"
erreur de synatxe, opérateur absent dans NomE, PrenomE
j ai trouvé le même problème en résolu sur https://codes-sources.commentcamarche.net/ mais je n'arrive pas à comprendre
merci
strSQL = strSQL & "IdE" & ",""NomE" & ",""PrenomE"
erreur de synatxe, opérateur absent dans NomE, PrenomE
j ai trouvé le même problème en résolu sur https://codes-sources.commentcamarche.net/ mais je n'arrive pas à comprendre
merci
Ah non non en fait tu fais des erreurs avec tes guillemets !
ca doit donner
strSQL = "INSERT INTO " & strTable & " ('" & IdEtudiant & "','" & NomEtudiant & "','" & PrenomEtudiant & "') VALUES ('" & IdE &"','" & NomE & "','" & PrenomE & "')"
Copie colle ce code et a voir si il n'y a pas un point virgule en fin de requete
ca doit donner
strSQL = "INSERT INTO " & strTable & " ('" & IdEtudiant & "','" & NomEtudiant & "','" & PrenomEtudiant & "') VALUES ('" & IdE &"','" & NomE & "','" & PrenomE & "')"
Copie colle ce code et a voir si il n'y a pas un point virgule en fin de requete
Oui désolé la c'est moi qui suis a l'ouest
Il faut ecrire
strSQL = "INSERT INTO " & strTable & " ('IdEtudiant','NomEtudiant','PrenomEtudiant') VALUES ('" & IdE &"','" & NomE & "','" & PrenomE & "')"
Réessaie maintenant et quand ca marche oublie pas d'essayer de comprendre pourquoi par rapport a avant (les & n'entourent que les variables VB a l'exterieur des guillemets)
Bon courage
Il faut ecrire
strSQL = "INSERT INTO " & strTable & " ('IdEtudiant','NomEtudiant','PrenomEtudiant') VALUES ('" & IdE &"','" & NomE & "','" & PrenomE & "')"
Réessaie maintenant et quand ca marche oublie pas d'essayer de comprendre pourquoi par rapport a avant (les & n'entourent que les variables VB a l'exterieur des guillemets)
Bon courage
merci beaucoup de me répondre à chaque fois aussi rapidement .
maintenant, ca me donne une autre erreur :
erreur 3127
L'instruction INSERT INTO contient le nom de champ inconnu suivant : IdEtudiant
Assurez-vous que vous avez correctement saisi le nom , puis recommencez l'opération
c un peu bizarre car je viens d'aller voir dans la base et les noms des champs sont identiques.
maintenant, ca me donne une autre erreur :
erreur 3127
L'instruction INSERT INTO contient le nom de champ inconnu suivant : IdEtudiant
Assurez-vous que vous avez correctement saisi le nom , puis recommencez l'opération
c un peu bizarre car je viens d'aller voir dans la base et les noms des champs sont identiques.
(desole d'avoir mis plsu de temps mais jme suis absente un instant)
Oui eh bien là tu dois surveiller que les majuscules sont bien placées au meme endroit pour avoir exactement le meme nom que ton champ
Essaie aussi d'enlever les ' que j'avais mises pour voir ce que ca donne
Oui eh bien là tu dois surveiller que les majuscules sont bien placées au meme endroit pour avoir exactement le meme nom que ton champ
Essaie aussi d'enlever les ' que j'avais mises pour voir ce que ca donne
merci encore .
mais le problème se pose toujours , j'ai enlevé les ' mais ça me renvoie à la fonction de lecture des données qui marche nikel, ça me dit à ce moment là que le blc with n'est pas défini, je remets les ' , je vérifie les majuscules et tt mais je retrouve mon erreur de variable non reconnue.
je me demande si c'est une histoire d'espace ou quelque chose comme ça...
tu penses que je dois penser à utiliser la fonction trim ???
mais le problème se pose toujours , j'ai enlevé les ' mais ça me renvoie à la fonction de lecture des données qui marche nikel, ça me dit à ce moment là que le blc with n'est pas défini, je remets les ' , je vérifie les majuscules et tt mais je retrouve mon erreur de variable non reconnue.
je me demande si c'est une histoire d'espace ou quelque chose comme ça...
tu penses que je dois penser à utiliser la fonction trim ???
en fait, en enlevant les ' -comme tu m'as dit- , j'arrive à rajouter les enregistrements dans ma base (ENFIN !!) même si j'ai un message d'erreur qui est en rapport à ma fonction d'actualisation des enregistrements que j'appelle pour remettre tout de suite le nom de l'étudiant dans ma liste défilante, mais du coup, je l'ai enlevé maintenant, c'est pas grave, je dois ré-exécuter mon programme pour l'avoir , le plus important c'est que CA MARCHE :)
Voilà, c'est bien RESOLU grâce à toi julplemet.
Merci.
@bientôt.
Voilà, c'est bien RESOLU grâce à toi julplemet.
Merci.
@bientôt.
Private Sub Ajouter_Click()
Dim NomE, PrenomE As String
Dim IdE As Integer
Dim strTable, strSQL As String
IdE = Text1.Text
NomE = Text2.Text
PrenomE = Text3.Text
strTable = "Etudiant"
' Requête SQL d'insertion
strSQL = "INSERT INTO " & strTable & " ("
strSQL = strSQL & "IdEtudiant"
strSQL = strSQL & ",NomEtudiant"
strSQL = strSQL & ",PrenomEtudiant"
strSQL = strSQL & ") VALUES ("
strSQL = strSQL & "&IdE&" & ",""&NomE&" & ",""&PrenomE&"
strSQL = strSQL & ")"
' Exécute la requête d'ajout des données dans la table
db.Execute (strSQL)
End Sub
merci