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

📄 frmmain.frm

📁 银行代发薪资管理系统,跟金融有关的,想学这方面可以参考一下
💻 FRM
📖 第 1 页 / 共 4 页
字号:
    tb2.MoveFirst
Else
    tb2.AddNew
    tb2.Update
    tb2.MoveFirst
End If
tb2.Edit
tb2.Fields(0).Value = ye
tb2.Fields(1).Value = mon
tb2.Update
If Frm统计进程.pb1.Value < Frm统计进程.pb1.Max Then Frm统计进程.pb1.Value = Frm统计进程.pb1.Value + 1
SQL = "select * from bzk order by 编号"
Set tb1 = db.OpenRecordset(SQL, dbOpenDynaset)
Set tb2 = wdb.OpenRecordset("bzdyk", dbOpenTable)
Frm统计进程.pb1.Max = tb1.RecordCount + 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
    i = 0
    Do While i <= tb1.Fields.Count - 1
        tb2.Fields(i).Value = tb1.Fields(i).Value
        i = i + 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
en: End Sub

Private Sub DQHZXS_Click()
Set db = ws.OpenDatabase(dqklj)
'Set tb1 = db.OpenRecordset("zzbzzd", dbOpenTable)
Set tb2 = db.OpenRecordset("hzk", dbOpenTable)
If tb2.RecordCount = 0 Then
    yn = MsgBox("库内无人员记录,不能继续,请先设置标准库后再生成!", 48)
    db.Close
    GoTo en:
End If
frmMAIN.StatusBar1.Panels(2).Text = "共" & Val(tb2.RecordCount) & "条记录"
tb2.Close
Load frm数据查询
frm数据查询.lblLabels(1).Enabled = False
frm数据查询.txtFields(1).Enabled = False
i = 5
For i = 5 To 28
    frm数据查询.lblLabels(i).Enabled = False
    frm数据查询.txtFields(i).Enabled = False
Next i
frm数据查询.Caption = ye & "年" & mon & "月 工资汇总库"
frmMAIN.StatusBar1.Panels(1).Text = "  注意:现在打开和处理的是" & ye & "年" & mon & "月 工资汇总库"
frm数据查询.datPrimaryRS.DatabaseName = dqklj
frm数据查询.datPrimaryRS.RecordSource = "select * from [hzk]"
frm数据查询.datPrimaryRS.Refresh
'tb1.MoveFirst
'i = 1
'Do While i <= 34
'    If Len(Trim(tb1.Fields(i - 1).Value)) > 0 Then
'        frm数据查询.lblLabels(i + 3).Caption = tb1.Fields(i - 1).Value & ":"
'    Else
'        frm数据查询.lblLabels(i + 3).Caption = "        "
'    End If
'    frm数据查询.lblLabels(i + 3).Visible = True
'    frm数据查询.txtFields(i + 3).Visible = True
'    frm数据查询.txtFields(i + 3).DataField = tb1.Fields(i - 1).Name
'    i = i + 1
'Loop
'frm数据查询.Label1.Visible = True
'frm数据查询.Label2.Visible = True
'frm数据查询.Label3.Visible = True
'frm数据查询.Text1.Visible = True
'frm数据查询.Text2.Visible = True
'frm数据查询.Text3.Visible = True
'frm数据查询.PB1.Visible = False
frm数据查询.Show 1
If dbdk = True Then
    frmMAIN.StatusBar1.Panels(1).Text = "  注意:现在打开和处理的是" & ye & "年" & mon & "月的工资库!"
Else
    frmMAIN.StatusBar1.Panels(1).Text = "  ***未打开工资库***"
End If
db.Close
frmMAIN.StatusBar1.Panels(2).Text = " "
en: End Sub

Private Sub DQSJXG_Click()
Set db = ws.OpenDatabase(dqklj)
Set tb1 = db.OpenRecordset("bmk", dbOpenTable)
Set tb2 = db.OpenRecordset("bzk", dbOpenTable)
If tb2.RecordCount = 0 Then
    yn = MsgBox("库内无人员记录,不能继续,请先设置标准库后再生成!", 48)
    db.Close
    GoTo en:
End If
SQL = "select * from [bzk] where 打纸卡=True order by 编号"
Set tb3 = db.OpenRecordset(SQL, dbOpenDynaset)
frmMAIN.StatusBar1.Panels(2).Text = "共" & Val(tb3.RecordCount) & "条记录"
Load frm数据修改
tb1.MoveFirst
Do While Not tb1.EOF
    frm数据修改.Combo1.AddItem tb1("部门")
    tb1.MoveNext
Loop
frm数据修改.Caption = ye & "年" & mon & "月 工资库修改"
frmMAIN.StatusBar1.Panels(1).Text = "  注意:现在打开和处理的是" & ye & "年" & mon & "月 工资库"
frm数据修改.datPrimaryRS.DatabaseName = dqklj
frm数据修改.datPrimaryRS.RecordSource = "select * from [bzk] where 打纸卡=True order by 编号"
frm数据修改.datPrimaryRS.Refresh

frm数据修改.cmd保存.Visible = False
frm数据修改.cmd放弃.Visible = False
frm数据修改.cmd增加.Visible = False
frm数据修改.cmd替换.Move 162, 30, 1335, 360
frm数据修改.cmd锁定.Move 1744, 50, 1335, 360
frm数据修改.cmd定位.Move 3424, 50, 1335, 360
frm数据修改.cmd删除.Move 4984, 50, 1335, 360
frm数据修改.cmd关闭.Move 6544, 50, 1335, 360
    
frm数据修改.lblLabels(0).Enabled = False
frm数据修改.lblLabels(1).Enabled = False
frm数据修改.lblLabels(2).Enabled = False
frm数据修改.lblLabels(3).Enabled = False
frm数据修改.lblLabels(4).Enabled = False
frm数据修改.lbldzk.Enabled = False
frm数据修改.txtFields(0).Enabled = False
frm数据修改.Combo1.Enabled = False
frm数据修改.txtFields(2).Enabled = False
frm数据修改.txtFields(3).Enabled = False
frm数据修改.txtFields(4).Enabled = False
frm数据修改.chkdzk.Enabled = False
frm数据修改.Show 1

db.Close
frmMAIN.StatusBar1.Panels(2).Text = " "
en: 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_Load()
'LyfTools1.SetCapColor (RGB(0, 0, 255))
'LyfTools1.MakeFlatToolabar Toolbar1
Me.Caption = "通用银行代发薪资管理系统   用户:" & yhdw
'Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000)
'Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000)
'Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500)
'Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500)
'i = Me.Label1.Count - 1
'Do While i >= 0
'    Me.Label1(i).Width = Me.Width
'    i = i - 1
'Loop
'Me.Refresh
Call CDKZ
End Sub

Private Sub Form_Resize()
i = Me.Label1.Count - 1
Do While i >= 0
    Me.Label1(i).Move (Me.Width - Label1(i).Width) / 2, Label1(i).Top
    i = i - 1
Loop
End Sub

Private Sub Form_Unload(Cancel As Integer)
End
End Sub

Private Sub GBYK_Click()
ye = ""
mon = ""
dqklj = ""
frmMAIN.StatusBar1.Panels(1).Text = "***未打开工资库***"
dbdk = False
Call CDKZ
End Sub

Private Sub JSQ_Click()
RetVal = Shell("CALC.EXE", 1)
End Sub

Private Sub Label1_Click(Index As Integer)

End Sub

Private Sub QUIT_Click()
End
End Sub

Private Sub Repair_Click()
    Frm统计进程.pb1.Max = 1
    Frm统计进程.Show
    DBEngine.RepairDatabase xtlj & "dwxx.mdb"
    If Frm统计进程.pb1.Value < Frm统计进程.pb1.Max Then Frm统计进程.pb1.Value = Frm统计进程.pb1.Value + 1
    Set wws = DBEngine.Workspaces(0)
    Set wdb = wws.OpenDatabase(xtlj + "dwxx.mdb")
    Set wtb1 = wdb.OpenRecordset("月库登记", dbOpenTable)
    Frm统计进程.pb1.Max = wtb1.RecordCount + 1
    DBEngine.RepairDatabase xtlj & "bzxx.mdb"
    If Frm统计进程.pb1.Value < Frm统计进程.pb1.Max Then Frm统计进程.pb1.Value = Frm统计进程.pb1.Value + 1
    wtb1.MoveFirst
    Do While Not wtb1.EOF
        DBEngine.RepairDatabase xtlj & "data\" & wtb1("年") & wtb1("月") & ".mdb"
        wtb1.MoveNext
        If Frm统计进程.pb1.Value < Frm统计进程.pb1.Max Then Frm统计进程.pb1.Value = Frm统计进程.pb1.Value + 1
    Loop
    Unload Frm统计进程
    yn = MsgBox("数据库修复已经完毕!", 48)
    wdb.Close
End Sub

Private Sub SBCPSC_Click()
yn = MsgBox("应先生成报盘文件后再进行报盘生成!是否继续?", 36)
If yn = vbYes Then frm报盘输出.Show 1
End Sub

Private Sub SCSBWJ_Click()
Dim AB As Long
Dim M, K As Double
Dim AA, A(6), B(6), jys As String
frm报盘密码.Show 1
If LoginSucceeded = True Then
dfze = 0
Load Frm统计进程
Frm统计进程.Caption = "现在正在生成上报文件,生成进度如下,请等待!"
Frm统计进程.Show
Set db = ws.OpenDatabase(dqklj)
SQL = "select * from bzk order by 编号"
Set tb1 = db.OpenRecordset(SQL, dbOpenDynaset)
Frm统计进程.pb1.Max = tb1.RecordCount
Frm统计进程.pb1.Max = tb1.RecordCount + tb1.RecordCount
rq = Right(Format(Year(Date)), 2) & Right("00" & Format(Month(Date)), 2) & Right("00" & Format(Day(Date)), 2)
yn = 1
Open xtlj & "Pay.txt" For Output As #1 'Len = 36
If tb1.RecordCount > 0 Then
    tb1.MoveFirst
    Do While Not tb1.EOF
        If Len(Trim(tb1("卡号"))) = 18 And tb1("实发金额") > 0 Then
            'If Int(tb1("实发金额")) = tb1("实发金额") Then
            '    scz = "1" & Trim(tb1("卡号")) & Right("0000000" & Format(tb1("实发金额")) & "00", 7) & "000000" & Right(Trim(tb1("编号")), 4)
            'Else
            '    If Int(tb1("实发金额") * 10) = tb1("实发金额") * 10 Then
            '        scz = "1" & Trim(tb1("卡号")) & Right("0000000" & Format(tb1("实发金额") * 10) & "0", 7) & "000000" & Right(Trim(tb1("编号")), 4)
            '    Else
            '        scz = "1" & Trim(tb1("卡号")) & Right("0000000" & Format(Int(tb1("实发金额") * 100)), 7) & "000000" & Right(Trim(tb1("编号")), 4)
            '    End If
            'End If
            dfze = dfze + Int(tb1("实发金额") * 100) / 100
            'yn = yn + 1
        End If
        If Frm统计进程.pb1.Value < Frm统计进程.pb1.Max Then Frm统计进程.pb1.Value = Frm统计进程.pb1.Value + 1
        tb1.MoveNext
    Loop
    scz = "0" & dwdh & Right("0000000000000" & Format(dfze * 100), 13) & rq & "1"
    Print #1, scz
End If
If tb1.RecordCount > 0 Then
    tb1.MoveFirst
    Do While Not tb1.EOF
        If Len(Trim(tb1("卡号"))) = 18 And tb1("实发金额") > 0 Then
            M = Val(Right(tb1("卡号"), 7)) * Mima - (Val(Right("0000000" & Format(tb1("实发金额")) & "00", 7)) + Val(rq))
            AA = Right("000000" & Format(M), 6)
            i = 1
            For i = 1 To 6
                A(i) = Mid(Format(AA), i, 1)
                Debug.Print A(i)
            Next i
            i = 1
            For i = 1 To 6
                B(i) = Mid(Format(Mima), i, 1)
            Next i
            i = 1
            AB = 0
            For i = 1 To 6
                AB = AB + Val(A(i)) * Val(B(i))
            Next i
            K = Abs(Mima - AB) * AB
            jys = Right("0000" & Format(K Mod 10000), 4)
            If Int(tb1("实发金额") * 1000) = tb1("实发金额") * 1000 Or Int(tb1("实发金额") * 10000) = tb1("实发金额") * 10000 Then
                tb1.Edit
                tb1("实发金额") = Int(tb1("实发金额") * 100) / 100
                tb1.Update
            End If
            If Int(tb1("实发金额")) = tb1("实发金额") Then
                scz = "1" & Trim(tb1("卡号")) & Right("0000000" & Format(tb1("实发金额")) & "00", 7) & jys & "00" & Right(Trim(tb1("编号")), 4)
            Else
                If Int(tb1("实发金额") * 10) = tb1("实发金额") * 10 Then
                    scz = "1" & Trim(tb1("卡号")) & Right("0000000" & Format(tb1("实发金额") * 10) & "0", 7) & jys & "00" & Right(Trim(tb1("编号")), 4)
                Else
                    scz = "1" & Trim(tb1("卡号")) & Right("0000000" & Format(Int(tb1("实发金额") * 100)), 7) & jys & "00" & Right(Trim(tb1("编号")), 4)
                End If
            End If
            'dfze = dfze + tb1("实发金额")
            Print #1, scz
            yn = yn + 1
        End If
        If Frm统计进程.pb1.Value < Frm统计进程.pb1.Max Then Frm统计进程.pb1.Value = Frm统计进程.pb1.Value + 1
        tb1.MoveNext
    Loop
End If
Close #1
db.Close
Unload Frm统计进程
'End If
Open xtlj & "Readme.txt" For Output As #1
SQL = "中行:"
Print #1, SQL
SQL = "    本月需要代发的工资总额为" & Format(dfze) & "元。请查验!"
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
yn = MsgBox("交中行代发的工资总额为:" & Str(dfze) & "元,是否显示代发文件?", 36)
If yn = vbYes Then
    RetVal = Shell("NOTEPAD.EXE " & xtlj & "Pay.txt", 1)
End If
End If
End Sub

Private Sub SJIMP_Click()
On Error GoTo Err:
Dim implj As String
implj = "\\WL\Jskq06\Data"
Set db = ws.OpenDatabase(dqklj)
Set wdb = wws.OpenDatabase(implj, False, False, "FoxPro 2.5;")
Set tb1 = db.OpenRecordset("bzk", dbOpenTable)
Set tb2 = wdb.OpenRecordset("Gzcalc.dbf", dbOpenTable)
Frm统计进程.pb1.Max = tb1.RecordCount
Frm统计进程.Show
If tb2.RecordCount > 0 Then
    tb1.MoveFirst
    Do While Not tb1.EOF
        tb2.MoveFirst
        Do While Not tb2.EOF
            If tb1("编号") = tb2("Per_cdcode") Then
                tb1.Edit
                tb1("编号") = tb2("Per_cdcode")
                tb1("实发金额") = tb2("Fd30")
                tb1.Update
                Exit Do
            End If
            tb2.MoveNext
        Loop
        tb1.MoveNext
        If Frm统计进程.pb1.Value < Frm统计进程.pb1.Max Then Frm统计进程.pb1.Value = Frm统计进程.pb1.Value + 1
    Loop
End If
db.Close
wdb.Close
Unload Frm统计进程
         yn = MsgBox("考勤数据导入完毕,是否显示统计结果?", 36)
         If yn = vbYes Then
              Set db = ws.OpenDatabase(dqklj)
              Set tb2 = db.OpenRecordset("bzk", dbOpenTable)
              If tb2.RecordCount = 0 Then
                  yn = MsgBox("库内无人员记录,不能继续,请先设置标准库后再生成!", 48)
              Else
                  frmMAIN.StatusBar1.Panels(2).Text = "共" & Val(tb2.RecordCount) & "记录"
                  tb2.Close
                  Load frm数据修改
                  frm数据修改.Caption = ye & "年" & mon & "月 工资库修改"
                  frmMAIN.StatusBar1.Panels(1).Text = "  注意:现在打开和处理的是" & ye & "年" & mon & "月 工资库"
                  frm数据修改.datPrimaryRS.DatabaseName = dqklj
                  frm数据修改.datPrimaryRS.RecordSource = "select * from [bzk] order by 编号"
                  frm数据修改.datPrimaryRS.Refresh

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -