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

📄 frmpay.frm

📁 9个VB写的数据库管理系统源代码
💻 FRM
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form frmPay 
   Caption         =   "员工工资列表"
   ClientHeight    =   4452
   ClientLeft      =   60
   ClientTop       =   348
   ClientWidth     =   6708
   LinkTopic       =   "Form1"
   MDIChild        =   -1  'True
   ScaleHeight     =   4452
   ScaleWidth      =   6708
   WindowState     =   2  'Maximized
   Begin MSFlexGridLib.MSFlexGrid msgList 
      Height          =   3135
      Left            =   120
      TabIndex        =   1
      Top             =   480
      Width           =   6255
      _ExtentX        =   11028
      _ExtentY        =   5525
      _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
Private Sub Form_Activate()
    '设置读写权限
    
    
End Sub

Private Sub Form_Load()
    
    ShowTitle
    ShowData
    
    flagEdit = True
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
    
  On Error GoTo myErr
    
    If msgList.Rows > 1 Then
        If MsgBox("真的要删除这条文件记录么?", vbOKCancel + vbExclamation, "警告") = vbOK Then
            intCount = msgList.Row
            sSql = "delete from " & msTableName & " where gzid='" & Trim(msgList.TextMatrix(msgList.Row, 1)) & "' and gzdate=cdate('" & Format(msgList.TextMatrix(msgList.Row, 16), "yyyy-mm-dd") & "')"

            dbHuaxia.Execute sSql, dbSQLPassThrough
            ShowData
            If msgList.Rows > 1 Then
                If intCount = msgList.Rows Then
                    MovCursor msgList.Rows - 1, msgList
                Else
                    MovCursor intCount, msgList
                End If
            End If
        End If
    End If
    
    Exit Sub
    
myErr:
    ShowError
End Sub

'刷新表格
Public Sub RecordRefresh()
    '设置msSql
    msSql = msSelect & msTableName & " where gzdate>='" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "' and gzdate<='" & Format(Now, "yyyy-mm-dd") & "'" & msOrderBy
        
    '显示数据
    msBarText = "当前数据时间范围:" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "至" & Format(Now, "yyyy-mm-dd")
    sOrder0 = "+ {gzdate}"
    sOrder1 = "+ {gzid}"
    
    ShowData
End Sub

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

'记录查询
Public Sub RecordFind()
    frmPay2.Show 1
    If Trim(frmPay2.sQSql & " ") <> "" Then
        msSql = msSelect & msTableName & " where" & frmPay2.sQSql & msOrderBy
        ShowData
    End If
    Unload frmPay2
End Sub

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

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 + -