SQL中Null值求和

  最近在做机房收费系统的时候,遇到一个窗体:日结账单。

  在这里需要把每天的充值金额,消费金额以及退卡金额全部求出。我是在窗体加载的同时计算这些数据的。但是如何计算这些问题。我是这么写代码的:

strTxtsql = "select sum(addmoney) from recharge_info where date= '" & a1 & "'"
Set mrca = ExecuteSQL(strTxtsql, strMsgtext)
b = mrca.Fields(0)
mrca.Close

  本来认为很简单的事情,在运行的时候就是一直出错,显示“无效使用Null值”。

  我把VB中的代码复制到SQL中去查询,查询显示为NULL,说明当日没有充值金额,而NULL值传递给b后和其他的数相加就会出错。这时我想到了IsNull函数,然后代码变成下面:

strTxtsql = "select sum(addmoney) from recharge_info where date= '" & a1 & "'"
Set mrca = ExecuteSQL(strTxtsql, strMsgtext)
If IsNull(mrca.Fields(0)) Then  '如果显示的数字为Null值
  b = 0
Else
 b = mrca.Fields(0)
End If
 mrca.Close
 这样 让Null值=0,问题就很容易解决了。

你可能感兴趣的:(【Visual,Basic】)