Encore et toujours ... Trop Peu de Paramètre. 3 attendu, pour requete de modific [Résolu]

Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009
- - Dernière réponse : 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
Afficher la suite 

19 réponses

Meilleure réponse
Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 198 internautes nous ont dit merci ce mois-ci

Commenter la réponse de VB_PtitCat
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
11
0
Merci
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

 
Commenter la réponse de cs_Exploreur
Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009
0
Merci
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
Commenter la réponse de VB_PtitCat
Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009
0
Merci
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
Commenter la réponse de VB_PtitCat
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
11
0
Merci
Salut,
 
Rajoute :

Dim NumNomFctSelM As Long

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Commenter la réponse de cs_Exploreur
Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009
0
Merci
il est dans mes variables public ^^

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
Commenter la réponse de VB_PtitCat
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
11
0
Merci
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

 
Commenter la réponse de cs_Exploreur
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
11
0
Merci
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

 
Commenter la réponse de cs_Exploreur
Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009
0
Merci
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
Commenter la réponse de VB_PtitCat
Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009
0
Merci
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
Commenter la réponse de VB_PtitCat
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
11
0
Merci
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

 
Commenter la réponse de cs_Exploreur
Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009
0
Merci
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
Commenter la réponse de VB_PtitCat
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
11
0
Merci
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

 
Commenter la réponse de cs_Exploreur
Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009
0
Merci
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
Commenter la réponse de VB_PtitCat
Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009
0
Merci
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
Commenter la réponse de VB_PtitCat
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
11
0
Merci
Salut,

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

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Commenter la réponse de cs_Exploreur
Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009
0
Merci
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
Commenter la réponse de VB_PtitCat
Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009
0
Merci
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
Commenter la réponse de VB_PtitCat
Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009
0
Merci
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
Commenter la réponse de VB_PtitCat