小弟只有最后9分了,可怜一下吧.
<!--#include file="include/conn.asp"-->
<%Set Rss=Server.CreateObject("Adodb.RecordSet")
Sqls="Select * from gongzi"
Rss.Open Sqls,conn,3,3While Not Rss.EofDim 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 gzzhanghao='"&Trim(Rss("zhanghao"))&"'"
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("ZF_Accu") - Rss("YangLao_BX") - Rss("ShiYe_BX") - Rss("YiLiao_BX") - 1600
'Num=QiuHeGongShi
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=NothingRss.MoveNext
Wend Rss.Close
Set Rss=Nothing
%>
<!--#include file="include/conn.asp"-->
<%Set Rss=Server.CreateObject("Adodb.RecordSet")
Sqls="Select * from gongzi"
Rss.Open Sqls,conn,3,3While Not Rss.EofDim 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 gzzhanghao='"&Trim(Rss("zhanghao"))&"'"
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("ZF_Accu") - Rss("YangLao_BX") - Rss("ShiYe_BX") - Rss("YiLiao_BX") - 1600
'Num=QiuHeGongShi
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=NothingRss.MoveNext
Wend Rss.Close
Set Rss=Nothing
%>
jiangjinall 奖金表(奖金有多种,要用sum求同一个职工的和)从gongzi表里循环找出每一个人,在jiangjinall里对应找出那个人并求出sum(kh_jj),并进行公式运算:临时值num=gongzi+sum(kh_jj)-a-b-c-d-1600
再对num进行判断大小对应的范值的值,然后update工资表