VB6 et INSERT INTO (probleme)

Résolu
cs_elnk Messages postés 49 Date d'inscription jeudi 8 novembre 2007 Statut Membre Dernière intervention 23 mai 2010 - 4 mai 2008 à 09:22
fabienfe Messages postés 2 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 13 mai 2008 - 5 mai 2008 à 18:36
Bonjour,
j ai un petit soucis sous VB6 lors de l execution de ma requete insert ja i le message d erreur suivant :


------------------------------------------------------------------

Erreur d'execution '-2147217900 (80040e14)'

Erreur de synthaxe dans l instruction INSERT INTO

-----------------------------------------------------------------

avec le code suivant :

------------------------------------------------------------

' pour le premier horaire INSERT INTO
requete6 = "INSERT INTO ALLERCOURS (ins_etr, cours_etr) VALUES (" & strIdInsc & "," & strIdCours & ")"

If CboxAddJr.Text <> "" Or CboxAddJr.Text <> "Jour :" Then
' connexion à la base de donnée + recup de l ID du premier horaire
Call connect_DB
Rst.Open requete3, cnxConnect
strIdCours = Rst("cours_id")
cnxConnect.Close
' insertion des la table ALLERCOURS
Call connect_DB
cnxConnect.Execute requete6
cnxConnect.Close
End If

----------------------------------------------------

Dans la base les champs ins_etr et cours_etr sont en Numérique

4 réponses

fabienfe Messages postés 2 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 13 mai 2008
5 mai 2008 à 18:36
Salut,


essaies en mettant ta variable strldCours = Rst("cours_id") avant ta requête ;)


comme ceci :

If CboxAddJr.Text <> "" Or CboxAddJr.Text <> "Jour :" Then
    ' connexion à la base de donnée + recup de l ID du premier horaire
    Call connect_DB
    Rst.Open requete3, cnxConnect
    strIdCours = Rst("cours_id")
    cnxConnect.Close
    ' insertion des la table ALLERCOURS
    Call connect_DB
    requete6 = "INSERT INTO ALLERCOURS (ins_etr, cours_etr) VALUES (" & strIdInsc & "," & strIdCours & ")"

    cnxConnect.Execute requete6
    cnxConnect.Close
End If

++
Yuka
3
Le grand Zorro Messages postés 50 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 12 mai 2008
4 mai 2008 à 10:47
Bonjour,
il ne manquerait pas des simples quotes entourant les variables chaines de caractères ?  ainsi qu'un point virugule à la fin?
0
cs_elnk Messages postés 49 Date d'inscription jeudi 8 novembre 2007 Statut Membre Dernière intervention 23 mai 2010
4 mai 2008 à 12:09
aussi, j av oublier de preciser que la base de donnée est une base access.
Sinon, je en pense pas ke le " ; " util je ne m en suis jms servi en VB6 et les simples quotes ne fonctionne pas etant donné que dans ma base les champs sont de type : Numérique.

Sinon pour preciser j ai d abord 3 requete d insert puis ensuit 3 conditions , si elles sont valide elle execute chaqune leur requete d insert mais j ai toujours la meme erreur.
Pour plus precision voici le code en entier ( long mais normalement asser simple ) :

Lors du debug l' erreur indique la ligne en rouge : ( donc l execution de la premier requete d insert )
-------------------------------------------------------------------------------------------------

' pour le premier horaire INSERT INTO
requete6 = "INSERT INTO `ALLERCOURS` (ins_etr, cours_etr) VALUES (" & strIdInsc & "," & strIdCours & ")"
' Pour le second horaire INSERT INTO ( Si besoin )
requete7 = "INSERT INTO ALLERCOURS (ins_etr, cours_etr) VALUES (" & strIdInsc & "," & strIdCours2 & ")"
' Pour le troisieme horaire INSERT INTO ( Si besoin )
requete8 = "INSERT INTO ALLERCOURS (ins_etr, cours_etr) VALUES (" & strIdInsc & "," & strIdCours3 & ")"


If CboxAddJr.Text <> "" Or CboxAddJr.Text <> "Jour :" Then
    ' connexion à la base de donnée + recup de l ID du premier horaire
    Call connect_DB
    Rst.Open requete3, cnxConnect
    strIdCours = Rst("cours_id")
    cnxConnect.Close
    ' insertion des la table ALLERCOURS
    Call connect_DB
    cnxConnect.Execute requete6
    cnxConnect.Close
End If
   
If CboxAddJr2.Text <> "" Or CboxAddJr2.Text <> "Jour :" Then
    ' connexion à la base de donnée + recup de l ID du second horaire
    Call connect_DB
    Rst.Open requete4, cnxConnect
    strIdCours2 = Rst("cours_id")
    cnxConnect.Close
    ' insertion des la table ALLERCOURS
    Call connect_DB
    cnxConnect.Execute requete7
    cnxConnect.Close
End If
   
If CboxAddJr3.Text <> "" Or CboxAddJr3.Text <> "Jour :" Then
    ' connexion à la base de donnée + recup de l ID du troisieme horaire
    Call connect_DB
    Rst.Open requete5, cnxConnect
    strIdCours3 = Rst("cours_id")
    cnxConnect.Close
    ' insertion des la table ALLERCOURS
    Call connect_DB
    cnxConnect.Execute requete8
    cnxConnect.Close
End If
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
5 mai 2008 à 00:17
Salut,
Moi je vois des quotes de trop : ' ALLERCOURS ' ..
Et un  espace de moins : & ", " &
requete6 = "INSERT INTO ALLERCOURS (ins_etr, cours_etr) VALUES (" & strIdInsc & ", " & strIdCours & ")"

<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
/PRE>
0
Rejoignez-nous