表单过滤器快速失败

Form filters failing fast and furious

作为前辈,我是Access和Whosebug的新手,所以上下文、语句、措辞等方面的错误,纯属无意。我有一颗善良的心,善意的,没有冒犯的意思。

我在未拆分的 DAO 2013 Access 数据库中有 5 个表单,它们都使用相同的代码处理这个特定问题。打开时,所有表单都设置为打开一个新的空白记录。

当搜索客户记录并打开该记录时,所有表单都有一个子表单容器,该容器是带标签的,包含大量客户记录信息。

在其中一个表单中,导航栏显示 "no filter" 并在子表单容器中显示客户的记录信息。无论过滤状态如何,客户记录信息都应该显示,所以这是应该发生的。

其中4个表单,表单导航栏显示"Unfiltered",子表单容器中显示none客户记录信息。如果我单击表单底部的过滤器按钮(或功能区中的过滤器切换按钮)两次,客户记录信息将在第二次单击时显示 - 表单移动到 "Filtered",然后再次移动到 "Unfiltered".然后所有子表单在第二个 "Unfiltered" 状态下正常运行。

我的数据库中当前设置了 -0- 手动 VBA 过滤器(即 me.customer.filter = false),-0- 用于查找记录的查询 - 一切都是使用 VBA 构建的查找记录。

一旦数据库上线,最终用户将无法使用过滤器控件。这是我最后的错误。我感谢您提供的任何建议或解决方案。

这些是我尝试过的解决方案:

作为最后的总结,如果有人想看我的设置,请告诉我,我已经准备好了精简版。我在这里没有 post 任何代码,因为我不确定你想看什么。

再次感谢,

捕手

经过大量搜索,我找到了问题的原因。

表单 'sfSiteAnalyst' 将 属性 'Data Entry' 设置为是。更改为否,它工作正常。

仅比较该表单和控件的 3,889 个属性就发现了 58 个不同的属性——但其他差异毫无意义(顶部、边框等)

此外,我注意到您在很多地方发出 'DoCmd.Save acForm, ...' 导致我的测试出现问题。它们真的有必要吗?