?? e考核錄入.frm
字號(hào):
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 360
Left = 1320
Style = 2 'Dropdown List
TabIndex = 4
Top = 600
Width = 1695
End
Begin VB.ComboBox CboYGName
BackColor = &H80000000&
Enabled = 0 'False
BeginProperty Font
Name = "MS Sans Serif"
Size = 9.75
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 360
Left = 1320
Style = 2 'Dropdown List
TabIndex = 3
Top = 1320
Width = 1695
End
Begin MSComCtl2.DTPicker DTPicker1
Height = 375
Left = 1320
TabIndex = 2
Top = 1920
Width = 1695
_ExtentX = 2990
_ExtentY = 661
_Version = 393216
Format = 159055873
CurrentDate = 38911
End
Begin VB.Label Label1
Caption = "員工姓名:"
Height = 255
Left = 360
TabIndex = 7
Top = 1320
Width = 975
End
Begin VB.Label Label2
Caption = "員工ID:"
Height = 255
Left = 600
TabIndex = 6
Top = 720
Width = 855
End
Begin VB.Label Label12
Caption = "考核日期:"
Height = 255
Left = 360
TabIndex = 5
Top = 2040
Width = 975
End
End
End
End
Attribute VB_Name = "E考核錄入"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim rs As ADODB.Recordset
Dim SQL As String
Dim msg As String
Dim Index As Integer
Dim flag As String '判斷是新增記錄還是修改記錄
Private Sub Form_Load()
'初始化員工ID、姓名
SQL = " select * from 員工錄用信息表 ORDER BY 員工ID"
Set rs = SelectSQL(SQL, msg)
If rs.RecordCount = 0 Then '如果沒有員工基本信息
MsgBox ("請(qǐng)先建立員工基本信息!")
Exit Sub
Else
Do While Not rs.BOF And Not rs.EOF
'添加到ComboBox列表
Me.CboYGID.AddItem (rs.Fields("員工ID"))
Me.CboYGName.AddItem (rs.Fields("姓名"))
rs.MoveNext '指向下一條記錄
Loop
Me.CboYGID.ListIndex = 0 '默認(rèn)ComboBox
CboYGName.ListIndex = 0 '默認(rèn)ComboBox
rs.Close
End If
Call LoadData '裝載數(shù)據(jù)
Call ShowData '顯示數(shù)據(jù)
End Sub
Private Sub LoadData()
'裝載數(shù)據(jù)
Set rs = Nothing
'查詢工作考核信息
SQL = "SELECT * FROM 工作考核信息表 ORDER BY 員工ID "
Set rs = SelectSQL(SQL, msg)
If rs.RecordCount = 0 Then '如果記錄不存在
'編輯控件可用性
CmdAdd.Enabled = True: CmdModify.Enabled = False
CmdCancel.Enabled = False: CmdSave.Enabled = False
'移動(dòng)控件不可用
For Index = 0 To 3
CmdMove(Index).Enabled = False
Next Index
Else
'編輯控件可用性
CmdAdd.Enabled = True: CmdModify.Enabled = True
CmdCancel.Enabled = False: CmdSave.Enabled = False
'移動(dòng)控件可用
For Index = 0 To 3
CmdMove(Index).Enabled = True
Next Index
End If
'設(shè)置控件Enable值
Call ControlEnable(False)
End Sub
Private Sub ControlEnable(flag As Boolean)
'設(shè)置控件的Enable值
Dim Index As Integer
Me.CboYGID.Enabled = flag
Me.CboYGName.Enabled = False
Me.DTPicker1.Enabled = flag
For Index = 0 To 4 '為text控件設(shè)置Enable值
txt(Index).Enabled = flag
Next
End Sub
Private Sub ShowData()
'在控件中顯示數(shù)據(jù)
If rs.RecordCount <> 0 Then '如果存在記錄
'為控件賦值
CboYGID.Text = rs.Fields("員工ID")
Me.DTPicker1.value = rs.Fields("考核日期")
For Index = 0 To 4
Me.txt(Index).Text = rs.Fields(Index + 3)
Next Index
End If
End Sub
Private Sub CmdMove_Click(Index As Integer)
'移動(dòng)記錄操作
Select Case Index
Case Is = 0 '移到第一條記錄
If Not rs.BOF Then rs.MoveFirst
Case Is = 1 '移到上一條記錄
If rs.RecordCount <> 0 Then
If rs.BOF = False Then rs.MovePrevious
If rs.BOF = True Then rs.MoveFirst
End If
Case Is = 2 '移到下一條記錄
If rs.RecordCount <> 0 Then
If rs.EOF = False Then rs.MoveNext
If rs.EOF = True Then rs.MoveLast
End If
Case Is = 3 '移到最后一條記錄
If rs.RecordCount <> 0 Then
If Not rs.EOF = True Then rs.MoveLast
End If
End Select
Call ShowData
End Sub
Private Sub CmdAdd_Click()
'添加操作
'所有控件重置
Call ControlClear
'設(shè)置控件Enable值為可用
Call ControlEnable(True)
'設(shè)置標(biāo)志flag,表示所進(jìn)行的操作為添加
flag = "Add"
'所有移動(dòng)按鈕不可用
For Index = 0 To 3
CmdMove(Index).Enabled = False
Next Index
'添加、修改、刪除按鈕不可用,取消、保存按鈕可用
CmdAdd.Enabled = False: CmdModify.Enabled = False
CmdCancel.Enabled = True: CmdSave.Enabled = True
End Sub
Private Sub ControlClear()
'重置控件
Me.CboYGID.ListIndex = 0
Me.CboYGName.ListIndex = 0
DTPicker1.Refresh
For Index = 0 To 4
txt(Index).Text = ""
Next
End Sub
Private Sub CmdModify_Click()
'修改操作
If rs.RecordCount > 0 Then '如果存在記錄
'員工ID不可以修改,其他控件可用
Me.CboYGName.Enabled = False
'設(shè)置控件Enable值
Call ControlEnable(True)
'設(shè)置標(biāo)志flag,表示所進(jìn)行的操作為修改
flag = "Modify"
'移動(dòng)控件不可用
For Index = 0 To 3
CmdMove(Index).Enabled = False
Next Index
'添加、修改、刪除按鈕不可用,取消、保存按鈕可用
CmdAdd.Enabled = False: CmdModify.Enabled = False
CmdCancel.Enabled = True: CmdSave.Enabled = True
Else
MsgBox ("沒有可以修改的數(shù)據(jù)!")
End If
End Sub
Private Sub CmdSave_Click()
'保存操作
On Error GoTo ErrMsg '錯(cuò)誤處理
If Not CheckData Then Exit Sub '如果數(shù)據(jù)不合法就退出
If flag = "Modify" Then '如果是修改數(shù)據(jù)
msg = MsgBox("您確實(shí)要修改這條數(shù)據(jù)嗎?", vbYesNo)
If msg = vbYes Then
Call setData '為字段設(shè)置數(shù)據(jù)
Else
Exit Sub
End If
ElseIf flag = "Add" Then '如果是添加新數(shù)據(jù)
rs.AddNew
Call setData '為字段設(shè)置數(shù)據(jù)
End If
rs.Update '更新數(shù)據(jù)
'移動(dòng)控件可用
For Index = 0 To 3
CmdMove(Index).Enabled = True
Next Index
'編輯控件的可用性
CmdModify.Enabled = True: CmdAdd.Enabled = True
CmdSave.Enabled = False: CmdCancel.Enabled = False
If flag = "Add" Then
MsgBox ("成功添加數(shù)據(jù)!")
Else
MsgBox ("成功更新數(shù)據(jù)!")
End If
Call LoadData '重新裝載數(shù)據(jù)
'定位到添加或修改記錄
If rs.RecordCount > 0 Then
rs.MoveFirst
rs.Find ("員工ID='" & Trim(Me.CboYGID.Text) & "'")
If Not rs.EOF Then Call ShowData '重新顯示數(shù)據(jù)
End If
Exit Sub
ErrMsg: '報(bào)告出錯(cuò)信息
MsgBox Err.Description, vbExclamation, "出錯(cuò)"
End Sub
Private Function CheckData() As Boolean
'檢查數(shù)據(jù)的合法性
Dim rst As ADODB.Recordset
Dim msgt As String
'檢查數(shù)據(jù)
If Trim(CboYGID.Text) = "" Then '檢查員工ID是否為空
msgt = "員工ID為空; "
End If
If Not msgt = "" Then '如果不為空,給出錯(cuò)誤提示
MsgBox (msgt)
CheckData = False '返回False
Exit Function
End If
CheckData = True '合法返回True
End Function
Private Sub setData()
'為字段設(shè)置數(shù)據(jù)
rs.Fields("員工ID") = Me.CboYGID.Text
rs.Fields("考核日期") = Me.DTPicker1.value
For Index = 0 To 4
rs.Fields(Index + 3) = txt(Index).Text
Next Index
End Sub
Private Sub cmdCancel_Click()
'取消操作
Call ShowData '重新在控件中顯示信息
If rs.RecordCount > 0 Then
'設(shè)置移動(dòng)控件可用
For Index = 0 To 3
CmdMove(Index).Enabled = True
Next Index
End If
'設(shè)置控件Enable值為不可用
Call ControlEnable(False)
'修改、刪除、添加按鈕可用,保存和取消按鈕不可用
CmdAdd.Enabled = True: CmdModify.Enabled = True
CmdSave.Enabled = False: CmdCancel.Enabled = False
End Sub
Private Sub CmdExit_Click()
'退出操作
人事管理系統(tǒng).Enabled = True
Unload Me
End Sub
Private Sub CboYGID_click()
'改變員工ID時(shí),初始化員工姓名
CboYGName.ListIndex = CboYGID.ListIndex
End Sub
Private Sub Form_Unload(Cancel As Integer)
'退出操作
人事管理系統(tǒng).Enabled = True
rs.Close
Unload Me
End Sub
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -