立即更新同一记录后无法编辑记录

时间:2019-06-19 20:02:14

标签: ms-access ms-access-2013

我有一个用于更新项目状态的表格。主要表单用于按名称/类型/状态进行过滤,我对此没有任何问题,并且不认为它会影响子表单上的问题。

我的子窗体是一个数据表,其记录集基于上述过滤器进行了更新。状态是数据表中作为组合框的一列。执行以下命令时遇到问题:   1)在一行中更新一个值   2)尝试对同一行进行第二次更新

如果执行所有三个步骤,则无法更改第二个值(或该值的原始值)。如果我在新行中进行更改,则不会有问题。

我尝试了几种其他方法来解决此问题。

例如,这些似乎都不能解决问题:

Private Sub StatusID_AfterUpdate()
    If Me.Dirty Then
    Me.Dirty = False
End If
End Sub

此外,这可以保存,但不允许我先编辑另一行而不修改:

Private Sub StatusID_AfterUpdate()
    DoCmd.RunCommand acCmdSaveRecord
End Sub

我解决此问题的唯一方法是添加一个运行Me.Refresh的按钮。但我希望可以自动执行此操作。我想知道问题是否与子窗体上的数据有关。

1 个答案:

答案 0 :(得分:0)

因此,键入此内容使我想到了一些东西。我认为我应该离开这个问题,如果它可以帮助任何人。

要解决此问题,我必须使用以下代码:

Private Sub StatusID_AfterUpdate()
    Forms!ProjectList.Refresh
End Sub

如果仅放置Me.Refresh,我认为由于子窗体是活动表,因此无法正常工作。这就是该按钮起作用的原因,它在主窗体上。