M
mytree520
Unregistered / Unconfirmed
GUEST, unregistred user!
有如下一张表:<br>字段含义 列名 数据类型 长度 允许空<br>部门名称 BM_Name Char 16 <br>职工姓名 ZG_Name Char 8 <br>基本工资 GZ _Name Numeric 5,2 √<br>职务工资 GZ_Sex Numeric 5,2 √<br>住房补贴 GZ_ZFBT Numeric 5,2 √<br>交通补贴 GZ_SDBT Numeric 5,2 √<br>本月奖金 GZ_BYJJ Numeric 5,2 √<br>其它应发款 GZ_QTYF Numeric 5,2 √<br>应发款合计 GZ_YFHJ Numeric 5,2 √<br>水电费 GZ_SDF Numeric 5,2 √<br>煤气费 GZ_MQF Numeric 5,2 √<br>房租 GZ_FZ Numeric 5,2 √<br>个人所得税 GZ_GRSDS Numeric 5,2 √<br>其它应扣款 GZ_QTYK Numeric 5,2 √<br>应扣款合计 GZ_YKHJ Numeric 5,2 √<br>实际发放 GZ_SJFF Numeric 5,2 √<br>说明:个人所得税=(Σ收入项-1600)*8%<br>做一动态的录入功能.按一般的表偶可以搞定,但不知道为什么.因这张表中有"应发款合计",<br>"应扣款合计",和"实际发放"这三列需用到计算.所以小弟按无计算的做法做老出错.哪位<br>大哥帮个忙搞一下啊................偶的原代码如下<br>procedure TForm31.Button1Click(Sender: TObject);<br>var<br> str1,str2,str3,str4,str5,str6,str7,<br> str8,str10,str11,str12,str14:string;<br> str9,str13,str15,str16:real;<br>begin<br> str1:=combobox1.Text;<br> str2:=combobox2.Text;<br> str3:=edit1.Text;<br> str4:=edit2.Text;<br> str5:=edit3.Text;<br> str6:=edit4.Text;<br> str7:=edit5.Text;<br> str8:=edit6.Text;<br> str9:=strtofloat(str3+str4+str5+str6+str7+str8);<br> str10:=edit7.Text;<br> str11:=edit8.Text;<br> str12:=edit9.Text;<br><br> str14:=edit10.Text;<br> str15:=strtofloat(str10+str11+str12+str14)+str13;<br> str16:=str9-str15;<br> if str9>1600 then<br> begin<br> str13:=(str9-1600)*0.08;<br> end<br> else<br> str13:=0;<br> with query1 do<br> begin<br> close;<br> sql.Clear;<br> sql.Add('insert into GZ');<br> sql.Add('valuesstr1,:str2,:str3,:str4,:str5,:str6,:str7,:str8,:str9,:str10,:str11,:str12,:str13,:str14,:str15,:str16)');<br> parambyname('str1').AsString:=str1;<br> parambyname('str2').AsString:=str2;<br> parambyname('str3').AsString:=str3;<br> parambyname('str4').AsString:=str4;<br> parambyname('str5').AsString:=str5;<br> parambyname('str6').AsString:=str6;<br> parambyname('str7').AsString:=str7;<br> parambyname('str8').AsString:=str8;<br> parambyname('str9').AsString:=floattostr(str9);<br> parambyname('str10').AsString:=str10;<br> parambyname('str11').AsString:=str11;<br> parambyname('str12').AsString:=str12;<br> parambyname('str13').AsString:=floattostr(str13);<br> parambyname('str14').AsString:=str14;<br> parambyname('str15').AsString:=floattostr(str15);<br> parambyname('str16').AsString:=floattostr(str16);<br> sql.Add('select * from GZ');<br> prepare;<br> open;<br> end;<br>end;