【问题标题】:Access 2007 crashes when canceling On No Data and calling function from On Close取消 On No Data 并从 On Close 调用函数时,Access 2007 崩溃
【发布时间】:2014-08-19 02:21:41
【问题描述】:

MS Access 2007(可能还有更高版本)似乎有一个错误,当在 On No Data 事件中取消打开报表并且 On Close 事件包含对公共函数的调用时,该错误会导致硬崩溃。这似乎不是 MS Access 2003 或更早版本的问题。

重现步骤:

  • 在 MS Access 2007 中创建新报告(这在 MS Access 2003 及更早版本中不是问题)
  • 设置记录源(可以是任何东西,但必须是绑定报表)
  • 将事件 On No Data 设置为 [Event Procedure]
  • 在报告的代码模块中,输入:

Private Sub Report_NoData(Cancel As Integer)`  
    Cancel = True
End Sub
  • 将事件关闭时设置为=Foo()
  • 在标准代码模块中,添加以下代码:

Public Function Foo()
End Function
  • 使用排除所有数据的过滤器打开报告(以引发无数据事件)

结果:

  • Access 立即遭受严重崩溃,并显示“Access 已停止工作...”错误消息

两个问题:

  1. 有解决方法吗?
  2. 这是一个已知问题吗? (为 Microsoft 或更大的 MS Access 社区所知)

【问题讨论】:

    标签: ms-access ms-access-2007


    【解决方案1】:

    解决方法

    有几种解决方法:

    • 将报表的 On Close 属性中的函数调用替换为“[Event Procedure]”,然后在 VBA 中从报表的 Private Sub Report_Close() 中调用该函数。

      - 或-

    • 将函数调用从报表的 On Close 属性移至 On Unload 属性。 (注意:On Unload report property 是在 MS Access 2007 中引入的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-20
      • 1970-01-01
      • 2019-06-27
      • 1970-01-01
      • 1970-01-01
      • 2021-06-27
      相关资源
      最近更新 更多