Encore et toujours ... Trop Peu de Paramètre. 3 attendu, pour requete de modific

Résolu
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009 - 5 sept. 2007 à 09:22
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009 - 5 sept. 2007 à 11:30
C magique maintenant j'ai un problème d'argument mais plus sur la suppression, mais sur la modification, je vais finir par croire que VB n'est plus mon ami ^^

Ma requete est :
Private Sub CmdModif_Click()
'requete modification des raisons cause 
Dim NumIdRCFctSelM As Long
NumIdRCFctSelM = CLng(CboIDSel.Text)
NumNomFctSelM = Clng(Mid(CboFctM.Text, 1, 2))

Requete = "UPDATE Raison_Cause " & _
          "SET Raison_Cause.Rai_Cau_Fct_Id = " & NumNomFctSelM & _
            ", Raison_Cause.Rai_Cau_Description = " & TxtRCDM.Text & _
            ", " & _
          "Raison_Cause.Rai_Cau_Type = " & TxtRCTM.Text & " " & _
            _
          "WHERE Raison_Cause.Rai_Cau_Id = " & NumIdRCFctSelM & " "

MsgBox NumIdRCFctSel

'resultat interpretation requete
GLB_Jeton_Access.Execute Requete, rdExecDirect

Y me fou l'erreur au niveau de ma requete, bien entendu ^^
MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe

19 réponses

VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
5 sept. 2007 à 11:01
Donc je suis une abruitie, mais surtout je suis Aveugle

    Requete =  "UPDATE Raison_Cause " & _
              "SET  Raison_Cause.Rai_Fct_Id   = "
 & NumNomFctSelM & _
                ", " & _
                  "Raison_Cause.Rai_Cau_Description = '" & TxtRCDM.Text _
                    & "', " & _
                  "Raison_Cause.Rai_Cau_Type = '" & TxtRCTM.Text & _
                    "' " & _
              "WHERE Raison_Cause.Rai_Cau_Id = " & NumIdRCFctSelM & _
                " "
Donc en fait c'est Raison_Cause.Rai_Cau_Fct_Id et non Raison_Cause.Rai_Fct_Id  

Mrc de tout ce temps perdu pour mon icapacité a ouvrir les YX ^^

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
5 sept. 2007 à 09:37
Salut,

Essaye ta requête comme cela :
Requete "UPDATE Raison_Cause  SET Raison_Cause.Rai_Cau_Fct_Id " & NumNomFctSelM & ", Raison_Cause.Rai_Cau_Description = '" & TxtRCDM.Text & "', Raison_Cause.Rai_Cau_Type = '" & TxtRCTM.Text & "'  WHERE Raison_Cause.Rai_Cau_Id = " & NumIdRCFctSelM & ""

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
5 sept. 2007 à 09:40
J'ai justement essayé ca change c vrai il me di k'il n'atten plu ke 1 arg ^^
lol

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
5 sept. 2007 à 09:42
Sauf que j'ai mis
Requete = "UPDATE Raison_Cause " & _
          "SET Raison_Cause.Rai_Cau_Fct_Id = '" & NumNomFctSelM & _
            "', Raison_Cause.Rai_Cau_Description = '" & TxtRCDM.Text & _
            "', " & _
          "Raison_Cause.Rai_Cau_Type = '" & TxtRCTM.Text & "' " & _
            _
          "WHERE Raison_Cause.Rai_Cau_Id = " & NumIdRCFctSelM & " "

C.à.d tout ce qui n'est pas ID ^^
MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
5 sept. 2007 à 09:47
Salut,
 
Rajoute :

Dim NumNomFctSelM As Long

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
5 sept. 2007 à 09:50
il est dans mes variables public ^^

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
5 sept. 2007 à 09:50
Salut,

Un petit conseil pour la lisibilité du code, "découpe" bien tes requêtes...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
5 sept. 2007 à 09:54
Re,

Dans ta reqûete, tous tes champs de la table y sont ou pas ? Car il suffit que tu ne fasse pas référence à un seul champ pour que cela ne fonctionne pas...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
5 sept. 2007 à 09:55
Sur le Pc avec le quel je travaille et developpe t'inquiète pas je l'ai est bien coupé, la c'est a cause de la coloration syntaxique ( http://charles.racaud.free.fr/code-syntaxing/ ) ca bouge un peu tout dsl

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
5 sept. 2007 à 09:57
Ouai je sais, dans ma table Cause_Raison j'ai 3 champs : 
         Rai_Cau_Fct_Id --> Numérique
         Rai_Cau_Description --> Text
         Rai_Cau_Type --> Text
....

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
5 sept. 2007 à 09:58
Fait un msgbox requête, et regarde comment sont encadré tes valeurs, si elles le sont toutes pareil...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
5 sept. 2007 à 10:05
J'ai déja mis un espion ^^
est il me mes pour la ligne que je veut modif bien entendu :"UPDATE Raison_Cause SET Raison_Cause.Rai_Fct_Id 1, Raison_Cause.Rai_Cau_Description'piop', Raison_Cause.Rai_Cau_Type ='plip' WHERE Raison_Cause.Rai_Cau_Id = 35"

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
5 sept. 2007 à 10:18
Re,

Apparement ta requête espion me paraît bonne....Hum..Hum...Peut-être un problème au niveau de l'ID ou un problème d'orthographe des champs et variables..A vérifier...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
5 sept. 2007 à 10:22
l'ID est le bon je vérifie a chaque fois dans ma DB, et pour ce qui est des variables elle on chacune un nom précis, et donc je ne peux me tromper, enfin j'ai tout de même vérifier, mais bon j'ai rien vue.
A la fin je peux donc me dire qu'aujourd'hui VB6 a décidé de me faire la tête ^^

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
5 sept. 2007 à 10:40
Pour être sur que ce n'est pas une erreur situé autre part, je te fil le script complet de ma feuille modif/créa/suppr ...


Script FrmModifRaisonCauseBD :






Public NumNomFctSel As Long
Public NumNomFctSelM As Long
Public NumNomFctSelC As Long

Option Explicit
    'variables base données
    Dim Status          As Long  'gestion erreur
    Dim Resultat        As rdoResultset 'resultat de la requete
    Dim Requete        As String

Private Sub Form_Load()
    'Connexion à la base de données
    Status = Ma_Bdsql_Ouverture_Bd(GLB_Jeton_Access, "Fan-Coil")
        
    'Requete récupération des fonctions disponibles
    Requete = "SELECT * " & _
               "FROM     Fonction " & _
               "ORDER BY Fonction.Fct_Id"
                  
    'Resultat interpretation requete
    Set Resultat = GLB_Jeton_Access.OpenResultset(Requete, rdOpenKeyset)
    With Resultat
        If (Not .EOF) Then
            .MoveFirst
            While (Not .EOF)
    'remplissage des combobox fonction
                CboFct.AddItem (Format(!Fct_Id, "00") & " " & _
                  (!Fct_Description))
                CboFctC.AddItem (Format(!Fct_Id, "00") & " " & _
                  (!Fct_Description))
                CboFctM.AddItem (Format(!Fct_Id, "00") & " " & _
                  (!Fct_Description))
                .MoveNext
            Wend
        End If
        .Close
    End With
End Sub

Private Sub CmdAcceuil_Click()
    'Ouvre la feuille FrmAcceuil
    FrmAcceuil.Show
End Sub

Private Sub CboFct_Click()
    'Réinitialisation des combobox.
    CboRCD.Clear
    CboRCT.Clear
    CboIDSel.Clear
    
    'requete récupération des raisons cause
    NumNomFctSel = CLng(Mid(CboFct.Text, 1, 2))
    Requete = "SELECT * " & _
              "FROM Raison_Cause " & _
              "WHERE Raison_Cause.Rai_Cau_Fct_Id = " & NumNomFctSel & _
                " " & _
              "ORDER BY Raison_Cause.Rai_Cau_Id "
              
    'resultat interpretation requete
    Set Resultat = GLB_Jeton_Access.OpenResultset(Requete, rdOpenKeyset)
    With Resultat
        If (Not .EOF) Then
            .MoveFirst
            While (Not .EOF)
    'Remplissage des combobox
                CboRCD.AddItem (!Rai_Cau_Description)
                CboRCT.AddItem (!Rai_Cau_Type)
                CboIDSel.AddItem (!Rai_Cau_Id)
                .MoveNext
            Wend
        End If
        .Close
    End With
End Sub

Private Sub CboFctM_Click()
    'Réinitialisation des combobox.
    CboRCDM.Clear
    CboRCTM.Clear
    CboIdSelM.Clear
    
    'requete récupération des raisons cause
    NumNomFctSelM = CLng(Mid(CboFctM.Text, 1, 2))
    Requete = "SELECT * " & _
              "FROM Raison_Cause " & _
              "WHERE Raison_Cause.Rai_Cau_Fct_Id = " & NumNomFctSelM _
                & " " & _
              "ORDER BY Raison_Cause.Rai_Cau_Id "
              
    'resultat interpretation requete
    Set Resultat = GLB_Jeton_Access.OpenResultset(Requete, rdOpenKeyset)
    With Resultat
        If (Not .EOF) Then
            .MoveFirst
            While (Not .EOF)
    'Remplissage des combobox
                CboRCDM.AddItem (!Rai_Cau_Description)
                CboRCTM.AddItem (!Rai_Cau_Type)
                CboIdSelM.AddItem (!Rai_Cau_Id)
                .MoveNext
            Wend
        End If
        .Close
    End With
End Sub

Private Sub CboRCD_Click()
'Affiche le bon type par rapport à la description choisie et vis versa
    CboRCT.ListIndex = CboRCD.ListIndex
    CboIDSel.ListIndex = CboRCD.ListIndex
End Sub

Private Sub CboRCT_Click()
'Affiche le bon type par rapport à la description choisie et vis versa
    CboRCD.ListIndex = CboRCT.ListIndex
    CboIDSel.ListIndex = CboRCT.ListIndex
End Sub

Private Sub CboRCDM_Click()
'Affiche le bon type par rapport à la description choisie et vis versa et les _
  recopie dans des textbox
    CboRCTM.ListIndex = CboRCDM.ListIndex
    CboIdSelM.ListIndex = CboRCDM.ListIndex
    TxtRCDM.Text = CboRCDM.Text
End Sub

Private Sub CboRCTM_Click()
'Affiche le bon type par rapport à la description choisie et vis versa et les _
  recopie dans des textbox
    CboRCDM.ListIndex = CboRCTM.ListIndex
    CboIdSelM.ListIndex = CboRCTM.ListIndex
    TxtRCTM.Text = CboRCTM.Text
End Sub

Private Sub CmdSupp_Click()
    'requete suppression des raisons cause sélectionné
    Dim NumIdRCFctSel As Long
    NumIdRCFctSel = CLng(CboIDSel.Text)
    Requete = "DELETE * " & _
              "FROM Raison_Cause " & _
              "WHERE Raison_Cause.Rai_Cau_Id = " & NumIdRCFctSel & _
                " "
              
    MsgBox NumIdRCFctSel
    
    'resultat interpretation requete
    GLB_Jeton_Access.Execute Requete, rdExecDirect
    
    'Réinitialisation des combobox.
    CboRCD.Clear
    CboRCT.Clear
    CboIDSel.Clear
    
    'requete récupération des raisons cause
    NumNomFctSel = CLng(Mid(CboFct.Text, 1, 2))
    Requete = "SELECT * " & _
              "FROM Raison_Cause " & _
              "WHERE Raison_Cause.Rai_Cau_Fct_Id = " & NumNomFctSel & _
                " " & _
              "ORDER BY Raison_Cause.Rai_Cau_Id "
                              
    'resultat interpretation requete
    Set Resultat = GLB_Jeton_Access.OpenResultset(Requete, rdOpenKeyset)
    With Resultat
        If (Not .EOF) Then
            .MoveFirst
            While (Not .EOF)
    'Remplissage des combobox
                CboRCD.AddItem (!Rai_Cau_Description)
                CboRCT.AddItem (!Rai_Cau_Type)
                CboIDSel.AddItem (!Rai_Cau_Id)
                .MoveNext
            Wend
        End If
        .Close
    End With
End Sub

Private Sub CmdModif_Click()
    'requete de modification des raisons cause
    Dim NumIdRCFctSelM As Long
    NumNomFctSelM = CLng(Mid(CboFctM.Text, 1, 2))
    NumIdRCFctSelM = CLng(CboIdSelM.Text)
    
    'requete de mise a jour de la db
    Requete = "UPDATE Raison_Cause " & _
              "SET Raison_Cause.Rai_Fct_Id = " & NumNomFctSelM & _
                ", " & _
                  "Raison_Cause.Rai_Cau_Description = '" & TxtRCDM.Text _
                    & "', " & _
                  "Raison_Cause.Rai_Cau_Type = '" & TxtRCTM.Text & _
                    "' " & _
              "WHERE Raison_Cause.Rai_Cau_Id = " & NumIdRCFctSelM & _
                " "
              
    MsgBox NumIdRCFctSelM
    
    'resultat interpretation requete
    GLB_Jeton_Access.Execute Requete, rdExecDirect
    
    'Réinitialisation des combobox.
    CboRCDM.Clear
    CboRCTM.Clear
    CboIdSelM.Clear
    
    'requete récupération des raisons cause
    NumNomFctSelM = CLng(Mid(CboFctM.Text, 1, 2))
    Requete = "SELECT * " & _
              "FROM Raison_Cause " & _
              "WHERE Raison_Cause.Rai_Cau_Fct_Id = " & NumNomFctSelM _
                & " " & _
              "ORDER BY Raison_Cause.Rai_Cau_Id "
                              
    'resultat interpretation requete
    Set Resultat = GLB_Jeton_Access.OpenResultset(Requete, rdOpenKeyset)
    With Resultat
        If (Not .EOF) Then
            .MoveFirst
            While (Not .EOF)
    'Remplissage des combobox
                CboRCDM.AddItem (!Rai_Cau_Description)
                CboRCTM.AddItem (!Rai_Cau_Type)
                CboIdSelM.AddItem (!Rai_Cau_Id)
                .MoveNext
            Wend
        End If
        .Close
    End With
End Sub,

----

(Coloration syntaxique automatique par Kenji)







MerZi ... Zi ... Zi ... PtitCat  



P.S:

DSL pour l'orthographe
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
5 sept. 2007 à 11:09
Salut,

Syntaxe orthographique....quand tu nous tiens... 

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
5 sept. 2007 à 11:15
Grave ^^
Mais franchement même j'ai trop du mal avec les requete vers Access pourtant elles resemble, voir sont identique à celles de SQL et pourtant je fait des fautes, Grrrrrr, trop trop stupide ...
Mais en effet cette syntaxe quand elle nous tiens ... Grrrr ... elle reste aussi lgt que possible^^

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
5 sept. 2007 à 11:25
Bref maintenant c'est ma créa y e dit que j'ai mal écrit ma requete INSERT INTO :-/
Pourtant c'est un truc pas trop dur, limite le plus simple voilà pk je voulais la faire en dernier, mais vlà qui me crache encore des assanité a la figure ^^

requete =  "INSERT INTO Raison_Cause(Raison_Cause.Rai_Cau_Id, Raison_Cause.Rai_Cau_Fct_Id, Raison_Cause.Rai_Cau_Description, Raison_Cause.Rai_Cau_Type) " & _
                 "VALUES('', " & NumNomFctSelC & ", '" & TxtRCDC.Text & "', '" & TxtRCTC.Text & "')

Ca me parraissais plutot bon, mais en fait pas du tout ^^

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
5 sept. 2007 à 11:30
Bah c good en fait il faut just pas répeter Raison_Cause. ...  ni placer l'Id car c'est un nombre automatique, en gros :

requete =  "INSERT INTO Raison_Cause(Rai_Cau_Fct_Id, Rai_Cau_Description, Rai_Cau_Type) " & _
                 "VALUES('" & NumNomFctSelC & ", '" & TxtRCDC.Text & "', '" & TxtRCTC.Text & "')

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
Rejoignez-nous