我在Crystal Reports 8.5
中的记录选择公式编辑器中有自定义forumla{_ v_hardware.groupName} = {?companyname}和 ({_v_hardware.DriveLetter} =“C”或 ISNULL({_ v_hardware.Driveletter})
我正在尝试列出所有带有驱动器号C或具有Null值的记录,并且它当前列出了所有带有驱动器号C但没有带有null的记录。我是否错误地处理了空值?我也试过设置{_v_hardware.DriveLetter} = NULL,这也不起作用。
我应该添加报告与SQL Server交谈。记录在表中读为NULL。
更新: 如果我使用查询
{_ v_hardware.groupName} = {?companyname}和 ISNULL({_ v_hardware.Driveletter})
它将列出只有DriveLetter字段中的Null值和公司名称
的记录如果我使用查询
{_ v_hardware.groupName} = {?companyname}和 {_v_hardware.DriveLetter} =“C”
这也列出了所有带有驱动器“c”
的记录提前致谢
希瑟的解决方案:
if IsNull({_v_hardware.Driveletter) then
{_v_hardware.groupName} = {?companyname}
else
(if {_v_hardware.DriveLetter} = "C" then
{_v_hardware.groupName} = {?companyname}
)
答案 0 :(得分:0)
我见过Crystal做有趣的事情取决于你评估你的领域的顺序。有时,当NULL
值可能时,我必须将字段检查分成块:
if IsNull({_v_hardware.Driveletter) then {_v_hardware.groupName} = {?companyname} else if {_v_hardware.DriveLetter} = "C" then {_v_hardware.groupName} = {?companyname} else false;
它很难看,但如果是这样的话,它可能会起作用。