水晶报告:不记录记录选择中的空值

时间:2010-01-18 17:39:30

标签: sql-server crystal-reports

我在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}
   )

1 个答案:

答案 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;

它很难看,但如果是这样的话,它可能会起作用。