由于项目小,没用水晶报表.写不了公式.
我在存储过程里可以将结果集中某列为零的改成" ",
但是这样报表自动合计就会出错.
有没有别的办法实现?

解决方案 »

  1.   

    有null的也可合计啊,它自带的合计函数不行吗?
      

  2.   

    不行的.有NULL就出错了.这是DATAREPORT啊.不是水晶报表.
      

  3.   

    如果是VB + Access + DataReport,可以这样处理:
    源表:
    A    B
    --------
    1    2
    3    0
    4    5
    6    NULL
    7    8使用下面的SQL语句做数据环境Command对象的RecordSource:
    select A, B, iif(isnull(B) or B = 0, '', B) as BB from 源表对于DataReport,Detail节中用BB作为DataField,合计字段用B作为DataField。
      

  4.   

    如果是VB + SQL Server + DataReport,可以这样处理:
    源表:
    A    B
    --------
    1    2
    3    0
    4    5
    6    NULL
    7    8使用下面的SQL语句做数据环境Command对象的RecordSource:
    select A, B, (case when B is NULL or B = 0 then '' else cast(B as varchar(20)) end) as BB from 源表对于DataReport,Detail节中用BB作为DataField,合计字段用B作为DataField。