vba - 子表单不重新查询
问题描述
我有一个访问表单,您可以在其中选择一个带有下拉列表的用户然后我有一个包含该用户所有许可证的子表单。可以使用按钮从该用户删除许可证。删除许可证后,我想刷新表单,以便它真正消失。
我认为 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 然后它会刷新。这个怎么可能?
解决方案
尝试使用子窗体的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
推荐阅读
- ruby-on-rails - 搜索未回复过滤结果
- ios - UIAlertController 未显示
- javascript - node-postgres 查询在 Express 路由异步路由中不返回任何内容
- azure - 您需要先获得对存储库的访问权限,然后才能发布任何更改。详细信息:给定租户的帐户名称不正确
- php - 如何检查一个词是单词还是多词并在php中潜入2个数组
- jquery - 使用 ASP.NET MVC 制作警报消息
- angular - (搜索栏)用户输入搜索栏后如何显示数据?
- discord.js - 如何将 GuildDelete 发送到特定频道?
- r - 将汇总值附加到更大长度的数据帧
- c++ - 如何将顶点着色器转换的结果数据返回到 CPU?