[VBA] un update qui ne modifie rien
kesamba
-
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
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:
- [VBA] un update qui ne modifie rien
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Wsus offline update - Télécharger - Systèmes d'exploitation
- Nettoyage windows update - Guide
1 réponse
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
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
kesamba
le sujet est résolu