访问2013 Recordsource的怪癖

时间:2015-01-26 19:34:14

标签: ms-access ms-access-2013

我正在Access 2013数据库上进行一些开发工作。最初,它的设计使得记录源在设计时设置,并添加了一个过滤器来限制Open上的记录。出于几个原因,我将其更改为在表单打开时在代码中转换记录源的位置 - Me.Form.RecordSource = SQLstr

但是当我这样做时,表单应该显示5条记录,它只显示1,这是一条新记录。

当我在设计屏幕中查看查询时,查询会返回正确的记录集。

奇怪的是,当表单打开时,在表单底部,过滤器按钮为黄色。当我点击它时,整套显示。当我再次单击它时,该组不会更改,但会继续显示相同(正确)的设置。

我没有在过滤器中看到任何代码(有,但我删除了它)。如果我清除代码中的过滤器,则过滤器按钮被禁用,我只能看到一条记录。

有人看到我在这里缺少的东西吗?

谢谢 - 艾伦

1 个答案:

答案 0 :(得分:1)

好的,看起来我在引用表单时走得太远了:

Me.form.RecordSource = SQLstr

将代码放在正确的位置(或似乎),但不能正确执行。

如果我使用: Me.RecordSource = SQLstr

然后它正常工作 - 在表单上不显示过滤器图标并显示正确的结果集

不确定引用表单是如何导致问题的,以及为什么(如果它导致问题)它不会失败。但这就是我所得到的