Foxtable(狐表)用户栏目专家坐堂 → [求助] 代码有误 请帮忙修改一下


  共有2279人关注过本帖树形打印复制链接

主题:[求助] 代码有误 请帮忙修改一下

帅哥哟,离线,有人找我吗?
雪狐3681
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:3 积分:90 威望:0 精华:0 注册:2020/3/24 10:08:00
[求助] 代码有误 请帮忙修改一下  发帖心情 Post By:2020/3/24 11:57:00 [只看该作者]

以下内容为程序代码:

1 1 Dim dr As DataRow
2 2 Dim cur As Integer
3 3 Select Case e.DataTable.Name
4 4 Case ”工资表”
5 5 |=:==计算缴金
6 6 If e.DataCol.Name 11 工号”
7 7 1在工资表中找出该工号
8 8 dr = DataTables(”基本情况表“).Find(”工号& e.DataRow(” 工号”)& m)
9 9 If dr IsNot Nothing Then如果找到,则设置各列内容 e.DataRow(”姓名”戶 dr(”姓名”) e.DataRowC'S放年月")=VYM
10 10 VZSR_QN=dr(”上年缴金总收入“) VZSR_PQN=dr(”前年缴金总收入") Dim zsr As Single
11 11 If VAL(vmonth)>=7 Then
12 12 zsr=VZSR_QN
13 13 Else
14 14 zsr=VZSR_PQN
15 15 End If
16 16 e.DataRow("发公积金”戶 round2((zsr*VR_FGJJ/100)/12,0) WR_FGJJ—收入栏中的公积金提取比率二7 e.DataRow("扣公积金")=round2((zsr*VR_KGJJ/100)/12,0) 'VR_KGJJ 除栏中的公积金提取比率14
17 17 If e-DataRowC' 发公积金")>VGJJ_SX/2 Then ' VGJLSX—公积金上限
18 18 e.DataRow("发公积金"> round2(VGJJ_SX/2,0) 1 VGJJ_XX--公积金下限
19 19 End If
20 20 If e.DataRow("发公积金")<VGJJ_XX/2 Then ,低于公积 金下限
21 21 e.DataRow(”发公积金”戶 round2(VGJJ_XX/2,0)
22 22 End If
23 23 If e.DataRow(”扣公积金”)vVGJLXX Then ,低于公积金
24 24 下限
25 25 e.DataRowC'扣公积金”)= VGJJ.XX
26 26 End If
27 27 If VAL(vmonth)>=4 Then ,4月调整养老,失保,医保
28 28 zsr=VZSR_QN
29 29 Else
30 30 zsr=VZSR_PQN
31 31 End If
32 32 e.DataRow("养老保险")=round2((zsr*VR_YLX/100)/12,l) e.DataRow("失业保险")=round2((zsr*VR_SBX/100)/12,l)?
33 33 e.DataRow(”医疗保险”)=round2((zsr*VR_YBX/100)/12,l) Else
34 34 msgbox("无此记录!请先在基本情况表中输入记录”) e-DataRow.Delete
35 35 End If
36 36 End If
37 37 Case ”部门名表”
38 38 End select
39 39 1.2.3逢4月时,工资表中自动调整三险的代码
40 40 我们只需在项目事件的MainTableChanged输入如下代码:
41 41 』二=调整三险
42 42 Dim j As Integer
43 43 Dim jls As Integer
44 44 Dim gh_gz As String
45 45 Dim Result As DialogResult
46 46 IfVM And MainTable.Name="X资表” Then
47 47 Result=MessageBox.Show("调整吗?”,”4月应调整三险:养老,失 保,医保",MessageBoxButtons.YesNo)
48 48 If Result = DialogResult.Yes Then
49 49 j=0
50 50 jls二Tables("工资表").Rows.Count
51 51 CurrentTable.Position=0 ,定位至首记录
52 52 Do While j<=jls
53 53 If Tables("T资表”).Current(“发放年月,,)=VYM Then '
54 54 只改当月数据
55 55 dr = DataTables(H基本情况表”).Find(”工号=H, & CurrentTable.Current("_T号")&
56 56 If dr IsNot Nothing Then,如果找到,则设置各列内容 VZSR_QN=dif上年缴金总收入“) VZSR_PQN=dr(”前年缴金总收入”) Dim zsr As Single
57 57 If VAL(vmonth)>=4 Then 耳月调整养老,失保,
58 58
59 59
60 60 ZBVZSR_QN
61 61 Else
62 62 zsr=VZSR.PQN
63 63 End If
64 64 CurrentTable.Current(” 养老保险")=
65 65 round2((zsr*VR_YLX/100)/12,l)
66 66 'VR_YLX—养老保险
67 67 CurrentTable.Current("失业保险")= round2((zsr*VR_SBX/100)/12,l)
68 68 'VR_SBX—失业保险
69 69 CurrentTable.Current("医疗保险")= round2((zsr*VR_YBX/100)/12,l)
70 70 'VR_YBX—医疗保险
71 71 End If
72 72 End If j=j+l
73 73 CurrentT able.Position=j
74 74 Loop
75 75 End If
76 76 End If
77 77
以下内容为程序代码:

1 1 Dim dr As DataRow
2 2 Dim cur As Integer
3 3 Select Case e.DataTable.Name
4 4 Case ”工资表”
5 5 |=:==计算缴金
6 6 If e.DataCol.Name 11 工号”
7 7 1在工资表中找出该工号
8 8 dr = DataTables(”基本情况表“).Find(”工号& e.DataRow(” 工号”)& m)
9 9 If dr IsNot Nothing Then如果找到,则设置各列内容 e.DataRow(”姓名”戶 dr(”姓名”) e.DataRowC'S放年月")=VYM
10 10 VZSR_QN=dr(”上年缴金总收入“) VZSR_PQN=dr(”前年缴金总收入") Dim zsr As Single
11 11 If VAL(vmonth)>=7 Then
12 12 zsr=VZSR_QN
13 13 Else
14 14 zsr=VZSR_PQN
15 15 End If
16 16 e.DataRow("发公积金”戶 round2((zsr*VR_FGJJ/100)/12,0) WR_FGJJ—收入栏中的公积金提取比率二7 e.DataRow("扣公积金")=round2((zsr*VR_KGJJ/100)/12,0) 'VR_KGJJ 除栏中的公积金提取比率14
17 17 If e-DataRowC' 发公积金")>VGJJ_SX/2 Then ' VGJLSX—公积金上限
18 18 e.DataRow("发公积金"> round2(VGJJ_SX/2,0) 1 VGJJ_XX--公积金下限
19 19 End If
20 20 If e.DataRow("发公积金")<VGJJ_XX/2 Then ,低于公积 金下限
21 21 e.DataRow(”发公积金”戶 round2(VGJJ_XX/2,0)
22 22 End If
23 23 If e.DataRow(”扣公积金”)vVGJLXX Then ,低于公积金
24 24 下限
25 25 e.DataRowC'扣公积金”)= VGJJ.XX
26 26 End If
27 27 If VAL(vmonth)>=4 Then ,4月调整养老,失保,医保
28 28 zsr=VZSR_QN
29 29 Else
30 30 zsr=VZSR_PQN
31 31 End If
32 32 e.DataRow("养老保险")=round2((zsr*VR_YLX/100)/12,l) e.DataRow("失业保险")=round2((zsr*VR_SBX/100)/12,l)?
33 33 e.DataRow(”医疗保险”)=round2((zsr*VR_YBX/100)/12,l) Else
34 34 msgbox("无此记录!请先在基本情况表中输入记录”) e-DataRow.Delete
35 35 End If
36 36 End If
37 37 Case ”部门名表”
38 38 End select
39 39 1.2.3逢4月时,工资表中自动调整三险的代码
40 40 我们只需在项目事件的MainTableChanged输入如下代码:
41 41 』二=调整三险
42 42 Dim j As Integer
43 43 Dim jls As Integer
44 44 Dim gh_gz As String
45 45 Dim Result As DialogResult
46 46 IfVM And MainTable.Name="X资表” Then
47 47 Result=MessageBox.Show("调整吗?”,”4月应调整三险:养老,失 保,医保",MessageBoxButtons.YesNo)
48 48 If Result = DialogResult.Yes Then
49 49 j=0
50 50 jls二Tables("工资表").Rows.Count
51 51 CurrentTable.Position=0 ,定位至首记录
52 52 Do While j<=jls
53 53 If Tables("T资表”).Current(“发放年月,,)=VYM Then '
54 54 只改当月数据
55 55 dr = DataTables(H基本情况表”).Find(”工号=H, & CurrentTable.Current("_T号")&
56 56 If dr IsNot Nothing Then,如果找到,则设置各列内容 VZSR_QN=dif上年缴金总收入“) VZSR_PQN=dr(”前年缴金总收入”) Dim zsr As Single
57 57 If VAL(vmonth)>=4 Then 耳月调整养老,失保,
58 58
59 59
60 60 ZBVZSR_QN
61 61 Else
62 62 zsr=VZSR.PQN
63 63 End If
64 64 CurrentTable.Current(” 养老保险")=
65 65 round2((zsr*VR_YLX/100)/12,l)
66 66 'VR_YLX—养老保险
67 67 CurrentTable.Current("失业保险")= round2((zsr*VR_SBX/100)/12,l)
68 68 'VR_SBX—失业保险
69 69 CurrentTable.Current("医疗保险")= round2((zsr*VR_YBX/100)/12,l)
70 70 'VR_YBX—医疗保险
71 71 End If
72 72 End If j=j+l
73 73 CurrentT able.Position=j
74 74 Loop
75 75 End If
76 76 End If
77 77
 

 回到顶部