[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
Configuration: Windows XP
Firefox 3.0.8

1 réponse

  1. 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
    1. kesamba
       
      le sujet est résolu
      0