访问VBA记录集更新运行正常但不更新

时间:2014-11-26 18:43:15

标签: vba recordset

我无法弄清楚我的代码有什么问题。请注意,代码一直运行良好,直到上周。我们没有对代码做任何改动......所以这是一个谜。

我有一个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数据库与非常相似的代码(完全相同的结构)运行完全正常。此代码也运行得很好,当我逐行调试时,它显示正在捕获和递增正确的值。但是,它没有更新表!!

这让我发疯了。任何人都可以了解为什么会出现这种情况?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您必须手动打开数据库并按Ctrl + S并关闭它。 SQL qwery将在此之后工作。

然后又不再工作了。 重复第一步......