首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Access Form.Requery工作不一致

Access Form.Requery工作不一致
EN

Stack Overflow用户
提问于 2018-09-26 22:27:07
回答 2查看 1.8K关注 0票数 1

我对Access Form Requery方法的工作不一致有问题。

我有两种表格。第一个表单是用户的Data_Entry表单。第二种形式是Dashboard显示器,用于排列和格式化来自第一窗体的重要数据。在Data_Entry表单上,用户可以按下一个按钮来强制Data_EntryDashboard窗体上的Requery事件。这是非常简单的代码:

代码语言:javascript
运行
复制
Private Sub Button_Update_Click()
    Form_Data_Entry.Requery
    Form_Dashboard.Requery
End Sub

Dashboard表单中,我还有一个计时器事件,每60秒触发一次:

代码语言:javascript
运行
复制
Private Sub Form_Timer()
    Me.Requery
End Sub

大约50%的时间,这些都如预期的工作。大约有45%的时间,Data_Entry表单上的update按钮将重新查询自己,但不会对仪表板做任何事情;然而,单击Dashboard并按下F5将强制进行重查询,定时器事件也是如此。其余5%的时间内,更新按钮、F5或计时器都不会重新查询Dashboard

在100%的时间,更新按钮将请求Data_Entry表单没有问题。

如果我关闭Dashboard并重新打开它,它将按照预期的那样再次工作。一段时间。有时它会持续几个小时,没有问题,其他时间只有15分钟。

我不知道是什么导致了这种不一致的行为。这似乎不是VBA的问题。这是访问源代码本身中的一个更深层次的问题,还是我在其他地方遗漏了一些模糊的东西?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-21 20:39:58

我设法解决了这个问题,但我仍然不知道是什么原因造成的。我发现,无论是从VBA代码打开表单,还是从Access Macro打开表单,仍然会出现同样的问题,但关闭一次表单并重新打开它将使问题在会话期间消失。因此,我修改了按钮的代码,以打开显示表单,首先打开表单,然后关闭它,然后重新打开它。问题解决了。

代码语言:javascript
运行
复制
Private Sub Button_DisplayName_Click()
    DoCmd.OpenForm “FORM_NAME”
    DoCmd.Close acForm, “FORM_NAME”, acSaveNo
    DoCmd.OpenForm “FORM_NAME”
End Sub
票数 0
EN

Stack Overflow用户

发布于 2021-03-16 18:42:38

这个bug也有类似的问题。重新分配记录是什么最终对我有效,奇怪,但它似乎一贯地清除在我的情况下的这个小故障。

代码语言:javascript
运行
复制
rs = Me.Form.RecordSource
Me.Form.RecordSource = rs
Me.Requery
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52526837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档