利用水晶报表打印数据库中某张数据表的值.因为数据表中一有日期类型的字段.如果该字段值为空则显示系统当前日期,否则显示该字段的日期值.
我用的公式字段的crytal语法:
if({test_view.DeliveryDate}="")then
currentdate()
else
cdate({test_view.DeliveryDate}) 保存成功.但是在运行时总得不到系统的时间. 
有那位老大知道的,帮帮忙啊!

解决方案 »

  1.   

    水晶报表中字段为空不是用“”来表示的!有一个函数isnull()是来判断字段是否为空的!
    试试下边的程序:
    if isnull({test_view.DeliveryDate}) then
    currentdate()
    else
    cdate({test_view.DeliveryDate})
      

  2.   

    对,不能用"",使用isnull函数即可
      

  3.   

    跟踪下这个值.. {test_view.DeliveryDate}
      

  4.   

    if isnull({test_view.DeliveryDate}) then
    DateValue (CurrentDateTime)
    else
    cdate({test_view.DeliveryDate})
      

  5.   

    你不能随便拿个值,就让他转换成日期格式, CDate函数有参数要求,你详细看一下
      

  6.   

    我用的crystal语法:
      if isnull ({test_view.DeliveryDate})then
     date(currentdatetime)
     else
     date({test_view.DeliveryDate})
    在运行时不会出现错误,但是在主报表预览时还是会报错:日期字符串格式错误.