我正在Access 2013数据库上进行一些开发工作。最初,它的设计使得记录源在设计时设置,并添加了一个过滤器来限制Open上的记录。出于几个原因,我将其更改为在表单打开时在代码中转换记录源的位置 - Me.Form.RecordSource = SQLstr
但是当我这样做时,表单应该显示5条记录,它只显示1,这是一条新记录。
当我在设计屏幕中查看查询时,查询会返回正确的记录集。
奇怪的是,当表单打开时,在表单底部,过滤器按钮为黄色。当我点击它时,整套显示。当我再次单击它时,该组不会更改,但会继续显示相同(正确)的设置。
我没有在过滤器中看到任何代码(有,但我删除了它)。如果我清除代码中的过滤器,则过滤器按钮被禁用,我只能看到一条记录。
有人看到我在这里缺少的东西吗?
谢谢 - 艾伦
答案 0 :(得分:1)
好的,看起来我在引用表单时走得太远了:
Me.form.RecordSource = SQLstr
将代码放在正确的位置(或似乎),但不能正确执行。
如果我使用: Me.RecordSource = SQLstr
然后它正常工作 - 在表单上不显示过滤器图标并显示正确的结果集
不确定引用表单是如何导致问题的,以及为什么(如果它导致问题)它不会失败。但这就是我所得到的