SSRS背景细胞颜色的表达

时间:2014-08-25 17:19:42

标签: sql sql-server visual-studio-2010 vba reporting-services

我正在尝试在SQL Server数据工具中编写一个表达式,以获得有助于在驱动器上定位文件的报告。基本上我的目标是满足以下标准:

  

IF(DriveLetter = F:OR T :) AND(FileType = MDF OR NDF)那么绿色IF   (DriveLetter = G:OR U :) AND(FileType = LDF)那么绿色ELSE   红色

这就是我的尝试:

IIF((Fields!DriveLetter.Value = "F:" OR Fields!DriveLetter.Value = "T:") AND (Fields!FileType.Value = "MDF" OR Fields!FileType.Value = "NDF"), "Green",
IIF((Fields!DriveLetter.Value = "G:" OR Fields!DriveLetter.Value = "U:") AND (Fields!FileType.Value = "LDF"), "Green", "Red") ) 

它似乎不起作用。有谁知道我如何达到我的要求或看到我写的表达中的任何错误?

感谢。

3 个答案:

答案 0 :(得分:0)

正如craM所述,该陈述应该有效。

您可能想尝试使用Trim函数,因为它的值可能有尾随空格。

IIF((Trim(Fields!DriveLetter.Value) = "F:" OR Trim(Fields!DriveLetter.Value) = "T:") AND (Trim(Fields!FileType.Value) = "MDF" OR Trim(Fields!FileType.Value) = "NDF"), "Green", IIF((Trim(Fields!DriveLetter.Value) = "G:" OR Trim(Fields!DriveLetter.Value) = "U:") AND (Trim(Fields!FileType.Value) = "LDF"), "Green", "Red") )

答案 1 :(得分:0)

结束找到自己的错误。我完全忘记了" ="表达前的标志! 我的表情一直都是正确的,而忽略了等号。

答案 2 :(得分:-1)

它应该有效,看起来像一个错字:NDF VS LDF

尝试:

IIF((Fields!DriveLetter.Value = "F:" OR Fields!DriveLetter.Value = "T:") AND (Fields!FileType.Value = "MDF" OR Fields!FileType.Value = "LDF"), "Green",IIF((Fields!DriveLetter.Value = "G:" OR Fields!DriveLetter.Value = "U:") AND (Fields!FileType.Value = "LDF"), "Green", "Red") ) 

如果不是这种情况,请确保所有比较都有效。

即。测试:

IIF(Fields!DriveLetter.Value = "F:", "Green", "Red")

改变颜色。