📄 form9.frm
字号:
VERSION 5.00
Begin VB.Form Form8
BackColor = &H0080FF80&
Caption = "考勤信息"
ClientHeight = 9480
ClientLeft = 60
ClientTop = 345
ClientWidth = 8565
Icon = "Form9.frx":0000
LinkTopic = "Form8"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 9480
ScaleWidth = 8565
StartUpPosition = 2 '屏幕中心
Begin VB.CommandButton Command2
Caption = "退出"
Height = 615
Left = 5400
TabIndex = 5
Top = 8280
Width = 1335
End
Begin VB.CommandButton Command1
BackColor = &H0080FF80&
Caption = "确定"
Height = 615
Left = 2040
MaskColor = &H0080FF80&
TabIndex = 4
Top = 8280
Width = 1335
End
Begin VB.Frame Frame3
BackColor = &H0080FF80&
Caption = "员工出入信息"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 1575
Left = 960
TabIndex = 3
Top = 5880
Width = 6375
Begin VB.TextBox Text4
Height = 375
Left = 3120
TabIndex = 15
Top = 1080
Width = 1815
End
Begin VB.TextBox Text3
Height = 375
Left = 3120
TabIndex = 14
Top = 480
Width = 1815
End
Begin VB.OptionButton outflag
BackColor = &H0080FF80&
Caption = "下班时间"
Height = 255
Left = 840
TabIndex = 13
Top = 1200
Width = 2055
End
Begin VB.OptionButton inflag
BackColor = &H0080FF80&
Caption = "上班时间"
Height = 255
Left = 840
TabIndex = 12
Top = 480
Width = 2175
End
End
Begin VB.Frame Frame2
BackColor = &H0080FF80&
Caption = "员工出勤信息"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 1575
Left = 960
TabIndex = 2
Top = 3720
Width = 6375
Begin VB.TextBox Text2
Height = 375
Left = 3000
TabIndex = 11
Top = 480
Width = 1935
End
Begin VB.Label Label4
BackColor = &H0080FF80&
Caption = "当前日期"
Height = 255
Left = 720
TabIndex = 10
Top = 600
Width = 1215
End
End
Begin VB.Frame Frame1
BackColor = &H0080FF80&
Caption = "员工个人信息"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 1575
Left = 960
TabIndex = 1
Top = 1440
Width = 6375
Begin VB.TextBox Text1
Height = 375
Left = 3120
TabIndex = 9
Top = 960
Width = 1695
End
Begin VB.ComboBox Combo1
Height = 300
Left = 3120
TabIndex = 6
Top = 360
Width = 1695
End
Begin VB.Label Label3
BackColor = &H0080FF80&
Caption = "员工姓名"
Height = 255
Left = 720
TabIndex = 8
Top = 1080
Width = 1455
End
Begin VB.Label Label2
BackColor = &H0080FF80&
Caption = "员工编号"
Height = 255
Left = 720
TabIndex = 7
Top = 360
Width = 1455
End
End
Begin VB.Label Label1
BackColor = &H0080FF80&
Caption = "添加员工上下班信息"
BeginProperty Font
Name = "华文新魏"
Size = 21.75
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 735
Left = 2280
TabIndex = 0
Top = 120
Width = 4335
End
End
Attribute VB_Name = "Form8"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private ilate As Integer '迟到次数
Private iearly As Integer '早退次数
Private Aflag As String '出入标志
Private addflag As Boolean '添加标志
Private firstID As String '第一个员工编号
Private Sub CheckRecord() '判断是否存在记录
Dim sql As String
Dim rs As New ADODB.Recordset
sql = "select * from test where astuffid='" & Me.Combo1.Text & "'"
sql = sql & " and aflag='" & Aflag & "' and adate=#" & Me.Text2 & "#"
Set rs = TransactSQL(sql)
If rs.EOF = False Then
MsgBox "已经存在这条记录!", vbOKOnly + vbExclamation, "警告!"
addflag = True
Else
addflag = False
End If
rs.Close
End Sub
Private Sub in_add() '添加上班记录
Dim sql As String
Dim rs As New ADODB.Recordset
sql = "select * from test"
Set rs = TransactSQL(sql)
rs.AddNew
rs.Fields(1) = Me.Combo1
rs.Fields(2) = Me.Text1
rs.Fields(3) = Me.Text2
rs.Fields(4) = Aflag
rs.Fields(5) = Me.Text3
rs.Fields(7) = ilate
rs.Update
rs.Close
End Sub
Private Sub out_add() '添加下班记录
Dim sql As String
Dim rs As New ADODB.Recordset
sql = "select * from test"
Set rs = TransactSQL(sql)
rs.AddNew
rs.Fields(1) = Me.Combo1
rs.Fields(2) = Me.Text1
rs.Fields(3) = Me.Text2
rs.Fields(4) = Aflag
rs.Fields(6) = Me.Text4
rs.Fields(8) = iearly
rs.Update
rs.Close
End Sub
Private Sub combo1_KeyDown(KeyCode As Integer, Shift As Integer)
TabToEnter KeyCode
End Sub
Private Sub Combo1_LostFocus()
Dim sql As String
Dim rs As New ADODB.Recordset
sql = "select sname from basic where sid='" & Me.Combo1.Text & "'"
Set rs = TransactSQL(sql)
If rs.EOF = False Then
Me.Text1 = rs(0) '初始化员工姓名
Else
MsgBox "员工编号输入错误,或者没有这个员工!", vbOKOnly + vbExclamation, "警告!"
Me.Combo1 = ""
Me.Combo1.SetFocus
Me.Combo1.ListIndex = 0
End If
rs.Close
End Sub
Private Sub Command1_Click()
Dim sql As String
Dim sql2 As String
Dim rs As New ADODB.Recordset
Dim rsTime As New ADODB.Recordset
sql2 = "select * from test order by ID desc"
sql = "select * from TimeSetting"
Set rsTime = TransactSQL(sql)
If flag = 1 Then
ilate = 0
iearly = 0
If Me.inflag = False And Me.outflag = False Then
MsgBox "请选择上下班!", vbOKOnly + vbExclamation, "警告!"
Else
If Me.inflag = True Then '添加上班记录
Aflag = "入"
If Me.Text3 = "" Or IsDate(Me.Text3) = False Then
MsgBox "请输入正确的时间!", vbOKOnly + vbExclamation, "警告!"
Me.Text3 = ""
Me.Text3.SetFocus
Else
If DateDiff("s", Me.Text3, rsTime(0)) < 0 Then
ilate = 1
End If
Call CheckRecord
If addflag = False Then
Call in_add
MsgBox "已经添加上班记录!", vbOKOnly + vbExclamation, "添加结果!"
Call init
Me.inflag = False
Else
Call init
Me.inflag = False
End If
End If
End If
If Me.outflag = True Then '添加下班记录
Aflag = "出"
If Me.Text4 = "" Or IsDate(Me.Text4) = False Then
MsgBox "请输入正确的时间!", vbOKOnly + vbExclamation, "警告!"
Me.Text4 = ""
Me.Text4.SetFocus
Else
If DateDiff("s", Me.Text4, rsTime(1)) > 0 Then
iearly = 1
End If
Call CheckRecord
If addflag = False Then
Call out_add
MsgBox "已经添加下班记录!", vbOKOnly + vbExclamation, "添加结果!"
Call init
Me.outflag = False
Else
Call init
Me.outflag = False
End If
End If
End If
End If
Call Form11.ListTopic
Call Form11.ShowData(sql2)
Form11.Show
Form11.ZOrder 0
Me.ZOrder 0
Else '修改记录
If MsgBox("确定修改编号为" & Me.Combo1 & "的员工信息?", vbOKCancel, "提示!") _
= vbOK Then
If Me.inflag = True Then
If DateDiff("s", Me.Text3, rsTime(0)) < 0 Then
ilate = 1
End If
sql = "update test set aintime=#" & Me.Text2 & "#,"
sql = sql & "aLate=" & ilate & " where ID=" & ArecordID
TransactSQL (sql) '修改上班记录
Call Form11.ListTopic
Call Form11.ShowData(sql2)
Form11.Show
MsgBox "信息已经修改!", vbOKOnly + vbExclamation, "修改结果!"
Unload Me
ElseIf Me.outflag = True Then
If DateDiff("s", Me.Text4, rsTime(1)) > 0 Then
iearly = 1
End If
sql = "update test set aouttime=#" & Me.Text3 & "#,"
sql = sql & "aearly=" & iearly & " where ID=" & ArecordID
TransactSQL (sql) '修改下班记录
Call Form11.ListTopic
Call Form11.ShowData(sql2)
Form11.Show
MsgBox "信息已经修改!", vbOKOnly + vbExclamation, "修改结果!"
Unload Me
End If
Else
Unload Me
End If
End If
rsTime.Close
End Sub
Private Sub Command2_Click()
Unload Me
Exit Sub
End Sub
Private Sub Form_Load()
Dim sql As String
Dim rs As New ADODB.Recordset
If flag = 1 Then
sql = "select sid from basic order by sid"
Set rs = TransactSQL(sql)
If rs.EOF = False Then
rs.MoveFirst
firstID = rs(0)
While Not rs.EOF
Me.Combo1.AddItem rs(0) '初始化员工编号
rs.MoveNext
Wend
rs.Close
Else
MsgBox "目前没有员工!", vbOKOnly + vbExclamation, "警告!"
End If
Me.Text2 = Date
Me.Combo1.ListIndex = 0
sql = "select sname from basic where sid='" & firstID & "'"
Set rs = TransactSQL(sql)
Me.Text1 = rs(0) '初始化员工姓名
rs.Close
Me.Text3 = ""
Me.Text4 = ""
Else
Me.Label1.Caption = "修改员工上下班信息"
Set rs = TransactSQL(kqsql)
If rs.EOF = False Then
With rs
Me.Combo1 = rs(1)
Me.Text1 = rs(2)
Me.Text2 = rs(3)
If IsNull(rs(5)) = True Then
Me.Text3 = ""
Me.outflag = True
Else
Me.Text3 = rs(5)
End If
If IsNull(rs(6)) = True Then
Me.Text4 = ""
Me.inflag = True
Else
Me.Text4 = rs(6)
End If
End With
End If
End If
End Sub
Private Sub init() '初始化
Dim sql As String
Dim rs As New ADODB.Recordset
sql = "select sname from basic where sid='" & firstID & "'"
Set rs = TransactSQL(sql)
Me.Combo1.ListIndex = 0
Me.Text1 = rs(0)
Me.Text3 = ""
Me.Text4 = ""
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Command1.SetFocus
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -