将存储在 table 字段(没有引用 table)中的选项值转换为相应的文本

convert an option value stored in a table field (without a reference table) into a corresponding text

我们有一个旧的 vb6 解决方案,它使用一个包含多个互斥选项按钮的表单之一的 access 数据库

没有参考 table,选项 saved/loaded 使用硬编码,即。 optState 字段中的值将为 0、1 或 2。

我们正在 Access 中构建查询以将数据导出到 XML 并寻找一种方法将选项转换为文本字段而无需更新数据库或 VB 应用程序!。所以如果 0 显示一些文本,1 显示一些其他文本......等等

有没有办法在访问查询或访问中做到这一点sql?

没有升级 VB 或数据库的计划,因此正在寻找解决方法。

谢谢

周杰伦

您可以使用 IIf(立即如果)在查询中执行此操作。由于每个字段有多个值,因此需要嵌套它们。类似于:

SELECT tblStatus.*, 
IIf([Status]=0,"Available",IIf([Status]=1,"Sold",IIf([Status]=2,"Withdrawn",""))) AS StatusOut
FROM tblStatus;

如果值不是 0/1/2,则此 returns 为空字符串。或者您可以在查询中使用 Switch

SELECT tblStatus.*,
Switch([Status]=0,"Available",[Status]=1,"Sold",[Status]=2,"Withdrawn") AS StatusOut
FROM tblStatus;

此致,