0

我在使用 Access 2007 中的表单过滤器时遇到了一点问题。我在一些表单中使用列表视图,用户需要能够在那里过滤。

出于测试目的,我做了一个查询,它只基于一个表。如果我想设置第一个过滤器,它看起来像这样:

普通过滤器

我选择一个值,如果我想设置另一个过滤器(显然在不同的字段上),没有可供选择的值。

第二个过滤器

这似乎只有在我使用查询时才会发生(如果我使用每个字段或仅使用几个字段,基于一个表或多个链接表并不重要)。我当然可以使用数字过滤器并手动输入一个值。

我有另一个数据库,我可以随时随地使用过滤器,无论它是查询还是表 - 我有一个列表,其中包含每次都可以选择的值。这意味着我在某个地方搞砸了,但我完全不知道在哪里。

我正在使用 Access 2007 (FE/BE),如果您需要更多详细信息,请询问。任何从哪里开始寻找的建议都非常感谢!

4

3 回答 3

0

嗯,玩了半天,终于知道问题出在哪里了。

表单记录源需要是一个查询 - 没有 sql 代码,没有“select * from query”,只是一个查询的名称。其他任何事情都会导致您在使用过滤器方面受到限制。我不确定这是否是一个错误,或者这背后是否有原因,但这就是它在 access 2007 中的工作方式——至少对我来说是这样。

在我动态地向我的查询添加条件之前,这会导致像“select * from qDeliveries where location = 1”这样的记录源。为了做到这一点,我现在只创建一个临时查询,它是表单记录源,而不是仅仅使用 sql 代码。

希望这可以帮助任何人...... :)

于 2012-06-08T13:31:34.397 回答
0

而不是使用查询,试试这个:

  1. 文件>>选项
  2. 当前数据库
  3. 向下滚动到过滤器查找选项
  4. 检查ODBC 字段

关闭并重新打开文件。那应该可以解决问题。

于 2018-11-07T00:17:08.330 回答
0

创建一个单独的查询并分配给该表单。而不是在表单中创建查询。您的问题可能会得到解决。我做了同样的方法,它对我来说很好。

于 2019-06-12T09:03:26.830 回答