Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
adamlee
Starting Member
9 Posts |
Posted - 2006-04-12 : 23:47:09
|
| Hi, everybody,I'm new to SQL, hope you could help me.I have a table named salary in sql server side, it contains several fields such as housing,overtime, netwage,totalnet gross, tax, factor...etc, the totalnet=netwage+housing+overtime, and gross=totalnet+tax.etc... and tax is calculated from a funcion below:function taxn(ran:double):double;var saSum: Double;begin saSum := ran - 1600; if saSum <=0 then result := 0 else if saSum <= 475 then Result := (saSum-0)/(1 - 0.05)*0.05-0 else if saSum < 1825 then Result := (saSum-25)/(1 - 0.1)*0.1-25 else if saSum < 4375 then Result := (saSum-125)/(1 - 0.15) *0.15-125 else if saSum <= 16375 then Result := (saSum-375)/(1 - 0.2)*0.2-375 else if saSum <= 31375 then Result := (saSum-1375)/(1 - 0.25)*0.25-1375 else if saSum <= 45375 then Result := (saSum-3375)/(1 - 0.3)*0.3-3375 else if saSum <= 58375 then Result := (saSum-6375)/(1 - 0.35)*0.35-6375 else if saSum <= 70375 then Result := (saSum-10375)/(1 - 0.4)*0.4-10375 else if saSum > 70375 then Result := (saSum-15375)/(1 - 0.45)*0.45-15375;end;ran=totalnet.when the table loaded into a DBGrid, it is filled with housing, overtime and netwage, how to calculate other fields and display all in the DBGrid?I tried to use onCalcFields events as below:procedure TForm1.ADODataSet1CalcFields(DataSet: TDataSet);var totalnet,tax,taxedsalary:extended;beginwith DataSet dobeginFieldByName('totalnet').Value :=fieldbyname('housing').Value+fieldbyname('overtime').Value+fieldbyname('netwage').Value;totalnet := fieldbyname('totalnet').Value;fieldByName('taxedsalary').Value := roundto(taxbase(totalnet)+0.0001,-2);tax:=roundto((taxn(totalnet)+0.0001),-2);fieldbyname('totalgross').Value := totalnet+tax;fieldbyname('tax').Value := tax;fieldbyname('taxrate').Value :=floattostr(100*taxraten(totalnet))+'%';fieldbyname('factor').Value:=factorn(totalnet);end; end;but nothing happened.Could you shed some lights?THank you in advance. |
|
|
Norwich
Posting Yak Master
158 Posts |
Posted - 2006-04-13 : 03:03:22
|
| HiTry posting this on a Visual Basic/C# Forum.We focus on sql related issues.RegardsNThe revolution won't be televised! |
 |
|
|
|
|
|
|
|