[VBA] un update qui ne modifie rien

kesamba -  
 kesamba -
Bonjour,
Voilà, j'ai un petit soucis avec une erreur que je ne comprends pas bien...J’aimerai modifier un champ d’une table. La modification ne se fait pas. Merci pour toute reponse. Voilà le code
Code : Autre


Sub Modul2()
Dim db As DAO.Database, rst As DAO.Recordset, rs As DAO.Recordset, fld As DAO.Field
Dim sSQL As String
Dim en As Double
Dim as As Double
Dim ur As Double
Dim etat As Double

' Ouverture de la base de données
Set db = DBEngine.OpenDatabase . \Caisse.mdb")
sSQL = "Select * From [compte]"
' Ouverture du recordset
Set rst = db.OpenRecordset(sSQL, dbOpenForwardOnly, adOpenKeyset)
' Fermeture du Recordset

Do Until rst.EOF

en = rst! recette
as = rst!depense
ur = rst! report
etat = rst![NewEtat]

'Debug.Print rst![ NewEtat] = " etat "
'rst.Update
'rst.Open ("[compte]")
'rst.Edit
' rst.fld("NewEtat ") = etat
'rst.Update

db.Execute "Update [ING-Giro] Set NewEtat = " & etat
etat = etat + en + ur - as
Debug.Print "Records Affected = " & db.RecordsAffected
MsgBox (etat )

rst.MoveNext
Loop

' Fermeture du Recordset
rst.Close
End Sub
A voir également:

1 réponse

kesamba
 
Bonjour,
toujours personne pour m'aider? tout est juste au fait. Je le sais parceque j'ai mis un MsgBox qui me donne les resultats juste.mais Le update ne fait pas de modification du champs dans la table.
je remet mon code

Sub Modul2()
Dim db As DAO.Database, rst As DAO.Recordset, rs As DAO.Recordset, fld As DAO.Field
Dim sSQL As String
Dim en As Double
Dim as As Double
Dim ur As Double
Dim etat As Double

Set db = CurrentDb()
sSQL = "Select * From [compte]"
Set rst = db.OpenRecordset(sSQL, dbOpenForwardOnly, adOpenKeyset)

etat = CDbl(rst.Fields("NewEtat").Value)

Do Until Not rst.EOF
recette = CDbl(rst.Fields("recette").Value)
depense = CDbl(rst.Fields("depense").Value)
report = CDbl(rst.Fields("report").Value)

db.Execute "Update compte Set NewEtat = " & etat
etat = etat + recette + depense + report

MsgBox (etat)

rst.MoveNext
Loop
0
kesamba
 
le sujet est résolu
0