?? frmcheck.frm
字號(hào):
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
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("真的要?jiǎng)h除這條文件記錄么?", 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()
'設(shè)置msSql
msSql = msSelect & msTableName & " where kqdate>='" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "' and kqdate<='" & Format(Now, "yyyy-mm-dd") & "'" & msOrderBy
'顯示數(shù)據(jù)
msBarText = "當(dāng)前數(shù)據(jù)時(shí)間范圍:" & 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
'詳細(xì)顯示記錄
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的內(nèi)容
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) = "編號(hào)"
.TextMatrix(0, 2) = "姓名"
.TextMatrix(0, 3) = "日期"
.TextMatrix(0, 4) = "本月天數(shù)"
.TextMatrix(0, 5) = "公休假天數(shù)"
.TextMatrix(0, 6) = "應(yīng)出勤天數(shù)"
.TextMatrix(0, 7) = "出勤"
.TextMatrix(0, 8) = "曠工"
.TextMatrix(0, 9) = "年休"
.TextMatrix(0, 10) = "請(qǐng)假"
.TextMatrix(0, 11) = "遲到"
.TextMatrix(0, 12) = "早退"
.TextMatrix(0, 13) = "忘定卡"
.TextMatrix(0, 14) = "假日加班"
.TextMatrix(0, 15) = "其他加班"
.TextMatrix(0, 16) = "補(bǔ)休天數(shù)"
.TextMatrix(0, 17) = "出差天數(shù)"
.TextMatrix(0, 18) = "加班費(fèi)"
.TextMatrix(0, 19) = "扣考核"
.TextMatrix(0, 20) = "其它"
.TextMatrix(0, 21) = "備注"
'固定表頭
.FixedRows = 1
'設(shè)置各列的對(duì)齊方式
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
'表頭項(xiàng)居中
.FillStyle = flexFillRepeat
.Col = 0
.Row = 0
.RowSel = 1
.ColSel = .Cols - 1
.CellAlignment = 4
'設(shè)置單元大小
.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
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -