如何让 Access 根据同一个表上另一个字段中的输入自动显示某设备的类型?

问题描述 投票:0回答:1

我目前正在为与我合作的慈善机构建立无线电库存数据库。我有一个名为“无线电信息”的表,我在其中输入有关各个无线电和相关配件的信息。现在,我的表中只有两个不同的字段。一个是 Barcode,另一个是 Type。对于条形码,它将具有三个选项之一。收音机有一个格式为 AXXXX 的条形码,其中每个 X 可以是 0 - 9。电池有 BAXXX,耳机有 CXXXX。我想要实现的是,根据我输入的任何条形码,Access 可以查看该值,并自动确定它是什么类型的设备。因此,如果我输入 A0001、A0150 或 A1039,它会自动用 Radio 填充类型字段。如果我放入B004、B025或B439,它会填充电池,依此类推。稍后可能会在“类型”字段中添加更多选项,但它们始终具有与任何其他选项不同的起始字母。我很确定我需要使用 SWITCH 语句来完成此任务,但我所有的尝试都导致了错误。

我尝试用谷歌搜索如何使用 switch 表达式,并尝试复制/粘贴并修改它以处理我的数据,但它会导致各种错误,具体取决于我放置不同内容(例如引号)的位置。我很确定我的问题是如何引用条形码字段,但我不知道应该做什么来引用该字段。这是我的最新尝试,它返回错误“您输入的表达式包含无效语法。

=Switch(Barcode=A*,"Radio",[Barcode=BA*,"Battery"],[Barcode=C*,"Headset"])

如有任何帮助,我们将不胜感激。

ms-access switch-statement
1个回答
0
投票

如果引用模式字符串并丢弃方括号,则可以在查询中使用

Switch()
方法。

SELECT
    Barcode,
    Switch(
        Barcode Like 'A*', 'Radio',
        Barcode Like 'BA*', 'Battery',
        Barcode Like 'C*', 'Headset'
        ) AS [Type]
FROM [Your Table];

但是如果您希望使用

Switch()
表达式来定义表设计中的字段,我不相信它可以在那里工作。

如果您不想使用查询,请考虑基于您的表构建一个表单来管理表的数据。

© www.soinside.com 2019 - 2024. All rights reserved.