如何检查多值字段是不是包含值 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的主要内容,如果未能解决你的问题,请参考以下文章
绑定到 Sharepoint 多值字段的组合框的 MS Access 全选复选框
Access 2013:删除包含多值字段的记录的正确方法是啥?