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是转整型,有小数点就报错(看样子你的就是栽在这儿了)
------解决方案--------------------
StrtoIntDef(字段值, 0)
------解决方案--------------------
空值你的就多定义两变量的事就解决了,如果为空赋为0,至于小数据点的问题,你的可StrToFloat去解决,如果不想要小数,在乘完之后在来个四舍五入函数就OK了!
两个字段计算百分比:
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是转整型,有小数点就报错(看样子你的就是栽在这儿了)
------解决方案--------------------
StrtoIntDef(字段值, 0)
------解决方案--------------------
空值你的就多定义两变量的事就解决了,如果为空赋为0,至于小数据点的问题,你的可StrToFloat去解决,如果不想要小数,在乘完之后在来个四舍五入函数就OK了!