Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba SSRS-如何使用3个if语句,其中一个是空白值_Vba_Reporting Services_Ssrs 2012 - Fatal编程技术网

Vba SSRS-如何使用3个if语句,其中一个是空白值

Vba SSRS-如何使用3个if语句,其中一个是空白值,vba,reporting-services,ssrs-2012,Vba,Reporting Services,Ssrs 2012,我有一个报告,其中一列返回一个DB字段,它可以是三种可能结果中的一种-1、0或空白/“”。 从我所看到的,我认为这里的问题是字段是空的,而不是空值,所以我使用的任何表达式似乎都会导致#错误。 到目前为止,我已经管理了两个不同的表达式,它们产生了我需要的结果的一半: =IIF(Fields!Field1.Value = 1, "Yes", IIF ({Fields!Field1.Value = 0}, "No", "Unanswered")) 上面给出了1=“是”、2=“否”和“=#错误 第二个

我有一个报告,其中一列返回一个DB字段,它可以是三种可能结果中的一种-1、0或空白/“”。 从我所看到的,我认为这里的问题是字段是空的,而不是空值,所以我使用的任何表达式似乎都会导致#错误。 到目前为止,我已经管理了两个不同的表达式,它们产生了我需要的结果的一半:

=IIF(Fields!Field1.Value = 1, "Yes", IIF ({Fields!Field1.Value = 0}, "No", "Unanswered"))
上面给出了1=“是”、2=“否”和“=#错误

第二个得到的是1=1,0=0和“=”未回答“

是否有一种方法可以将这些结果组合起来,使结果显示为1=“是”、0=“否”和“=”未回答”


任何建议都将不胜感激

尝试使用此开关表达式

=SWITCH (
        Fields!Field1.Value = 1, "Yes",
        Fields!Field1.Value = 0, "No",
        True, "Unanswered"
    )
最后的
True
类似于and
else

如果这不起作用,您可能需要将字段转换为文本,并进行如下检查


e、 g.
CStr(Fields!Field1.Value)=“1”,“Yes”

我认为Alan的答案对你有用,但如果你去掉那些古怪的括号,你的第一个表达式应该有用。应该是
=IIF(Fields!Field1.Value=1,“是”,IIF((Fields!Field1.Value=0),“否”,“未应答”)
=SWITCH (
        Fields!Field1.Value = 1, "Yes",
        Fields!Field1.Value = 0, "No",
        True, "Unanswered"
    )