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

时间:2015-05-18 15:12:05

标签: ms-access combobox

我遇到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是数据库表中的多值字段。当我使用选择i.Responsibility.Value从tb_Items i 查询此表时,数据列i.Responsibility返回无效如果多值字段选择了多个选项,或者返回唯一选定的值 if ,当然,它只选择了一个值。

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

1 个答案:

答案 0 :(得分:0)

这取决于您的具体情况。听起来你正在尝试从表单运行查询,因此一种方法是迭代组合框firstm中的值,然后将它们存储在表单上的隐藏文本框中。让查询的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

如果你能解释一下你的具体情况,我相信我可以提供帮助。

...谢谢