access数据库中这样计算为什么报错

access数据库中这么计算为什么报错?
两个字段计算百分比:

gauge3.Progress:=100*strtoint(DataModule1.ADOTable1.fieldbyname('售出').AsString) div strtoint(DataModule1.ADOQuery1.fieldbyname('总量').AsString);


报错:is not a valid integer value


改用两个DBTEST也是报同样的错误。


gauge3.Progress:=100*strtoint(DBText1.caption)  div strtoint(DBText2.caption) ;

------解决方案--------------------
DataModule1.ADOTable1.fieldbyname('售出').AsString 
可能有小数吗?
------解决方案--------------------
1、空值问题没处理。
2、如楼上所说小数点问题StrToInt是转整型,有小数点就报错(看样子你的就是栽在这儿了)
------解决方案--------------------
引用:
Quote: 引用:

1、空值问题没处理。
2、如楼上所说小数点问题StrToInt是转整型,有小数点就报错(看样子你的就是栽在这儿了)



空值怎么处理呢?


StrtoIntDef(字段值, 0)
------解决方案--------------------
空值你的就多定义两变量的事就解决了,如果为空赋为0,至于小数据点的问题,你的可StrToFloat去解决,如果不想要小数,在乘完之后在来个四舍五入函数就OK了!