⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmain.frm

📁 工资管理系统(VB)基于vb开发的工资管理系统,希望大家有用
💻 FRM
📖 第 1 页 / 共 5 页
字号:
       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 + -