MS Access数据库复选框列表过滤器在SQL Server后端丢失

时间:2010-05-01 23:08:01

标签: sql-server ms-access

当我将Access 2007连接到SQL Server时(无论是通过ADO记录集还是通过链接表),我不再获得数据表列过滤器中的(可用过滤器值的)复选框列表。

此功能仅适用于MDB / ACCDB和/或DAO吗?

2 个答案:

答案 0 :(得分:8)

我认为本机Access表的数据表视图中的复选框由表设计中的“显示控件”属性控制。我不记得表在SQL Server中时可用的内容。如果在“数据表视图”中提供表单,则应该能够将复选框控件绑定到SQL Server列。

编辑:我想我昨天误解了你的问题。如果单击“Office按钮”,请选择“当前数据库”,然后选中“过滤查找选项”下的“ODBC字段”框...这样做可以满足您的要求吗?

答案 1 :(得分:1)

我知道我们通过不打开一个新问题来打破协议,但我仍然会回答这个问题,所以这个线程将会完整。这是一个比以前更完整的答案。

我想我现在已经确定了这个话题。

查找过滤器不适用于不是Access对象的记录源,并且它们不能直接在链接表中工作。

您必须创建链接表的查询,例如:从tblOrders中选择*,并使用该查询作为记录源以获取查找过滤器。

然而,我发现了一种更灵活的方法。我创建了对SQL / Server的直通查询,并将其用作我的记录源。然后,在代码中,我设置了passthrough查询的SQL,如下所示:

Currentdb.QueryDefs("qpstOrders").SQL="Select * from Orders where OrderID =" & Me.OrderID

在我的子表单的当前事件中,我动态更改查询以传递相应的记录 - 或者它可以只是一个更通用的查询。查找过滤器以这种方式工作正常,与SQL / Server的交互非常快。