【问题标题】:MS Access Database Check Box List Filters Missing On SQL Server back endSQL Server 后端缺少 MS Access 数据库复选框列表筛选器
【发布时间】:2010-05-01 23:08:01
【问题描述】:

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

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

【问题讨论】:

  • 我所知道的数据表视图中唯一的复选框列表是以 ACCDB 格式提供的多值字段。据我所知,SQL Server 不支持它,任何不需要它来实现 Sharepoint 兼容性的人都不应该使用它。
  • 这与多值字段无关。这是您在过滤数据表时看到的复选框列表,显示列中的所有可用值。在数据表视图中,每个列标题旁边都有一个箭头。如果单击它,您可以选择过滤器以及所有可用值,假设没有太多不同的值(例如,位置字段但不是美元金额字段)。非常重要且有价值的功能。

标签: sql-server ms-access


【解决方案1】:

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

编辑:我想我昨天误解了你的问题。如果您单击 Office 按钮,选择当前数据库,然后在“过滤器查找选项”下的“ODBC 字段”框中打勾……这样做是否符合您的要求?

【讨论】:

  • 你成功了!谢谢。在其他论坛上没有其他人知道这个问题的答案。
  • 对于 Access 2010,转到文件选项卡 > 选项 > 当前数据库,然后向下滚动到“筛选查找选项...”
  • 是的!我检查了 ODBC 字段复选框,我解决了这个问题!非常感谢!
【解决方案2】:

我知道我们不提出新问题是违反协议的,但我还是要回答这个问题,所以这个线程将是完整的。这是一个比之前更完整的答案。

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

查找过滤器不适用于不是 Access 对象的记录源,也不能直接在链接表中使用。

您必须创建链接表的查询,例如:Select * from tblOrders,并将该查询用作记录源以获取查找过滤器。

不过,我也找到了一种更灵活的方法。我创建对 SQL/Server 的直通查询并将其用作我的记录源。然后,在代码中,我将直通查询的 SQL 设置如下:

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

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

【讨论】:

  • 没有人会看到这个。这是很好的信息,但由于它不是一个真正的问题,所以没有人会找到它。
猜你喜欢
  • 2014-03-12
  • 2020-07-22
  • 1970-01-01
  • 2017-12-12
  • 2021-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多