子表单不会重新查询

时间:2019-06-19 10:11:11

标签: vba ms-access ms-access-2016

我有一个acces表单,您可以在其中选择带有下拉菜单的用户 然后,我有一个包含该用户所有许可证的子窗体。 可以使用按钮从该用户删除许可证。 删除许可证后,我想刷新表格,以便它实际上消失。

我认为Form_Dirty事件是触发刷新的正确方法。 我尝试过:

Private Sub Form_Dirty(Cancel As Integer)
    MsgBox "deleted a license"
End Sub

,每次删除时都会显示该框。所以我知道那件事发生了。完善。 Buuuut无论我将什么刷新命令放入该函数中,它都不会刷新。 我尝试过:

    Me.requery
    Me.Recalc
    Me.refresh
    Forms.user.Form.requery
    Forms.user.licenses.Form.requery

它保持不变。 如果我按F5键,它将刷新。 怎么可能呢?

1 个答案:

答案 0 :(得分:0)

尝试使用子窗体的 AfterUpdate 事件:

Private Sub Form_AfterUpdate()
    If Me!Active.Value = False Then
        Me.Requery
    End If
End Sub

修改。或者:

Private Sub Active_AfterUpdate()
    If Me!Active.Value = False Then
        Me.Dirty = False
        Me.Requery
    End If
End Sub