VB_PtitCat
Messages postés197Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention13 mai 2009
-
3 sept. 2007 à 13:29
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
4 sept. 2007 à 09:23
Voilà il me dit qu'il a une erreur d'éxecution '40002':
37000:[Microsoft][Pilote ODBC Microsoft Access]Trop peu de paramètres. 5 attendu.
Problème j'envoie belle et bien 5 paramètres ...
Voilà mon script de mise a jour de la db :
Public Function(newnamefct As String, newpara1 As String, newpara2 As String, _
newpara3 As string, IDsel As String) As String
'Requete de mise a jour de la db.
requete = "UPDATE Fonction " & _
_
"SET Fonction.Fct_Description = newnamefct, Fonction.Fct_Par_1 = newpara1, " _
& _
"Fonction.Fct_Par_2 = newpara2, Fonction.Fct_Par_3 = newpara3 " _
& _
"WHERE Fonction.Fct_Id = IDsel"
'Resultat interpretation requete.
Set Resultat = GLB_Jeton_Access.OpenResultset(requete, rdOpenKeyset)
End Function, ----
(Coloration syntaxique automatique par Kenji)
MerZi ... Zi ... Zi ... PtitCat P.S:DSL pour l'orthographe
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 3 sept. 2007 à 13:42
Normal, le message d'erreur concerne ODBC et non ta fonction. Tu envois 5 paramètres dans ta fonction, mais ta requête SQL n'en a aucun elle.
En effet, "SET Fonction.Fct_Description = newnamefct, Fonction.Fct_Par_1 = newpara1 ... etc "
Ta requête SQL va chercher un enregistrement contenant "newnamefct" et non ton paramètre. Il faut écrire ta requête SQL avec les variables paramètres, et non le nom de cette variable paramètre (si je m'exprime clairement^^)
Pas nécessaire de séparer les variables comme je l'ai fait avec """", il y a une autre syntaxe. Mais personnellement, je préfère faire comme ça, par habitude, et parce que j'arrive plus facilement à relire mes requête (quand j'encadre une variable ainsi, c'est qu'elle est de type String)
VB_PtitCat
Messages postés197Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention13 mai 2009 3 sept. 2007 à 14:06
Non lol j'l'ai pas oublié j'l'ai mis même si seul la requete me pose problème, enfin c suspect ...
j'ai modifier en effet j'avai oublié les cotes et double cotes, problème en fait ca m'as eu l'air de marché mais en fait, a moitié voilà mon script remanié :
Public Function ModifFct(newnamefct As String, newpara1 As Integer, newpara2 As _
Integer, newpara3 As Integer, IDsel As Integer) As String
'requete de mise a jour de la db
requete = "UPDATE Fonction " & _
"SET Fonction.Fct_Description = '" & newnamefct & _
"', Fonction.Fct_Par_1 = " & newpara1 & ", " & _
"Fonction.Fct_Par_2 = " & newpara2 & _
", Fonction.Fct_Par_3 = " & newpara3 & " " & _
"WHERE Fonction.Fct_Id = " & IDsel & " "
'resultat interpretation requete
GLB_Jeton_Access.Execute requete, rdExecDirect
End Function, ----
(Coloration syntaxique automatique par Kenji)
En fait je l'ai executé et il ma supprimé la ligne d'ID 0 dans mon Access et ne modifie pas les donnée de la ligne d'ID 1, pour le rest ca ma l'air de fonctionner ...
MerZi ... Zi ... Zi ... PtitCat P.S:DSL pour l'orthographe
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 4 sept. 2007 à 09:23
Re,
>[auteurdetail.aspx?ID=17710 Exploreur]: (salut), C'est vrai qu'en ce moment j'ai un peu de mal. mais je crois que c'est plus l'heure que la rentrée.