必须刷新访问报告才能显示数据

Posted

技术标签:

【中文标题】必须刷新访问报告才能显示数据【英文标题】:Access report has to be refreshed to show data 【发布时间】:2017-11-11 20:36:09 【问题描述】:

我有一个按钮,当按下该按钮时,会打开在该表单中选择的记录的报告。这是按钮的代码:

blnSave = MsgBox("Are you sure you want to exit this student?", vbYesNo, "Exit Confirmation")
If blnSave = True Then
            DoCmd.OpenReport "rptExitNotice", acViewPreview, , "[BehaviourID]=" & Me.BehaviourID
            DoCmd.Close acForm, "frmExitStudent"
            End If

当表单关闭并打开报告时,报告中的所有字段都是空白的: 当您按 F5 时,数据完美地显示在适当的位置:

我尝试将 Me.Refresh、DoCmd.Requery 和 DoCmd.Refresh 都放在 Open、No Data 和 Activate 事件中,但它们给出了以下错误:

如何让报告首次显示数据? 按钮的代码有问题吗? 或者我应该在不同的事件中添加 Me.Refresh 或类似的东西吗?

【问题讨论】:

也许是Me.Requery ? 【参考方案1】:

我废弃了 On Load、On Open 等中的代码,并创建了一个计时器为 1000 的表单,计时器事件执行此代码:

Private Sub Form_Timer()
Dim rpt As Report

With Reports
    ' Iterate over all open reports...
    For Each rpt In Reports
        rpt.Requery
    Next
End With
lblStatus.Caption = "Generation Complete"
DoCmd.Close acForm, "frmRefreshReport"
End Sub

表单刷新报告,然后关闭。刷新完成时有一个小的状态标签会更改文本(以使其对最终用户看起来更好)。当报表打开时,表单会打开,因此报表会被表单刷新,然后会自行关闭,从而节省了用户按 F5 的时间。 来源:How to automatically reload a report in MS Access?

【讨论】:

以上是关于必须刷新访问报告才能显示数据的主要内容,如果未能解决你的问题,请参考以下文章

网站程序在本地测试没有任何问题,但是上传到服务器(nginx)上后访问需要多次刷新才能显示完整,求解?

缓存,ETag,Expires ......没有任何作用,必须刷新才能看到变化

访问报告中的子组总和

使用更新的参数集无法从 VB 关闭或刷新访问报表

我必须去这个屏幕两次才能从 fetchAndSet 中加载数据

刷新令牌是不是需要过期的 JWT 才能创建新的访问令牌?