主题:[原创]求教高手 帮我看看!!!急急急急
[求助]求教高手 帮我看看
这段代码不能实现计算 s10:=s10+strtoint(ADOQuery2.fieldbyname('提成系数').asstring);提成系数'是小数点的. 业绩量 数据库里我设为货币型的 请问如何改
s1,s2,s3,s4,s5,s6,s7,s8,s9,s10:real;sum1,sum2,sum3,sum4:integer;a,b,c,d,e,f,s:string;
begin
ADOTable2.active:=true;
s1:=0.00;s2:=0.00; s3:=0.00;s4:=0.00;s5:=0.00;s6:=0.00;s7:=0.00;s8:=0.00;s9:=0.00;s10:=0.00;
sum1:=0; sum2:=0; sum3:=0; sum4:=0;
if ComboBox2.Text='一月' then //选择查询条件
begin
adoquery1.close;
ADOQuery1.SQL.Clear;
adoquery1.SQL.Add('select sum(业绩量) as nSum from 工作表 where 月份=''一月''' );
adoquery1.SQL.Add('or 月份=''十一月''' );
adoquery1.SQL.Add('or 月份=''十二月''' );
adoquery1.open;
sum1:=sum1+adoquery1.fieldbyname('nSum').asinteger;
adoquery5.close;
ADOQuery5.SQL.Clear;
adoquery5.SQL.Add('select sum(业绩量) as nSum from 工作表 where 月份=''一月''' );
adoquery5.SQL.Add('or 月份=''十一月''' );
adoquery5.SQL.Add('or 月份=''十二月''' );
adoquery5.open;
sum2:=sum2+adoquery5.fieldbyname('nSum').asinteger;
adoquery6.close;
ADOQuery6.SQL.Clear;
adoquery6.SQL.Add('select sum(业绩量) as nSum from 工作表 where 月份=''一月''' );
adoquery6.SQL.Add('or 月份=''十一月''' );
adoquery6.SQL.Add('or 月份=''十二月''' );
adoquery6.open;
sum3:=sum3+adoquery6.fieldbyname('nSum').asinteger;
adoquery7.close;
ADOQuery7.SQL.Clear;
adoquery7.SQL.Add('select sum(业绩量) as nSum from 工作表 where 月份=''一月''' );
adoquery7.SQL.Add('or 月份=''十一月''' );
adoquery7.SQL.Add('or 月份=''十二月''' );
adoquery7.open;
sum4:=sum4+adoquery7.fieldbyname('nSum').asinteger;
s1:=sum1+s1;
s2:=s1/3;//月平均业绩
adoquery2.close;
ADOQuery2.SQL.Clear;
adoquery2.SQL.Add('select 人数,提成系数 from 数量 where 月份=''一月''' );
adoquery2.open;
s8:=s8+adoquery2.fieldbyname('人数').asinteger;
s10:=s10+strtoint(ADOQuery2.fieldbyname('提成系数').asstring);
s3:=s2/s8;
adoquery3.close;
ADOQuery3.SQL.Clear;
adoquery3.SQL.Add('select 总人数 from 一通1 where 月份=''一月''' );
adoquery3.open;
s9:=s9+adoquery3.fieldbyname('总人数').asinteger;
s4:=(sum1+sum2+sum3+sum4)/(3*s9);
s5:=s4*s10;
s6:=s2*1.05;
s7:=s6*s5;
str(s2:8:2,b);
str(s3:8:2,c);
str(s4:8:2,d);
str(s5:8:2,e);
str(s6:8:2,f);
str(s7:8:2,s);
str(s1:8:2,a);
Memo1.Text:='数目:'+a;
Memo1.Text:='数目:'+b;
Memo1.Text:='数目:'+c;
Memo1.Text:='数目:'+d;
Memo1.Text:='数目:'+e;
Memo1.Text:='数目:'+f;
Memo1.Text:='数目:'+s;
ADOTable2.append;
SaveDataToTable;
这段代码不能实现计算 s10:=s10+strtoint(ADOQuery2.fieldbyname('提成系数').asstring);提成系数'是小数点的. 业绩量 数据库里我设为货币型的 请问如何改
s1,s2,s3,s4,s5,s6,s7,s8,s9,s10:real;sum1,sum2,sum3,sum4:integer;a,b,c,d,e,f,s:string;
begin
ADOTable2.active:=true;
s1:=0.00;s2:=0.00; s3:=0.00;s4:=0.00;s5:=0.00;s6:=0.00;s7:=0.00;s8:=0.00;s9:=0.00;s10:=0.00;
sum1:=0; sum2:=0; sum3:=0; sum4:=0;
if ComboBox2.Text='一月' then //选择查询条件
begin
adoquery1.close;
ADOQuery1.SQL.Clear;
adoquery1.SQL.Add('select sum(业绩量) as nSum from 工作表 where 月份=''一月''' );
adoquery1.SQL.Add('or 月份=''十一月''' );
adoquery1.SQL.Add('or 月份=''十二月''' );
adoquery1.open;
sum1:=sum1+adoquery1.fieldbyname('nSum').asinteger;
adoquery5.close;
ADOQuery5.SQL.Clear;
adoquery5.SQL.Add('select sum(业绩量) as nSum from 工作表 where 月份=''一月''' );
adoquery5.SQL.Add('or 月份=''十一月''' );
adoquery5.SQL.Add('or 月份=''十二月''' );
adoquery5.open;
sum2:=sum2+adoquery5.fieldbyname('nSum').asinteger;
adoquery6.close;
ADOQuery6.SQL.Clear;
adoquery6.SQL.Add('select sum(业绩量) as nSum from 工作表 where 月份=''一月''' );
adoquery6.SQL.Add('or 月份=''十一月''' );
adoquery6.SQL.Add('or 月份=''十二月''' );
adoquery6.open;
sum3:=sum3+adoquery6.fieldbyname('nSum').asinteger;
adoquery7.close;
ADOQuery7.SQL.Clear;
adoquery7.SQL.Add('select sum(业绩量) as nSum from 工作表 where 月份=''一月''' );
adoquery7.SQL.Add('or 月份=''十一月''' );
adoquery7.SQL.Add('or 月份=''十二月''' );
adoquery7.open;
sum4:=sum4+adoquery7.fieldbyname('nSum').asinteger;
s1:=sum1+s1;
s2:=s1/3;//月平均业绩
adoquery2.close;
ADOQuery2.SQL.Clear;
adoquery2.SQL.Add('select 人数,提成系数 from 数量 where 月份=''一月''' );
adoquery2.open;
s8:=s8+adoquery2.fieldbyname('人数').asinteger;
s10:=s10+strtoint(ADOQuery2.fieldbyname('提成系数').asstring);
s3:=s2/s8;
adoquery3.close;
ADOQuery3.SQL.Clear;
adoquery3.SQL.Add('select 总人数 from 一通1 where 月份=''一月''' );
adoquery3.open;
s9:=s9+adoquery3.fieldbyname('总人数').asinteger;
s4:=(sum1+sum2+sum3+sum4)/(3*s9);
s5:=s4*s10;
s6:=s2*1.05;
s7:=s6*s5;
str(s2:8:2,b);
str(s3:8:2,c);
str(s4:8:2,d);
str(s5:8:2,e);
str(s6:8:2,f);
str(s7:8:2,s);
str(s1:8:2,a);
Memo1.Text:='数目:'+a;
Memo1.Text:='数目:'+b;
Memo1.Text:='数目:'+c;
Memo1.Text:='数目:'+d;
Memo1.Text:='数目:'+e;
Memo1.Text:='数目:'+f;
Memo1.Text:='数目:'+s;
ADOTable2.append;
SaveDataToTable;