我正试图在SQL Server数据工具中编写一个表达式,用于报告,这将有助于驱动器上文件的位置。基本上,我的目标是满足以下标准:
IF (FileType = MDF OR NDF) AND (FileType = MDF OR NDF) THEN绿色IF(驱动器= G: OR U:) AND (FileType = LDF) THEN绿色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") )
它似乎不起作用。有人知道我如何才能达到我的要求或看到任何错误的表达我写的吗?
谢谢。
如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") )
最后发现了自己的错误。我完全忘记了表达式前面的"="号!我的表达式一直都是正确的减去忘记等号。
应该可以工作,看起来像一个错字: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")
改变颜色