在我评估的记录上使用下面的代码时,返回NA,这就是我想要的[actual_ssd](在这种情况下)为null
Switch(
[Comm_Type]="Maya",CVDate(DateAdd("m",6,[actual_ssd])),
[Comm_Type]="Sapphire",IIf([Tariff_length]=12,CVDate(DateAdd("m",12,[actual_ssd])),CVDate(DateAdd("m",24,[actual_ssd]))),
[Comm_Type]="Cobalt",IIF(ISNULL([actual_ssd]),"NA","Test")
)
但是,如果[actual_ssd]不为null,我希望[actual_ssd]返回,但是当我将代码更改为: -
Switch(
[Comm_Type]="Maya",CVDate(DateAdd("m",6,[actual_ssd])),
[Comm_Type]="Sapphire",IIf([Tariff_length]=12,CVDate(DateAdd("m",12,[actual_ssd])),CVDate(DateAdd("m",24,[actual_ssd]))),
[Comm_Type]="Cobalt",IIF(ISNULL([actual_ssd]),"NA",[actual_ssd])
)
... Access在查询结果中返回#Error。
任何人都可以确认为什么会发生这种情况([Comm_Type]是“Cobalt”)?
答案 0 :(得分:1)
你不能混合日期和字符串,实际上不需要CVDate:
Switch(
[Comm_Type]="Maya",DateAdd("m",6,[actual_ssd]),
[Comm_Type]="Sapphire",DateAdd("m",IIf([Tariff_length]=12,12,24),[actual_ssd]),
[Comm_Type]="Cobalt",IIf([actual_ssd] Is Null,"NA", Format([actual_ssd],"yyyy-mm-dd"))
)
答案 1 :(得分:0)
查询中的正确格式为
IIf([actual_ssd] Is Null,"NA",[actual_ssd])
IsNull()仅适用于VBA