我在Access 2007中使用表单过滤器时遇到了一些麻烦。我在一些表单中使用listview,用户需要能够在那里进行过滤。
出于测试目的,我做了一个查询,它只基于一个表。如果我想设置第一个过滤器,它看起来像:
我选择一个值,如果我想设置另一个过滤器(显然在另一个字段上),则没有可供选择的值。
这似乎只有在我使用查询时才会发生(如果我使用每个字段无关紧要,或者根据一个表或多个链接表使用几个字段)。我当然可以使用数字过滤器并手动输入值。
我有另一个数据库,我可以随时随地使用过滤器,无论是查询还是表格 - 我有一个列表,每次都可以选择值。这意味着我搞砸了某些东西,但我完全不知道在哪里。
我正在使用Access 2007(FE / BE),如果您需要任何进一步的细节,请询问。任何从哪里开始寻找的建议都非常感谢!
答案 0 :(得分:0)
好吧,经过一段时间的游戏,我发现了问题所在。
表单记录源需要是一个查询 - 没有sql代码,没有“select * from query”,只是查询的名称。任何其他事情都会导致您使用过滤器的限制。我不确定这是不是一个错误,或者是否有这样的原因,但这就是它在2007年访问中的作用方式 - 至少对我而言。
在我为查询动态添加条件之前,这导致了像“select * from qDeliveries where location = 1”这样的记录源。为了实现这一点,我现在只创建一个临时查询,它是表单记录源而不是仅仅使用sql代码。
希望这有助于任何人...... :)
答案 1 :(得分:0)
代替使用查询,请尝试以下操作:
关闭并重新打开文件。那应该可以解决问题。
答案 2 :(得分:0)
创建一个单独的查询并分配给该表单。而不是在表单中创建查询。您的问题可能会得到解决。我做了同样的工作,对我来说很好。