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

📄 frmcheck.frm

📁 企业人士管理信息系统 VB+SQL 有网友提供。经过改进 共享
💻 FRM
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form frmCheck 
   Caption         =   "员工考勤列表"
   ClientHeight    =   5256
   ClientLeft      =   60
   ClientTop       =   348
   ClientWidth     =   7008
   Icon            =   "frmCheck.frx":0000
   LinkTopic       =   "Form1"
   MDIChild        =   -1  'True
   ScaleHeight     =   5256
   ScaleWidth      =   7008
   WindowState     =   2  'Maximized
   Begin MSFlexGridLib.MSFlexGrid msgList 
      Height          =   3135
      Left            =   240
      TabIndex        =   1
      Top             =   720
      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             =   240
      Width           =   3135
   End
End
Attribute VB_Name = "frmCheck"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim mrc As ADODB.Recordset
Public txtSQL As String
Dim MsgText As String

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 RecordEdit()
    Dim intCount As Integer
    
    If msgList.Rows > 1 Then
        gintMode = EDIT
        intCount = msgList.Row
        gsSql = " where kqid='" & Trim(msgList.TextMatrix(msgList.Row, 1)) & "' and kqdate=cdate('" & Format(msgList.TextMatrix(msgList.Row, 3), "yyyy-mm-dd") & "')"
        frmCheck1.Show 1
        ShowData
        Call MovCursor(intCount, msgList)
    Else
        Call RecordAdd
    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 kqid='" & Trim(msgList.TextMatrix(msgList.Row, 1)) & "' and kqdate=cdate('" & Format(msgList.TextMatrix(msgList.Row, 3), "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 kqdate>='" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "' and kqdate<='" & Format(Now, "yyyy-mm-dd") & "'" & msOrderBy
        
    '显示数据
    msBarText = "当前数据时间范围:" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "至" & Format(Now, "yyyy-mm-dd")
    ShowData
    sOrder0 = "+ {kqdate}"
    sOrder1 = ""
    
End Sub

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

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

'详细显示记录
Public Sub RecordView()
    If msgList.Rows > 1 = False Then
        gintMode = View
        gsSql = " where kqid='" & Trim(msgList.TextMatrix(msgList.Row, 1)) & "' and kqdate=cdate('" & Format(msgList.TextMatrix(msgList.Row, 3), "yyyy-mm-dd") & "')"
        frmCheck1.Show 1
    End If
End Sub


'显示Grid的内容

Public Sub ShowData()
    Dim j As Integer
    Dim i As Integer

    Set mrc = ExecuteSQL(txtSQL, MsgText)
    If mrc.EOF = False Then
    
        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
    End If
    mrc.Close
End Sub


'显示Grid表头
Public Sub ShowTitle()
    Dim i As Integer
    
    With msgList
        .Cols = 22
        .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) = "补休天数"
        .TextMatrix(0, 17) = "出差天数"
        .TextMatrix(0, 18) = "加班费"
        .TextMatrix(0, 19) = "扣考核"
        .TextMatrix(0, 20) = "其它"
        .TextMatrix(0, 21) = "备注"
        
        
        '固定表头
        .FixedRows = 1
                
        '设置各列的对齐方式
        For i = 0 To 3
            .ColAlignment(i) = 0
        Next i
        
        For i = 4 To 19
            .ColAlignment(i) = 7
        Next i
        For i = 20 To 21
            .ColAlignment(i) = 0
        Next i
        
        '表头项居中
        .FillStyle = flexFillRepeat
        .Col = 0
        .Row = 0
        .RowSel = 1
        .ColSel = .Cols - 1
        .CellAlignment = 4
        
        '设置单元大小
        .ColWidth(0) = 300
        .ColWidth(1) = 1000
        .ColWidth(2) = 1000
        .ColWidth(3) = 1000
        .ColWidth(4) = 1000
        .ColWidth(5) = 1000
        .ColWidth(6) = 1000
        For i = 7 To 13
            .ColWidth(i) = 600
        Next i
        For i = 14 To 19
            .ColWidth(i) = 800
        Next i
        .ColWidth(20) = 2000
        .ColWidth(21) = 1000
        .Row = 1
        
    End With
End Sub


Private Sub Form_Unload(Cancel As Integer)
    flagEdit = False
    gintMode = 0
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.menuCheck
    End If
    
    
End Sub


⌨️ 快捷键说明

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