我们有一个遗留的 vb6 解决方案,使用一个 Access 数据库,其中一个表单包含许多互斥的选项按钮
没有参考表,选项是使用硬编码保存/加载的,即。 optState 字段中的值可以是 0、1 或 2。
我们正在 Access 中构建一个查询,以将数据导出为 XML,并寻找一种将选项转换为文本字段而无需更新 DB 或 VB 应用程序的方法!因此,如果 0 显示一些文本,1 显示一些其他文本......等等。
有没有办法我们可以在access查询或者access sql中做到这一点?
没有计划升级 VB 或 DB,因此正在寻找解决方法。
谢谢
杰伊
您可以使用
IIf
(立即 If)在查询中执行此操作。由于每个字段有多个值,因此需要嵌套它们。比如:
SELECT tblStatus.*,
IIf([Status]=0,"Available",IIf([Status]=1,"Sold",IIf([Status]=2,"Withdrawn",""))) AS StatusOut
FROM tblStatus;
如果值不是 0/1/2,则返回空字符串。或者您可以在查询中使用
Switch
:
SELECT tblStatus.*,
Switch([Status]=0,"Available",[Status]=1,"Sold",[Status]=2,"Withdrawn") AS StatusOut
FROM tblStatus;