Crystal reports 如何检查crystal reports中共享变量的空条件?

Crystal reports 如何检查crystal reports中共享变量的空条件?,crystal-reports,null,formula,Crystal Reports,Null,Formula,我正在使用 shared datevar tdate; 公式字段中的共享变量(在子报表中设置)。 如何检查其空值 IsNull(tdate) 它不起作用。它说IsNull函数需要一个字段。 任何帮助都将不胜感激。您只能在字段上使用Isnull()函数 我不确定这是否有效,但值得一试: 创建公式字段: // {@wrapper} Shared Datevar tdate; 测试它是否为空: If IsNull({@wrapper}) Then ... 只能在字段上使用Isnull(

我正在使用

shared datevar tdate;
公式字段中的共享变量(在子报表中设置)。 如何检查其空值

IsNull(tdate)
它不起作用。它说IsNull函数需要一个字段。
任何帮助都将不胜感激。

您只能在字段上使用
Isnull()
函数

我不确定这是否有效,但值得一试:

  • 创建公式字段:

    // {@wrapper}
    Shared Datevar tdate;
    
  • 测试它是否为空:

    If IsNull({@wrapper}) Then
     ...
    

只能在字段上使用
Isnull()
函数

我不确定这是否有效,但值得一试:

  • 创建公式字段:

    // {@wrapper}
    Shared Datevar tdate;
    
  • 测试它是否为空:

    If IsNull({@wrapper}) Then
     ...
    

如果变量已声明但未初始化,则它们将包含以下默认值:

  • 编号:0
  • 货币:0美元
  • 字符串:“”//空字符串
  • Date:Date(0,0,0)//日期值为空
  • 时间:None或null//isnull()函数不起作用
  • Datetime:None或null//isnull()函数不起作用

话虽如此,您不应该在代码中使用或检查默认值。相反,将它们初始化为您自己的默认值。例如:

shared datevar tdate:=date(1900,1,1)//初始化共享变量


。。。如果tdate=日期(1900,1,1),则//检查初始化值和未修改值

如果变量已声明但未初始化,则它们将包含以下默认值:

  • 编号:0
  • 货币:0美元
  • 字符串:“”//空字符串
  • Date:Date(0,0,0)//日期值为空
  • 时间:None或null//isnull()函数不起作用
  • Datetime:None或null//isnull()函数不起作用

话虽如此,您不应该在代码中使用或检查默认值。相反,将它们初始化为您自己的默认值。例如:

shared datevar tdate:=date(1900,1,1)//初始化共享变量


。。。如果tdate=日期(1900,1,1),则//检查初始化值和未修改值

谢谢回复。事实上,我正在做同样的事情,并收到一条错误消息。谢谢回复。事实上,我也在做同样的事情,并收到一条错误消息。遗憾的是CR的自定义函数功能不支持对象类型,因此可以创建单个
isDefault()
函数…遗憾的是CR的自定义函数功能不支持对象类型,因此可以创建单个
isDefault())
功能。。。