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

📄 frmpay.frm

📁 人事管理信息系统
💻 FRM
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "Msflxgrd.ocx"
Begin VB.Form frmPay 
   Caption         =   "员工工资列表"
   ClientHeight    =   4455
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   6705
   LinkTopic       =   "Form1"
   MDIChild        =   -1  'True
   ScaleHeight     =   4455
   ScaleWidth      =   6705
   WindowState     =   2  'Maximized
   Begin MSFlexGridLib.MSFlexGrid msgList 
      Height          =   3135
      Left            =   120
      TabIndex        =   1
      Top             =   480
      Width           =   6255
      _ExtentX        =   11033
      _ExtentY        =   5530
      _Version        =   393216
      Cols            =   4
      FixedCols       =   3
      AllowUserResizing=   1
   End
   Begin VB.Label lblTitle 
      Caption         =   "员  工  工  资  列  表"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H8000000D&
      Height          =   255
      Left            =   240
      TabIndex        =   0
      Top             =   120
      Width           =   3135
   End
End
Attribute VB_Name = "frmPay"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim mrc As ADODB.Recordset
Dim MsgText As String
Public txtSQL As String
Dim mintRW As Integer
Public msBarText As String
Public reportName As String
Public reportSQL As String
Private Sub Form_Activate()
    '设置读写权限
    SetWorkRW mintRW
    fMainForm.sbStatusBar.Panels(1).Text = msBarText
End Sub

Private Sub Form_Load()
    '用户操作权限
    Dim sPermission As String
    Dim recTemp As Recordset
    Dim sSql As String
    Dim sByte As String
    Dim MsgText As String
    
  On Error GoTo myErr
    '设置操作的表名称
    'msTableName = "ampaytune"
    'msRptName = "paytune.rpt"
    'msOrderBy = " order by tzdate,tzid"
    'sOrder0 = "+ {tzdate}"
    'sOrder1 = "+ {tzid}"
    'msSelect = "select * from "
    
    '置mintRW初值
    mintRW = 0
    sSql = "select rw from permission where module=12 and id='" & sUserName & " '"
    Set recTemp = ExecuteSQL(sSql, MsgText)
    If recTemp.EOF = False Then
        mintRW = CInt(recTemp!rw)
    Else
        mintRW = ERRORMODE
        SetMdiEnv
        MsgBox "您的帐号权限有错误!", vbOKOnly + vbCritical, "错误"
        Exit Sub
    End If
    
    reportName = "pay.rpt"

    
    '设置msSql
        'msSql = msSelect & msTableName & " where tzdate>='" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "' and tzdate<='" & Format(Now, "yyyy-mm-dd") & "'" & msOrderBy
        
    '显示数据
    msBarText = "当前数据时间范围:" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "至" & Format(Now, "yyyy-mm-dd")
    flagEdit = True
    ShowTitle
    ShowData
    
    Set recTemp = Nothing
    Exit Sub
    
myErr:
    ShowError
End Sub

Private Sub Form_Resize()
    If Me.WindowState <> vbMinimized And fMainForm.WindowState <> vbMinimized Then
        '边界处理
        If Me.ScaleHeight < 10 * lblTitle.Height Then
            
            Exit Sub
        End If
        If Me.ScaleWidth < lblTitle.Width + lblTitle.Width / 2 Then
            
            Exit Sub
        End If
        '控制控件的位置
                
        lblTitle.Top = lblTitle.Height
        lblTitle.Left = (Me.Width - lblTitle.Width) / 2
        
        msgList.Top = lblTitle.Top + lblTitle.Height + lblTitle.Height / 2
        msgList.Width = Me.ScaleWidth - 200
        msgList.Left = Me.ScaleLeft + 100
        msgList.Height = Me.ScaleHeight - msgList.Top - 200
    End If
End Sub



Public Sub FormClose()
    Unload Me
End Sub

'删除记录
Public Sub RecordDelete()
    Dim sSql As String
    Dim intCount As Integer
    Dim recTemp As ADODB.Recordset
    Dim MsgText As String
    
  On Error GoTo myErr
    
    If msgList.Rows > 1 Then
        If MsgBox("真的要删除这条文件记录么?", vbOKCancel + vbExclamation, "警告") = vbOK Then
            intCount = msgList.Row
            sSql = "delete from pay where gzid='" & Trim(msgList.TextMatrix(msgList.Row, 1)) & "' and gzdate= '" & Format(msgList.TextMatrix(msgList.Row, 16), "yyyy-mm-dd") & "'"
            Set recTemp = ExecuteSQL(sSql, MsgText)

            ShowData
        End If
    End If
    
    Exit Sub
    
myErr:
    ShowError
End Sub
Public Sub RecordEdit()
    Dim intCount As Integer
    
    If flagEdit Then
        gintMode = 2
        If frmPay.msgList.Rows > 1 Then
            intCount = frmPay.msgList.Row
            frmPay1.txtSQL = "select * from pay where gzid='" & Trim(frmPay.msgList.TextMatrix(frmPay.msgList.Row, 1)) & "' and gzdate='" & Format(frmPay.msgList.TextMatrix(intCount, 16), "yyyy-mm-dd") & "'"
            frmPay1.Show
            
            
            
        Else
            Call RecordAdd
        End If
    Else
        MsgBox "请选择要修改的记录?", vbOKOnly + vbExclamation, "警告"
        frmPay.txtSQL = "select * from pay"
        frmPay.Show
        frmPay.ZOrder 0
    End If

End Sub
'刷新表格
Public Sub RecordRefresh()
    ShowData
End Sub

'记录添加
Public Sub RecordAdd()
    gintMode = 1
    frmPay1.Show
    frmPay1.ZOrder 0
End Sub

'记录查询
Public Sub RecordFind()
    frmPay2.Show 1
End Sub

Private Sub Form_Unload(Cancel As Integer)
    flagEdit = False
    gintMode = 0
    SetMdiEnv

End Sub

'详细显示记录
Public Sub RecordView()
    If msgList.Rows > 1 = False Then
        gintMode = VIEW
        gsSql = " where gzid='" & Trim(msgList.TextMatrix(msgList.Row, 1)) & "' and gzdate=cdate('" & Format(msgList.TextMatrix(msgList.Row, 16), "yyyy-mm-dd") & "')"
        frmPay1.Show 1
    End If
    
End Sub


'计发本月工资
Public Sub WageOut()
    frmWage.Show 1
End Sub

'计发基本工资
Public Sub WageOne()
    
    Dim sSql As String
    
 On Error GoTo myErr
    With fMainForm
   '设置菜单和工具条
         .mnuFile.Enabled = False
         .mnuRecord.Enabled = False
         .mnuMan.Enabled = False
         .mnuBonus.Enabled = False
         .mnuCar.Enabled = False
         .mnuMater.Enabled = False
         .mnuWork.Enabled = False
         .mnuWindow.Enabled = False
         .mnuSysEdit.Enabled = False
         .mnuPreview.Enabled = False
         .mnuPrint.Enabled = False
         .mnuWage.Enabled = False
         .tbToolBar.Enabled = False
        
    End With
    
    With fMainForm.crptPrint
   
        '设定连接串
        .Connect = gsCon
        '设定打印的报表文件
        .ReportFileName = App.Path & "\rpt\one.rpt"
        
        '排序
        .SortFields(0) = sOrder0
        .SortFields(1) = sOrder1
                
        '指定打印的记录数
        sSql = msSql
        .SQLQuery = Left(sSql, InStr(1, sSql, "order by") - 2)
        .PrinterStartPage = 0
        .PrinterStopPage = -1
        .CopiesToPrinter = 1
        '设定打印预览窗口为frmPreview的子窗体
        .WindowParentHandle = frmPreview.hWnd
        frmPreview.Show

        '设定打印的方式
        
        .Destination = PREVIEWMODE
        .Action = PREVIEWMODE
    End With
    
myErr:
    ShowError
End Sub


'计发基本工资
Public Sub WageTwo()
    
    Dim sSql As String
      
  On Error GoTo myErr
    With fMainForm
   '设置菜单和工具条
         .mnuFile.Enabled = False
         .mnuRecord.Enabled = False
         .mnuMan.Enabled = False
         .mnuBonus.Enabled = False
         .mnuCar.Enabled = False
         .mnuMater.Enabled = False
         .mnuWork.Enabled = False
         .mnuWindow.Enabled = False
         .mnuSysEdit.Enabled = False
         .mnuPreview.Enabled = False
         .mnuPrint.Enabled = False
         .mnuWage.Enabled = False
         .tbToolBar.Enabled = False
        
    End With
    
    With fMainForm.crptPrint
   
        '设定连接串
        .Connect = gsCon
        '设定打印的报表文件
        .ReportFileName = App.Path & "\rpt\two.rpt"
        
        '排序
        .SortFields(0) = sOrder0
        .SortFields(1) = sOrder1
                
        '指定打印的记录数
        sSql = msSql
        .SQLQuery = Left(sSql, InStr(1, sSql, "order by") - 2)
        .PrinterStartPage = 0
        .PrinterStopPage = -1
        .CopiesToPrinter = 1
        '设定打印预览窗口为frmPreview的子窗体
        .WindowParentHandle = frmPreview.hWnd
        frmPreview.Show

        '设定打印的方式
        
        .Destination = PREVIEWMODE
        .Action = PREVIEWMODE
    End With
    Exit Sub
    
myErr:
    ShowError
End Sub



'显示Grid的内容

Public Sub ShowData()

    Dim j As Integer
    Dim i As Integer


    Set mrc = ExecuteSQL(txtSQL, MsgText)
    With msgList
        .Rows = 1
        
        Do While Not mrc.EOF
            .Rows = .Rows + 1
            For i = 1 To mrc.Fields.Count
                Select Case mrc.Fields(i - 1).Type
                    Case adDBDate
                        .TextMatrix(.Rows - 1, i) = Format(mrc.Fields(i - 1) & "", "yyyy-mm-dd")
                    Case Else
                        .TextMatrix(.Rows - 1, i) = mrc.Fields(i - 1) & ""
                End Select
            Next i
            mrc.MoveNext
        Loop
               
        
    End With
    mrc.Close
    
End Sub


'显示Grid表头
Public Sub ShowTitle()
    Dim i As Integer
    
    With msgList
        .Cols = 17
        .TextMatrix(0, 1) = "编号"
        .TextMatrix(0, 2) = "姓名"
        .TextMatrix(0, 3) = "底薪"
        .TextMatrix(0, 4) = "补贴"
        .TextMatrix(0, 5) = "奖金"
        .TextMatrix(0, 6) = "加班"
        .TextMatrix(0, 7) = "扣考核"
        .TextMatrix(0, 8) = "代扣养老金"
        .TextMatrix(0, 9) = "代扣医疗保险"
        .TextMatrix(0, 10) = "代扣住房公积金"
        .TextMatrix(0, 11) = "税前小计"
        .TextMatrix(0, 12) = "所得税"
        .TextMatrix(0, 13) = "房贴"
        .TextMatrix(0, 14) = "房租"
        .TextMatrix(0, 15) = "实发工资"
        .TextMatrix(0, 16) = "时间"
        
        '固定表头
        .FixedRows = 1
                
        '设置各列的对齐方式
        For i = 0 To 1
            .ColAlignment(i) = 0
        Next i
        
        For i = 2 To 15
            .ColAlignment(i) = 7
        Next i
        .ColAlignment(16) = 0
        
        '表头项居中
        .FillStyle = flexFillRepeat
        .Col = 0
        .Row = 0
        .RowSel = 1
        .ColSel = .Cols - 1
        .CellAlignment = 4
        
        '设置单元大小
        .ColWidth(0) = 300
        For i = 1 To 6
            .ColWidth(i) = 1000
        Next i
        .ColWidth(7) = 1200
        .ColWidth(8) = 1200
        .ColWidth(9) = 1400
        For i = 10 To 16
            .ColWidth(i) = 1000
        Next i
        .Row = 1
    End With
End Sub


Private Sub msgList_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    '右键弹出
    If Button = 2 And Shift = 0 Then
        PopupMenu fMainForm.menuPay
    End If
    
    
End Sub


⌨️ 快捷键说明

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