如何检查多值字段是不是包含值 MS Access

Posted

技术标签:

【中文标题】如何检查多值字段是不是包含值 MS Access【英文标题】:How to check if multivalued field contains values MS Access如何检查多值字段是否包含值 MS Access 【发布时间】:2015-05-18 15:12:05 【问题描述】:

我在 Microsoft Access 2007 中遇到了多值字段问题。

我想在复选框列表中选择值,并根据这些值查询多值列包含所有这些值的项目。

SELECT i.ID, i.Responsibility.Value
FROM tb_Items i
WHERE <<<what should I put here?>>>;

我需要用复选框列表中的值填充 where 子句,并检查表中的多值列(在这种情况下为 tb_Items.Responsability)是否包含这些值。

我该怎么做?

已编辑:

我有一个填写了值的复选框列表,让我可以检查它。

i.Responsibility 是数据库表中的一个多值字段。当我使用 Select i.Responsibility.Value from tb_Items i 查询此表时,数据列 i.Responsibility 返回 void 给我 如果 多值字段选择了多个选项, 或者返回唯一选中的值,如果,当然只有一个选中的值。

我的问题具体是如何制作一个 where 子句,它返回给我的多值字段 in包含 一组价值观。 包含我的意思是“已选择”。例如,如果对于表中的给定注册表,多值字段选择了选项 A、B 和 C,例如,我希望能够查询是否选择了 A 和 B,并且它必须为此注册表返回 true。我什至可以在查询中手动输入这些值,然后担心如何从复选框列表中检索它们。我现在主要关心的是如何编写查询。

【问题讨论】:

那么,你已经建立了组合框了吗?我很困惑。 您不能在组合框中“多选”项目...您是说列表框吗? i.Responsability.Value .Value。你指的是“这些价值观”……你能告诉我们这些价值观是什么吗?他们来自哪些领域? 【参考方案1】:

这在一定程度上取决于您的具体情况。听起来您正在尝试从表单运行查询,因此一种方法是先迭代组合框中的值,然后将它们存储在表单上的隐藏文本框中。让查询的 WHERE 条件引用此“固定字段”,从而简化查询。

这是一篇关于这个主题的好文章:

https://support.office.com/en-us/article/Guide-to-multivalued-fields-7c2fd644-3771-48e4-b6dc-6de9bebbec31?CorrelationId=4759a5d8-3c1d-40da-9670-da60c3833944&ui=en-US&rs=en-US&ad=US#bm7

如果您能详细说明您的具体情况,我相信我可以提供帮助。

谢谢...

【讨论】:

嗨@DanielG,我已经用更多细节更新了这个问题。希望现在更清楚了。 我找到了正确的方法。是否只是使用连接的 AND 子句,例如 WHERE field = 'A' AND field = 'B' AND field = 'C'...

以上是关于如何检查多值字段是不是包含值 MS Access的主要内容,如果未能解决你的问题,请参考以下文章

如何更新 ms access vba 中的多值组合框?

绑定到 Sharepoint 多值字段的组合框的 MS Access 全选复选框

Access 2013:删除包含多值字段的记录的正确方法是啥?

如何检查我的表中列的任何值是不是包含 MS ACCESS 2003 中的尾随空格?

Magnolia:如何在多值复合字段中启用 I18N?

将 Solr 重复值删除到多值字段中