Probléme avec code 'update"

Signaler
Messages postés
83
Date d'inscription
lundi 17 août 2009
Statut
Membre
Dernière intervention
3 août 2013
-
Messages postés
96
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
10 mars 2011
-
Bonjour à tous
J'ai un probléme avec le code updat. Quand je l'éxecute parfois il marche bien mais parfois non.
je voudrais savoir l'erreur avec ce code.
Sachant que je me sert du code "ajout" pour faire entrer des nouvelles donnés , celui- ci fonctionne trés bien et un autre 'update' code pour modifier ou ajouter des donnés à un enregistrement dans la base de donné access.
Voic les deux code
Private Sub ajouter_Click()

Set RS = New ADODB.Recordset

 If Text1 <> "" Then
  
    RS.Open "select * from patient ", DB, adOpenDynamic, adLockOptimistic
        RS.AddNew
            RS!nom = Text1.Text
            RS!prenom = Text2.Text
            RS!somme = Text3.Text
            RS!verse1 = Text4.Text
            RS!verse2 = Text5.Text
            RS!verse3 = Text6.Text
            RS!reste = Text7.Text
            RS!Diagnos = Text78.Text
            RS!plan = Text79.Text
 RS.Update
 MsgBox "Les donnés ont été savegarder avec succés"

  
Else
    MsgBox "veuiller saisir les donnés ", vbMsgBoxRtlReading + vbInformation, "Attention"
     Exit Sub
End If

End Sub


Private Sub update_Click()
On Error Resume Next
If Text1.Text <> "" Then
    
RS.Open "select * from patient where nom='" _
       & Text1.Text & "'", DB, adOpenDynamic, adLockOptimistic

    If Not RS.EOF Then
             RS!nom = Text1.Text
            RS!prenom = Text2.Text
            RS!somme = Text3.Text
            RS!verse1 = Text4.Text
            RS!verse2 = Text5.Text
            RS!verse3 = Text6.Text
            RS!reste = Text7.Text
            RS!Diagnos = Text78.Text
            RS!plan = Text79.Text
 RS.Update
          MsgBox "Les donnés ont été savegarder avec succés" 
          Exit Sub
     End If
     
   
Else
    MsgBox "veuiller saisir les donnés", vbMsgBoxRtlReading + vbCritical _
             + vbOKOnly, "Attention"
    RS.MoveLast
    Exit Sub
End If

RS.Update

  
End Sub

3 réponses

Messages postés
96
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
10 mars 2011
2
Bonjour,
pour que ton code fonctionne il faut rajouter :
Rs.close
juste après tes Rs.update.
En effet tu ne peux pas faire un nouveau rs.open si tu n'a pas fermé le précédent.
Messages postés
83
Date d'inscription
lundi 17 août 2009
Statut
Membre
Dernière intervention
3 août 2013

Merci monsieur de votre gentillesse et je vous serais trés reconnaissant si vous me corriger personeelement le code car j'ai essaiyer de rajouter le 'RS.code " mais j'obtiendrai des messages d'erreurs.
Merci encore mille fois.
Messages postés
96
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
10 mars 2011
2
Bonjour, après chaque ligne où tu a écrit RS.Update, tu rajoutes Rs.Close (et non pas rs.code). Si je n'en ai pas oublié ça doit donner quelque chose comme ça :

Private Sub ajouter_Click()

Set RS = New ADODB.Recordset

If Text1 <> "" Then

RS.Open "select * from patient ", DB, adOpenDynamic, adLockOptimistic
RS.AddNew
RS!nom = Text1.Text
RS!prenom = Text2.Text
RS!somme = Text3.Text
RS!verse1 = Text4.Text
RS!verse2 = Text5.Text
RS!verse3 = Text6.Text
RS!reste = Text7.Text
RS!Diagnos = Text78.Text
RS!plan = Text79.Text
RS.Update
RS.Close
MsgBox "Les donnés ont été savegarder avec succés"


Else
MsgBox "veuiller saisir les donnés ", vbMsgBoxRtlReading + vbInformation, "Attention"
Exit Sub
End If

End Sub


Private Sub update_Click()
On Error Resume Next
If Text1.Text <> "" Then

RS.Open "select * from patient where nom='" _
& Text1.Text & "'", DB, adOpenDynamic, adLockOptimistic

If Not RS.EOF Then
RS!nom = Text1.Text
RS!prenom = Text2.Text
RS!somme = Text3.Text
RS!verse1 = Text4.Text
RS!verse2 = Text5.Text
RS!verse3 = Text6.Text
RS!reste = Text7.Text
RS!Diagnos = Text78.Text
RS!plan = Text79.Text
RS.Update
RS.close
MsgBox "Les donnés ont été savegarder avec succés"
Exit Sub
End If


Else
MsgBox "veuiller saisir les donnés", vbMsgBoxRtlReading + vbCritical _
+ vbOKOnly, "Attention"
Exit Sub
End If
End Sub