我无法弄清楚我的代码有什么问题。请注意,代码一直运行良好,直到上周。我们没有对代码做任何改动......所以这是一个谜。
我有一个Access VBA来通过使用recordset.update递增1来更新记录。 代码看起来像这样......
Sub UpdateQuarter(PersonName As String)
Dim dB As Database
Dim rst As DAO.Recordset
Dim Quarter As Integer
Set dB = CurrentDb
Set rst = db.OpenRecordset("table")
rst.MoveFirst
Do Until rst.EOF
rst.Edit
If Name = rst!NameofPerson Then
Quarter = rst!CurrentQuarter
Quarter = Quarter + 1
rst!CurrentQuarter = Quarter
rst.Update
End If
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
End Sub
我有其他Access数据库与非常相似的代码(完全相同的结构)运行完全正常。此代码也运行得很好,当我逐行调试时,它显示正在捕获和递增正确的值。但是,它没有更新表!!
这让我发疯了。任何人都可以了解为什么会出现这种情况?
提前致谢。
答案 0 :(得分:0)
您必须手动打开数据库并按Ctrl + S并关闭它。 SQL qwery将在此之后工作。
然后又不再工作了。 重复第一步......