空空大师没到、有所感、先来说一句。
我不知道你的办法是否行。如不行、可先将数据select到另一张表中、新表中该项下所有非负数设置为零、重新制定数据源、然后刷新。
可是负数毕竟是一种存在、为什么一定显示为零?

解决方案 »

  1.   

    grid1.column1.controlSource='iif(round(chaxun.实收金额-chaxun.费用合计,2)<0,0,round(chaxun.实收金额-chaxun.费用合计,2))'
      

  2.   

    net_steven(吃素的狼)说的对,就用IIF函数。注意,IIF函数还可以嵌套使用,适用于多分支的情况。
      

  3.   

    to nononono(null,null):好!
    我用net_steven说的方法做了,负数是可以显示为0了,不过正数却显示成了*,这是怎么回事?
      

  4.   

    "正数却显示成了*", 是不是你的显示控件的Format给出的位数不足?
      

  5.   

    nononono(null,null):真厉害!确实是位数不足的问题;我把代码改为grid1.column1.controlSource='iif(round(chaxun.实收金额-chaxun.费用合计,2)<0,00000.00,round(chaxun.实收金额-chaxun.费用合计,2))',结果就好了!谢谢nononono(null,null):, 谢谢net_steven(吃素的狼) !