Problème de requete entre VB6 et ACCESS [Résolu]

VB_PtitCat 197 Messages postés mercredi 30 mai 2007Date d'inscription 13 mai 2009 Dernière intervention - 3 sept. 2007 à 13:29 - Dernière réponse : jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention
- 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
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 3 sept. 2007 à 13:40
3
Merci
Salut,
essaie plutot ceci:

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 & "'", ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée

Merci jrivet 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de jrivet
Meilleure réponse
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 3 sept. 2007 à 14:20
3
Merci
Salut,

C'est que ton IDsel doit valoir 0 au moment de l'exécution de ta requête...Regarde que tu récupère bien le bon IDsel avant de lancer ta requête..

A+
Exploreur

 Linux a un noyau, Windows un pépin

 

Merci cs_Exploreur 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_Exploreur
Molenn 797 Messages postés mardi 7 juin 2005Date d'inscription 23 février 2011 Dernière intervention - 3 sept. 2007 à 13:42
0
Merci
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^^)

En résumé, ta qrequête SQL devrait être :
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 & """""

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)

Molenn
Commenter la réponse de Molenn
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 3 sept. 2007 à 13:56
0
Merci
Salut,

VB_PtitCat >> Euh....Tu n'as pas oublié défois le nom de ta fonction...? Ou c'est une erreur de copier/coller ?

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Commenter la réponse de cs_Exploreur
VB_PtitCat 197 Messages postés mercredi 30 mai 2007Date d'inscription 13 mai 2009 Dernière intervention - 3 sept. 2007 à 14:06
0
Merci
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
Commenter la réponse de VB_PtitCat
VB_PtitCat 197 Messages postés mercredi 30 mai 2007Date d'inscription 13 mai 2009 Dernière intervention - 4 sept. 2007 à 08:29
0
Merci
En faite c'est parce que mon collège avez placer un ID null ^^
merci de votre aide

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
Commenter la réponse de VB_PtitCat
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 4 sept. 2007 à 08:37
0
Merci
Re,
Oublie le bouton réponse acceptée

@+: Ju£i?n
Pensez: Réponse acceptée
Commenter la réponse de jrivet
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 4 sept. 2007 à 08:37
0
Merci
Re,
Désolé je voulais dire

Oublie PAS le bouton réponse acceptée sur les posts qui t'on aidé.

@+: Ju£i?n
Pensez: Réponse acceptée
Commenter la réponse de jrivet
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 4 sept. 2007 à 08:58
0
Merci
Salut,

Jrivet >> Bonne Rentrée.....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Commenter la réponse de cs_Exploreur
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 4 sept. 2007 à 09:23
0
Merci
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.

@+: Ju£i?n
Pensez: Réponse acceptée
Commenter la réponse de jrivet

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.