📄 frmmain.frm
字号:
Private Sub CLOSLFK_Click()
LSDBDK = False
hxfdbdk = False
Call CDKZ
End Sub
Private Sub DKYK_Click()
If hxfdbdk = True Then
hxfyn = MsgBox(hxfyear & "年" & hxfmath & "月" & "的工资库已打开,是否关闭?", 36)
If hxfyn = vbYes Then
frmMAIN.StatusBar1.Panels(1).Text = " 注意:原打开的工资库已经被关闭!"
Frm月库打开.Show 1
End If
Else
Frm月库打开.Show 1
End If
LSDBDK = False
Call CDKZ
End Sub
Private Sub DWXXWH_Click()
Load frm系统信息维护
frm系统信息维护.datPrimaryRS.DatabaseName = xtlj & "dwxx.mdb"
frm系统信息维护.datPrimaryRS.RecordSource = "select * from [dwxx]"
frm系统信息维护.Show 1
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Private Sub GBYK_Click()
hxfyear = ""
hxfmath = ""
dqklj = ""
frmMAIN.StatusBar1.Panels(1).Text = "***未打开工资库***"
hxfdbdk = False
LSDBDK = False
Call CDKZ
End Sub
Private Sub JSQ_Click()
RetVal = Shell("CALC.EXE", 1)
End Sub
Private Sub LFBBSC_Click()
Load Frm统计进程
Frm统计进程.Caption = "现在正在进行打印前运算,运算进度如下,请等待!"
Frm统计进程.Show
Frm统计进程.PB1.Max = 1
Set db = ws.OpenDatabase(lswjlj)
Set wdb = wws.OpenDatabase(xtlj & "dwxx.mdb")
SQL = "select * from lfbzk order by 性质,部门,工号"
Set tb1 = db.OpenRecordset(SQL, dbOpenDynaset)
Frm统计进程.PB1.Max = Frm统计进程.PB1.Max + tb1.RecordCount
Set tb2 = wdb.OpenRecordset("lfdyk", dbOpenTable)
Frm统计进程.PB1.Max = Frm统计进程.PB1.Max + tb2.RecordCount
Set tb3 = db.OpenRecordset("lfhzk", dbOpenTable)
Frm统计进程.PB1.Max = Frm统计进程.PB1.Max + tb3.RecordCount
tb1.Sort = "性质,部门,工号"
If tb2.RecordCount > 0 Then
tb2.MoveFirst
Do While Not tb2.EOF
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
tb2.Delete
tb2.MoveNext
Loop
End If
tb1.MoveFirst
hxfbm = tb1("部门")
hxfxz = tb1("性质")
Do While Not tb1.EOF
If hxfxz <> tb1("性质") Then
tb3.MoveFirst
Do While Not tb3.EOF
If hxfxz = tb3("性质") And hxfbm = tb3("部门") Then
tb2.AddNew
tb2("工号") = " "
tb2("卡号") = "合 计 "
tb2("姓名") = " "
tb2("性质") = tb3("性质")
tb2("部门") = tb3("部门")
tb2("实发现金") = tb3("实发现金")
tb2.Update
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
Exit Do
Else
tb3.MoveNext
End If
Loop
tb3.MoveFirst
Do While Not tb3.EOF
If hxfxz = tb3("性质") And tb3("部门") = "合计" Then
tb2.AddNew
tb2("工号") = " "
tb2("卡号") = " "
tb2("姓名") = " "
tb2("性质") = tb3("性质")
tb2("部门") = "合计"
tb2("实发现金") = tb3("实发现金")
tb2.Update
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
Exit Do
Else
tb3.MoveNext
End If
Loop
hxfbm = tb1("部门")
hxfxz = tb1("性质")
End If
If hxfxz = tb1("性质") And hxfbm <> tb1("部门") Then
tb3.MoveFirst
Do While Not tb3.EOF
If hxfxz = tb3("性质") And hxfbm = tb3("部门") Then
tb2.AddNew
tb2("工号") = " "
tb2("卡号") = "合 计 "
tb2("姓名") = " "
tb2("性质") = tb3("性质")
tb2("部门") = tb3("部门")
tb2("实发现金") = tb3("实发现金")
tb2.Update
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
Exit Do
Else
tb3.MoveNext
End If
Loop
hxfbm = tb1("部门")
hxfxz = tb1("性质")
End If
tb2.AddNew
tb2("工号") = tb1("工号")
tb2("卡号") = tb1("卡号")
tb2("姓名") = tb1("姓名")
tb2("性质") = tb1("性质")
tb2("部门") = tb1("部门")
tb2("实发现金") = tb1("实发现金")
tb1.MoveNext
tb2.Update
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
Loop
tb3.MoveFirst
Do While Not tb3.EOF
If hxfxz = tb3("性质") And hxfbm = tb3("部门") Then
tb2.AddNew
tb2("工号") = " "
tb2("卡号") = "合 计 "
tb2("姓名") = " "
tb2("性质") = tb3("性质")
tb2("部门") = tb3("部门")
tb2("实发现金") = tb3("实发现金")
tb2.Update
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
Exit Do
Else
tb3.MoveNext
End If
Loop
tb3.MoveFirst
Do While Not tb3.EOF
If hxfxz = tb3("性质") And tb3("部门") = "合计" Then
tb2.AddNew
tb2("工号") = " "
tb2("卡号") = " "
tb2("姓名") = " "
tb2("性质") = tb3("性质")
tb2("部门") = "合计"
tb2("实发现金") = tb3("实发现金")
tb2.Update
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
Exit Do
Else
tb3.MoveNext
End If
Loop
tb3.MoveLast
Do While Not tb3.EOF
If tb3("性质") = "总计" Then
tb2.AddNew
tb2("工号") = " "
tb2("卡号") = " "
tb2("姓名") = " "
tb2("性质") = "总计"
tb2("部门") = " "
tb2("实发现金") = tb3("实发现金")
tb2.Update
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
Exit Do
Else
tb3.MoveNext
End If
Loop
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
tb1.Close
tb2.Close
tb3.Close
Set tb2 = wdb.OpenRecordset("年月日", dbOpenTable)
If tb2.RecordCount > 0 Then
tb2.MoveFirst
Else
tb2.AddNew
tb2.Update
tb2.MoveFirst
End If
tb2.Edit
tb2.Fields(0).Value = hxfyear
tb2.Fields(1).Value = hxfmath
tb2.Fields(2).Value = hxfday
tb2.Fields(3).Value = hxfxmmc
tb2.Update
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
Set tb1 = db.OpenRecordset("lfhzk", dbOpenTable)
Set tb2 = wdb.OpenRecordset("lfhzk", dbOpenTable)
Frm统计进程.PB1.Max = Frm统计进程.PB1.Max + tb1.RecordCount
Frm统计进程.PB1.Max = Frm统计进程.PB1.Max + tb2.RecordCount
If tb2.RecordCount > 0 Then
tb2.MoveFirst
Do While Not tb2.EOF
tb2.Delete
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
tb2.MoveNext
Loop
End If
tb1.MoveFirst
Do While Not tb1.EOF
tb2.AddNew
hxfi = 0
Do While hxfi <= tb1.Fields.Count - 1
tb2.Fields(hxfi).Value = tb1.Fields(hxfi).Value
hxfi = hxfi + 1
Loop
tb1.MoveNext
tb2.Update
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
Loop
db.Close
wdb.Close
Unload Frm统计进程
Frm临表选择.Show 1
End Sub
Private Sub LFBPSC_Click()
hxfdfze = 0
If dwccklb = "普通卡" Then
Load Frm统计进程
Frm统计进程.Caption = "现在正在生成上报文件,生成进度如下,请等待!"
Frm统计进程.Show
Frm统计进程.PB1.Max = 1
Set db = ws.OpenDatabase(lswjlj)
Set tb1 = db.OpenRecordset("lfbzk", dbOpenTable)
Frm统计进程.PB1.Max = Frm统计进程.PB1.Max + tb1.RecordCount
hxfrq = Format(Year(Date)) & Right("00" & Format(Month(Date)), 2) & Right("00" & Format(Day(Date)), 2)
hxfyn = 1
Open xtlj & "gzwat.txt" For Output As #1 'Len = 53
tb1.MoveFirst
Do While Not tb1.EOF
If Len(Trim(tb1("卡号"))) = 16 And tb1("实发现金") > 0 Then
If Int(tb1("实发现金")) = tb1("实发现金") Then
hxfscz = Trim(tb1("卡号")) & Right("0000000000000000" & Format(tb1("实发现金")) & ".00", 16) & hxfrq & dwdh
Else
If Int(tb1("实发现金") * 10) = tb1("实发现金") * 10 Then
hxfscz = Trim(tb1("卡号")) & Right("0000000000000000" & Format(tb1("实发现金")) & "0", 16) & hxfrq & dwdh
Else
hxfscz = Trim(tb1("卡号")) & Right("0000000000000000" & Format(Int(tb1("实发现金") * 100) / 100), 16) & hxfrq & dwdh
End If
End If
hxfdfze = hxfdfze + Int(tb1("实发现金") * 100) / 100
Print #1, hxfscz
hxfyn = hxfyn + 1
End If
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
tb1.MoveNext
Loop
Close #1
db.Close
Unload Frm统计进程
End If
If dwccklb = "借记卡" Then
Load Frm统计进程
Frm统计进程.Caption = "现在正在生成上报文件,生成进度如下,请等待!"
Frm统计进程.Show
Frm统计进程.PB1.Max = 1
Set db = ws.OpenDatabase(lswjlj)
Set tb1 = db.OpenRecordset("lfbzk", dbOpenTable)
Frm统计进程.PB1.Max = Frm统计进程.PB1.Max + tb1.RecordCount
hxfyn = 1
Open xtlj & "disk.txt" For Output As #1 'Len = 41
tb1.MoveFirst
Do While Not tb1.EOF
If Len(Trim(tb1("卡号"))) = 16 And tb1("实发现金") > 0 Then
If Int(tb1("实发现金")) = tb1("实发现金") Then
hxfscz = Trim(tb1("卡号")) & Right(" " & Trim(tb1("姓名")), 12) & Format(tb1("实发现金")) & ".00"
Else
If Int(tb1("实发现金") * 10) = tb1("实发现金") * 10 Then
hxfscz = Trim(tb1("卡号")) & Right(" " & Trim(tb1("姓名")), 12) & Format(tb1("实发现金")) & "0"
Else
hxfscz = Trim(tb1("卡号")) & Right(" " & Trim(tb1("姓名")), 12) & Format(Int(tb1("实发现金") * 100) / 100)
End If
End If
hxfdfze = hxfdfze + Int(tb1("实发现金") * 100) / 100
Print #1, hxfscz
hxfyn = hxfyn + 1
End If
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
tb1.MoveNext
Loop
Close #1
db.Close
Unload Frm统计进程
End If
Open xtlj & "readme.txt" For Output As #1
SQL = "建行:"
Print #1, SQL
SQL = " 本月需要代发的工资总额为" & Format(Int(hxfdfze * 100) / 100) & "元。请查验!"
Print #1, SQL
SQL = " " & Trim(yhdw)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -