If IsArray(objList(i).Amount) Then
rs("Carriage").value = dblPrice * objList(i).Amount(1)其中dblPrice 和objList(i).Amount(1)都可能为NULL,该怎么改写这地方,让为空的赋为零?
rs("Carriage").value = dblPrice * objList(i).Amount(1)其中dblPrice 和objList(i).Amount(1)都可能为NULL,该怎么改写这地方,让为空的赋为零?
rs("Carriage").value = iif(isnull(dblPrice),0,dblPrice) * iif(isnull(objList(i).Amount(1)),0,objList(i).Amount(1))
rs("Carriage").value = dblPrice * objList(i).Amount(1)
elseif dblprice*objlist(i).amount(1) then
rs("carriage").value=0
endif
rs("Carriage").value = dblPrice * objList(i).Amount(1)
elseif dblprice*objlist(i).amount(1)=0 then
rs("carriage").value=0
endif
应该是
rs("Carriage").value =cdbl("0" & dblPrice) * cdbl("0" & objList(i).Amount(1))
If IsArray(objList(i).Amount) Then
rs("Carriage").value = dblPrice * objList(i).Amount(1)
....
exit sub
100:
rs("Carriage").value =0
等于NULL的时候使用CDBL
会出错吧!
是虫子!
你的方法当等于NULL的时候是会出错的!
只有在等于“ ”空的时候可以自动转为0!
rs("Carriage").value = iif(isnull(dblPrice),0,cdbl(dblPrice)) * iif(isnull(objList(i).Amount(1)),0,cdbl(objList(i).Amount(1)))
Dim x, y
x = Null
y = Null
MsgBox CDbl("0" & x) * CDbl("0" & y)
End Sub