我的程序如下:   If rs1.State = adStateOpen Then rs1.Close
    rs1.Open "SELECT sum(费用) as 合计 FROM table where 分公司名 = '" & Combo7.Text & "' ", cn1, adOpenDynamic, adLockOptimistic
   If Not rs1.EOF Then
    total1 = rs1!合计
    Label17.Caption = rs1!合计
    Label16.Caption = ToChineseMoney(total1)
    End If希望如果查询数据表中存在符合条件的记录,则显示,如果没有记录,则不显示,就这么简单,但不知为什么,程序运行时,有记录时,则正常显示,但当无记录时却提示出错:“实时错误94,无效使用null”,选择“调试”,则“total1 = rs1!合计”这一行反黄了,请问应该怎么改?

解决方案 »

  1.   

    iif(rs1!合计<>null,rs1!合计," ")
      

  2.   

    haha,你也可以写成total1 = rs1!合计 & ""因为 rs1!合计 为空值时,就无法赋值了,不知道你的total1是什么类型的,要是数值型的,就肯定会出错的,你也可以先判断 Not isNull(rs1!合计) 是不是为真,然后再赋值,这样的问题主要的是数值类型一定要匹配
      

  3.   

    如果是SQL SERVER
    rs1.Open "SELECT isnull(sum(费用),0) as 合计 FROM table where 分公司名 = '" & Combo7.Text & "' ", cn1, adOpenDynamic, adLockOptimistic