求这样的存储过程,中午就要交了。
求以下代码的存储过程,中午就要上交了。请大家多多指教吧。
总的功能是:
在工资表里找出12月的所有工资数据,然后在奖金表里用姓名匹配,然后求出Num的值,然后根据税率值的判断,求出所得税,然后保存在工资表里。
Set Rss=Server.CreateObject("Adodb.RecordSet")
Sqls="Select * from gongzi Where gzmonth='12'"
Rss.Open Sqls,conn,3,3
While Not Rss.Eof
Dim Num,lv,kou
Num=0 '每条记录清零
lv=0
kou=0
Set Rs=Server.CreateObject("Adodb.RecordSet")
Sql="Select SUM(KH_JJ) as JJ from JiangJinAll where name='"&Trim(Rss("Name"))&"' and gzmonth='12'"
Rs.Open Sql,conn,1,1
If Rs.RecordCount>=1 Then
If Rs("JJ")>0 Then
JiangJin=Rs("JJ")
Else
JiangJin=0
End If
Else
JiangJin=0
End If
Num=Rss("yingfa") + JiangJin - Rss("Gl_Salary") - Rss("ZF_Accu") - Rss("YangLao_BX") - Rss("ShiYe_BX") - Rss("YiLiao_BX") - 1400
Tax_Num=Num
If Num<=0 Then
Num=0
lv=0.05
kou=0
End If
If Num>0 and Num<=500 Then
Num=Num*5/100
lv=0.05
kou=0
End If
If Num>500 and Num<=2000 Then
Num=Num*10/100-25
lv=0.1
kou=25
End If
If Num>2000 and Num<=5000 Then
Num=Num*15/100-125
lv=0.15
kou=125
End If
If Num>5000 and Num<=20000 Then
Num=Num*20/100-375
lv=0.2
kou=375
End If
If Num>20000 and Num<=40000 Then
Num=Num*25/100-1375
lv=0.25
kou=1375
End If
If Num>40000 and Num<=60000 Then
Num=Num*30/100-3375
lv=0.3
kou=3375
End If
If Num>60000 and Num<=80000 Then
Num=Num*35/100-6375
lv=0.35
kou=6375
End If
If Num>80000 and Num<=100000 Then
Num=Num*40/100-10375
lv=0.4
kou=10375
End If
If Num>100000 Then
Num=Num*45/100-15375
lv=0.45
kou=15375
End If
Rss("Gr_Tax")=FormatNumber(Num,2) //增加数据
Rss("Tax_Num")=FormatNumber(Tax_Num,2)
Rss("Tax_Lv")=lv
Rss("Tax_Kou")=kou
Rss.Update
Rs.Close
Set Rs=Nothing
Rss.MoveNext
Wend
Rss.Close
Set Rss=Nothing