📄 frmcheckman.frm
字号:
VERSION 5.00
Object = "{67397AA1-7FB1-11D0-B148-00A0C922E820}#6.0#0"; "msadodc.ocx"
Object = "{CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0"; "MSDatGrd.ocx"
Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomct2.ocx"
Begin VB.Form FrmCheckMan
BorderStyle = 1 'Fixed Single
Caption = "员工考勤管理"
ClientHeight = 5865
ClientLeft = 45
ClientTop = 330
ClientWidth = 8655
Icon = "FrmCheckMan.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 5865
ScaleWidth = 8655
StartUpPosition = 2 '屏幕中心
Begin VB.CommandButton cmd_SumCheck
BackColor = &H80000004&
Cancel = -1 'True
Caption = "月度考勤统计"
Height = 400
Left = 5128
MouseIcon = "FrmCheckMan.frx":0CCA
MousePointer = 99 'Custom
Style = 1 'Graphical
TabIndex = 9
Top = 5280
Width = 1300
End
Begin VB.CommandButton Cmd_Add
BackColor = &H80000004&
Caption = "添 加"
Default = -1 'True
Height = 400
Left = 775
MouseIcon = "FrmCheckMan.frx":0FD4
MousePointer = 99 'Custom
Style = 1 'Graphical
TabIndex = 3
Top = 5280
Width = 1300
End
Begin VB.CommandButton Cmd_Modi
BackColor = &H80000004&
Caption = "修 改"
Height = 400
Left = 2226
MouseIcon = "FrmCheckMan.frx":12DE
MousePointer = 99 'Custom
Style = 1 'Graphical
TabIndex = 4
Top = 5280
Width = 1300
End
Begin VB.CommandButton Cmd_Del
BackColor = &H80000004&
Caption = "删 除"
Height = 400
Left = 3677
MouseIcon = "FrmCheckMan.frx":15E8
MousePointer = 99 'Custom
Style = 1 'Graphical
TabIndex = 5
Top = 5280
Width = 1300
End
Begin VB.CommandButton Cmd_Back
BackColor = &H80000004&
Caption = "返 回"
Height = 400
Left = 6580
MouseIcon = "FrmCheckMan.frx":18F2
MousePointer = 99 'Custom
Style = 1 'Graphical
TabIndex = 6
Top = 5280
Width = 1300
End
Begin MSDataGridLib.DataGrid DataGrid1
Bindings = "FrmCheckMan.frx":1BFC
Height = 4455
Left = 240
TabIndex = 2
Top = 600
Width = 8175
_ExtentX = 14420
_ExtentY = 7858
_Version = 393216
AllowUpdate = 0 'False
HeadLines = 1
RowHeight = 15
BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ColumnCount = 2
BeginProperty Column00
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
BeginProperty Column01
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
SplitCount = 1
BeginProperty Split0
MarqueeStyle = 3
BeginProperty Column00
EndProperty
BeginProperty Column01
EndProperty
EndProperty
End
Begin VB.ComboBox ComboDep
Height = 300
Left = 5400
TabIndex = 1
Text = "Combo1"
Top = 180
Width = 1815
End
Begin MSAdodcLib.Adodc Adodc1
Height = 330
Left = 6720
Top = 0
Visible = 0 'False
Width = 1815
_ExtentX = 3201
_ExtentY = 582
ConnectMode = 0
CursorLocation = 3
IsolationLevel = -1
ConnectionTimeout= 15
CommandTimeout = 30
CursorType = 3
LockType = 3
CommandType = 8
CursorOptions = 0
CacheSize = 50
MaxRecords = 0
BOFAction = 0
EOFAction = 0
ConnectStringType= 1
Appearance = 1
BackColor = -2147483643
ForeColor = -2147483640
Orientation = 0
Enabled = -1
Connect = ""
OLEDBString = ""
OLEDBFile = ""
DataSourceName = ""
OtherAttributes = ""
UserName = ""
Password = ""
RecordSource = ""
Caption = "Adodc1"
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
_Version = 393216
End
Begin MSComCtl2.DTPicker DtCheckDate
Height = 300
Left = 1560
TabIndex = 0
Top = 180
Width = 1695
_ExtentX = 2990
_ExtentY = 529
_Version = 393216
Format = 59244545
CurrentDate = 37984
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "选择日期"
Height = 180
Left = 480
TabIndex = 8
Top = 240
Width = 720
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "选择部门"
Height = 180
Left = 4440
TabIndex = 7
Top = 240
Width = 720
End
End
Attribute VB_Name = "FrmCheckMan"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim SchCnd As String '查询条件
Dim nDepId As Long '部门编号
Private Sub Refresh_Check()
'设置查询条件
If Trim(ComboDep.Text) = "" Then
SchCnd = ""
Else
SchCnd = " And e.DepId=" + Trim(Str(nDepId))
End If
'设置ADO控件的连接字符串
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
+ App.Path + "\人事.mdb;Persist Security Info=False"
'设置数据源
tmpsource = "SELECT d.DepName As 部门, e.EmpId, e.EmpName As 姓名, " _
+ " c.qqDays As 全勤, c.ccDays As 出差, c.bjDays As 病假, c.sjDays As 事假," _
+ " c.kgDays As 旷工, c.fdxjDays As 法定休假, c.nxjDays As 年休假, c.dxjDays As 倒休假," _
+ " c.cdMinutes As 迟到分钟, c.ztMinutes As 早退分钟, c.ot1Days As 法定节假日加班," _
+ " c.ot2Days As 周末加班, c.ot3Days As 日常加班, c.Memo1 As 备注" _
+ " FROM Departments d, Employees e, Checkin c" _
+ " WHERE c.CheckDate='" + Trim(Format(DtCheckDate.Value, "yyyy-mm-dd")) _
+ "' And e.EmpId=c.EmpId And e.DepId=d.DepId " + SchCnd + " ORDER BY d.DepId, e.EmpId"
Adodc1.RecordSource = tmpsource
Adodc1.Refresh
'设置列宽
With DataGrid1
.Columns(0).Width = 1200
.Columns(1).Width = 0
.Columns(2).Width = 900
.Columns(3).Width = 800
.Columns(4).Width = 800
.Columns(5).Width = 800
.Columns(6).Width = 800
.Columns(7).Width = 800
.Columns(8).Width = 1000
.Columns(9).Width = 1000
.Columns(10).Width = 1000
.Columns(11).Width = 1000
.Columns(12).Width = 1000
.Columns(13).Width = 1500
.Columns(14).Width = 1000
.Columns(15).Width = 1000
.Columns(16).Width = 1000
End With
End Sub
Private Sub Cmd_Add_Click()
Dim mm As Integer
'设置考勤日期
FrmCheckEdit.lblDate = Format(DtCheckDate.Value, "yyyy-mm-dd")
UpperEmp.Init
'初始化表单FrmCheckEdit的控件
FrmCheckEdit.ComboEmp.Text = ""
FrmCheckEdit.ComboQq.ListIndex = 0
FrmCheckEdit.ComboCc.ListIndex = 0
FrmCheckEdit.ComboBj.ListIndex = 0
FrmCheckEdit.ComboSj.ListIndex = 0
FrmCheckEdit.ComboKg.ListIndex = 0
FrmCheckEdit.ComboFdxj.ListIndex = 0
FrmCheckEdit.ComboNxj.ListIndex = 0
FrmCheckEdit.ComboDxj.ListIndex = 0
FrmCheckEdit.txtCd = 0
FrmCheckEdit.txtZt = 0
FrmCheckEdit.ComboOt1.ListIndex = 0
FrmCheckEdit.ComboOt2.ListIndex = 0
FrmCheckEdit.ComboOt3.ListIndex = 0
FrmCheckEdit.txtMemo1 = ""
FrmCheckEdit.Show 1
'如果在FrmCheckEdit表单中单击确定按钮,则刷新显示
If FrmCheckEdit.TmpOk = True Then
ComboDep.Text = CurDep.DepName
Refresh_Check
End If
End Sub
Private Sub Cmd_Back_Click()
Unload Me
End Sub
Private Sub Cmd_Del_Click()
Dim TmpId As Long
If Adodc1.Recordset.BOF = True Then
MsgBox "请选择记录"
Exit Sub
End If
'获取当前考勤记录的员工编号
TmpId = Adodc1.Recordset.Fields(1)
'确认删除数据
If MsgBox("是否删除当前行?", vbYesNo, "确认") = vbYes Then
Call MyCheck.Delete(Format(DtCheckDate.Value, "yyyy-mm-dd"), TmpId)
MsgBox "记录已被删除"
'刷新显示
Refresh_Check
End If
End Sub
Private Sub Cmd_Modi_Click()
'初始化FrmCheckEdit信息
FrmCheckEdit.lblDate = Format(DtCheckDate.Value, "yyyy-mm-dd") '考勤日期
FrmCheckEdit.OriEmpId = Adodc1.Recordset.Fields(1) '员工编号
UpperEmp.EmpId = FrmCheckEdit.OriEmpId
UpperEmp.GetInfo (UpperEmp.EmpId) '读取选择员工的信息
FrmCheckEdit.ComboEmp.Text = UpperEmp.EmpName '员工姓名
FrmCheckEdit.ComboQq.ListIndex = Adodc1.Recordset.Fields(3) * 2 '全勤
FrmCheckEdit.ComboCc.ListIndex = Adodc1.Recordset.Fields(4) * 2 '出差
FrmCheckEdit.ComboBj.ListIndex = Adodc1.Recordset.Fields(5) * 2 '病假
FrmCheckEdit.ComboSj.ListIndex = Adodc1.Recordset.Fields(6) * 2 '事假
FrmCheckEdit.ComboKg.ListIndex = Adodc1.Recordset.Fields(7) * 2 '旷工
FrmCheckEdit.ComboFdxj.ListIndex = Adodc1.Recordset.Fields(8) * 2 '法定休假
FrmCheckEdit.ComboNxj.ListIndex = Adodc1.Recordset.Fields(9) * 2 '年休假
FrmCheckEdit.ComboDxj.ListIndex = Adodc1.Recordset.Fields(10) * 2 '倒休假
FrmCheckEdit.txtCd.Text = Adodc1.Recordset.Fields(11) '迟到
FrmCheckEdit.txtZt.Text = Adodc1.Recordset.Fields(12) '早退
FrmCheckEdit.ComboOt1.ListIndex = Adodc1.Recordset.Fields(13) * 2 '节假日加班
FrmCheckEdit.ComboOt2.ListIndex = Adodc1.Recordset.Fields(14) * 2 '周末加班
FrmCheckEdit.ComboOt3.ListIndex = Adodc1.Recordset.Fields(15) * 2 '日常加班
FrmCheckEdit.txtMemo1.Text = Trim(Adodc1.Recordset.Fields(16)) '备注
FrmCheckEdit.Show 1
If FrmCheckEdit.TmpOk = True Then
ComboDep.Text = CurDep.DepName
Refresh_Check
End If
End Sub
Private Sub cmd_SumCheck_Click()
If Trim(ComboDep.Text) = "" Then
MsgBox "请选择部门"
Exit Sub
End If
'初始化并打开FrmSumCheck窗体
FrmSumCheck.OriDepId = nDepId
FrmSumCheck.lblMonth = Left(Format(DtCheckDate.Value, "yyyy-mm-dd"), 7)
FrmSumCheck.lblDep = ComboDep.Text
FrmSumCheck.Show 1
End Sub
Private Sub ComboDep_GotFocus()
DtCheckDate.SetFocus
'设置frmdepsel窗体的位置
FrmDepSel.Left = Me.Left + ComboDep.Left + 350 - FrmDepSel.Width
FrmDepSel.Top = Me.Top + ComboDep.Top + ComboDep.Height + 450
FrmDepSel.Show 1
'将选择的员工姓名显示到ComboUpper控件中
ComboDep.Text = CurDep.DepName
nDepId = CurDep.DepId
Refresh_Check
End Sub
Private Sub DtCheckDate_Change()
Refresh_Check
End Sub
Private Sub Form_Load()
Dim yy, mm As Integer
'初始化窗体控件
DtCheckDate.Value = Date
ComboDep.Text = ""
CurDep.Init
Refresh_Check
'根据用户类型设置界面
If CurUser.User_type <> 1 Then
Cmd_Add.Visible = False
Cmd_Modi.Visible = False
Cmd_Del.Visible = False
cmd_SumCheck.Visible = False
Cmd_Back.Left = 3500
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -