📄 frmmain.frm
字号:
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)
Print #1, SQL
SQL = " " & Format(Year(Date)) & "年" & Right("00" & Format(Month(Date)), 2) & "月" & Right("00" & Format(Day(Date)), 2) & "日"
Print #1, SQL
Close #1
hxfyn = MsgBox("交工行代发的工资总额为:" & Str(Int(hxfdfze * 100) / 100) & "是否显示代发文件", 36)
If hxfyn = vbYes And dwccklb = "普通卡" Then
RetVal = Shell("NOTEPAD.EXE " & xtlj & "gzwat.txt", 1)
End If
If hxfyn = vbYes And dwccklb = "借记卡" Then
RetVal = Shell("NOTEPAD.EXE " & xtlj & "disk.txt", 1)
End If
End Sub
Private Sub LFKSC_Click()
Frm临发生成.Show 1
Call CDKZ
End Sub
Private Sub LFSBSC_Click()
frm报盘输出.Show 1
End Sub
Private Sub lfsjtn_Click()
Set db = ws.OpenDatabase(lswjlj)
Set tb1 = db.OpenRecordset("lfhzk", dbOpenTable)
Frm统计进程.Show
Frm统计进程.PB1.Max = 1
If tb1.RecordCount > 0 Then
tb1.MoveFirst
Do While Not tb1.EOF
tb1.Delete
tb1.MoveNext
Loop
End If
SQL = "select [lfbzk].性质,[lfbzk].部门,sum([lfbzk].实发现金) as 实发现金 from lfbzk group by 性质,部门"
Set tb2 = db.OpenRecordset(SQL, dbOpenDynaset)
If tb2.RecordCount > 0 Then
Frm统计进程.PB1.Max = tb2.RecordCount
tb2.MoveFirst
Do While Not tb2.EOF
tb1.AddNew
tb1("性质") = tb2("性质")
tb1("部门") = tb2("部门")
tb1("实发现金") = tb2("实发现金")
tb1.Update
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
tb2.MoveNext
Loop
End If
SQL = "select [lfbzk].性质,sum([lfbzk].实发现金) as 实发现金 from lfbzk group by 性质"
Set tb2 = db.OpenRecordset(SQL, dbOpenDynaset)
If tb2.RecordCount > 0 Then
Frm统计进程.PB1.Max = tb2.RecordCount
tb2.MoveFirst
Do While Not tb2.EOF
tb1.AddNew
tb1("性质") = tb2("性质")
tb1("部门") = "合计"
tb1("实发现金") = tb2("实发现金")
tb1.Update
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
tb2.MoveNext
Loop
End If
SQL = "select sum([lfbzk].实发现金) as 实发现金 from lfbzk"
Set tb2 = db.OpenRecordset(SQL, dbOpenDynaset)
If tb2.RecordCount > 0 Then
Frm统计进程.PB1.Max = tb2.RecordCount
tb2.MoveFirst
Do While Not tb2.EOF
tb1.AddNew
tb1("性质") = "总计"
tb1("部门") = "**********"
tb1("实发现金") = tb2("实发现金")
tb1.Update
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
tb2.MoveNext
Loop
End If
hxfyn = MsgBox("临时发放库统计完毕,是否显示统计结果?", 36)
Unload Frm统计进程
If hxfyn = vbYes Then
Load frm临发查询
frm临发查询.datPrimaryRS.DatabaseName = lswjlj
frm临发查询.datPrimaryRS.RecordSource = "select * from [lfhzk] order by 性质,部门"
frm临发查询.datPrimaryRS.Refresh
frm临发查询.Show 1
End If
End Sub
Private Sub LFSJXG_Click()
Load frm临发修改
frm临发修改.datPrimaryRS.DatabaseName = lswjlj
frm临发修改.datPrimaryRS.RecordSource = "select * from [lfbzk] order by 性质,部门,工号"
frm临发修改.datPrimaryRS.Refresh
frm临发修改.Show 1
End Sub
Private Sub LFXMWH_Click()
frmlfxm.Show 1
End Sub
Private Sub LXBBDY_Click()
Load Frm统计进程
Frm统计进程.Caption = "现在正在进行打印前运算,运算进度如下,请等待!"
Frm统计进程.Show
Frm统计进程.PB1.Max = 1
Set db = ws.OpenDatabase(dqklj)
Set wdb = wws.OpenDatabase(xtlj & "dwxx.mdb")
SQL = "select * from lxbzk order by 部门,工号"
Set tb1 = db.OpenRecordset(SQL, dbOpenDynaset)
If tb1.RecordCount = 0 Then
hxfyn = MsgBox("库内无人员记录,不能继续,请先设置标准库后再生成!", 48)
db.Close
Unload Frm统计进程
GoTo en:
End If
Frm统计进程.PB1.Max = Frm统计进程.PB1.Max + tb1.RecordCount
Set tb2 = wdb.OpenRecordset("dyk", dbOpenTable)
Frm统计进程.PB1.Max = Frm统计进程.PB1.Max + tb2.RecordCount
Set tb3 = db.OpenRecordset("lxhzk", 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("部门")
Do While Not tb1.EOF
If hxfbm <> tb1("部门") Then
tb3.MoveFirst
Do While Not tb3.EOF
If hxfbm = tb3("部门") Then
tb2.AddNew
tb2("工号") = "******"
tb2("卡号") = "******************"
tb2("姓名") = "合 计"
hxfi = 0
Do While hxfi <= tb3.Fields.Count - 1
tb2(tb3.Fields(hxfi).Name) = tb3.Fields(hxfi).Value
hxfi = hxfi + 1
Loop
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("部门")
End If
tb2.AddNew
hxfi = 0
Do While hxfi <= tb1.Fields.Count - 1
tb2(tb1.Fields(hxfi).Name) = tb1(tb1.Fields(hxfi).Name)
hxfi = hxfi + 1
Loop
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 hxfbm = tb3("部门") Then
tb2.AddNew
tb2("工号") = "******"
tb2("卡号") = "******************"
tb2("姓名") = "合 计"
hxfi = 0
Do While hxfi <= tb3.Fields.Count - 1
tb2(tb3.Fields(hxfi).Name) = tb3.Fields(hxfi).Value
hxfi = hxfi + 1
Loop
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
tb2.AddNew
tb2("工号") = "******"
tb2("卡号") = "******************"
tb2("姓名") = "********"
hxfi = 0
Do While hxfi <= tb3.Fields.Count - 1
tb2(tb3.Fields(hxfi).Name) = tb3.Fields(hxfi).Value
hxfi = hxfi + 1
Loop
tb2.Update
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
tb1.Close
tb2.Close
tb3.Close
Set tb1 = db.OpenRecordset("lxbzzd", dbOpenTable)
Set tb2 = wdb.OpenRecordset("dyzd", 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
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.Update
If Frm统计进程.PB1.Value < Frm统计进程.PB1.Max Then Frm统计进程.PB1.Value = Frm统计进程.PB1.Value + 1
Set tb1 = db.OpenRecordset("lxhzk", dbOpenTable)
Set tb2 = wdb.OpenRecordset("dyhzk", 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -