在表单加载之前捕获记录源错误 - 访问

Posted

技术标签:

【中文标题】在表单加载之前捕获记录源错误 - 访问【英文标题】:Catch Record Source Error Before Form Load - Access 【发布时间】:2014-05-16 03:15:27 【问题描述】:

我目前正在处理一个可访问的表单,其记录源应该来自一个临时表,该表应在Form_Load() 生成并在表单关闭时删除。

我现在的工作方式是将记录源设置为另一个永久表,当表单加载时,会生成临时表并更改记录源。当窗体关闭时,代码将记录源设置回原来的状态。这很好用。

但是,偶尔会出现问题,并且由于某种原因,Record Source 属性没有被切换回,尽管临时表已被删除,所以当我尝试加载表单时,我收到错误:

此表单或报表上指定的记录源“TempTable”不存在

事实证明,这个错误甚至在Form_Load() 被调用之前就发生了,所以我无法提前做好准备。我能想到解决此问题的唯一方法是在按下主页表单上的按钮时尝试重置它,但这不是最佳选择,因为我仍然希望能够从其他位置打开它。

有什么方法可以捕捉到这个错误并修复它,而不必在出现问题时进入表单属性并更改记录源?

【问题讨论】:

如果你这样做,你会看到非常严重的膨胀。不应以这种方式创建和删除表。您至少不能清空表格并重新填充它吗?这仍然远不是最佳解决方案。 【参考方案1】:

简单的解决方法不是调用/打开表单而是一个函数。 该函数将能够安排所有记录源工作。完成后,您可以打开表单。

其实你不需要再切换表单的资源了。

函数 openform()

准备临时表 打开表格

结束函数

马丁

【讨论】:

这是我涉及到打开按钮的解决方法,但正如我所提到的,我希望从多个位置打开表单,包括访问侧边栏和其他几个按钮和功能。据我所知,我无法从 Access Sidebar 运行功能,我不想为打开表单的每个按钮重复自己,这就是为什么我想知道我是否可以在打开表单时抓住它形成自己。

以上是关于在表单加载之前捕获记录源错误 - 访问的主要内容,如果未能解决你的问题,请参考以下文章

应用程序定义或对象定义的错误设置子表单记录源

DLookup 中的错误作为访问表单中的控制源

JavaScript总结

无法引用子窗体以重新填充记录源运行时错误 2450 无法找到主窗体

在 SSIS 执行 SQL 任务中捕获错误行

Python 2.7 和 GCP Google BigQuery:捕获文件加载错误?