?? e管理人員信息.frm
字號:
EndProperty
EndProperty
End
End
Attribute VB_Name = "E管理人員信息"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
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()
Call LoadData '裝載數(shù)據(jù)
Call ShowData '顯示數(shù)據(jù)
End Sub
Private Sub LoadData()
'裝載數(shù)據(jù)
Dim list As ListItem
Dim key As String
Set rs = Nothing
'查詢管理人員信息
SQL = "SELECT * FROM 管理人員信息表 ORDER BY 管理人員ID"
Set rs = SelectSQL(SQL, msg)
ListView1.ListItems.Clear '清空ListView
If rs.RecordCount = 0 Then '如果不存在記錄
'編輯控件可用性
CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = False
CmdCancel.Enabled = False: CmdSave.Enabled = False
Else
rs.MoveFirst
Do Until rs.EOF
'在ListView中顯示管理人員信息
key = rs.Fields("管理人員ID") & rs.Fields("姓名")
Set list = ListView1.ListItems.Add(, , key, 1)
rs.MoveNext
Loop
rs.MoveFirst '返回到第一條記錄
'編輯控件可用性
CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True
CmdCancel.Enabled = False: CmdSave.Enabled = False
End If
'設(shè)置控件Enable值
Call ControlEnable(False)
End Sub
Private Sub ControlEnable(flag As Boolean)
'設(shè)置控件的Enable值
For Index = 0 To 4
txt(Index).Enabled = flag
Next Index
End Sub
Private Sub ShowData()
'在控件中顯示數(shù)據(jù)
If rs.RecordCount <> 0 Then '如果存在記錄
'為控件賦值
txt(0).Text = rs.Fields("管理人員ID")
txt(1).Text = rs.Fields("姓名")
txt(2).Text = rs.Fields("密碼")
txt(3).Text = rs.Fields("電話")
txt(4).Text = rs.Fields("郵箱")
End If
End Sub
Private Sub CmdAdd_Click()
'添加操作
'所有控件重置
Call ControlClear
'設(shè)置控件Enable值為可用
Call ControlEnable(True)
'設(shè)置標志flag,表示所進行的操作為添加
flag = "Add"
'添加、修改、刪除按鈕不可用,取消、保存按鈕可用
CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False
CmdCancel.Enabled = True: CmdSave.Enabled = True
End Sub
Private Sub ControlClear()
'重置控件
For Index = 0 To 4
Me.txt(Index).Text = ""
Next Index
End Sub
Private Sub CmdModify_Click()
'修改操作
If rs.RecordCount > 0 Then '如果存在記錄
'教師ID不可以修改,其他控件可用
txt(0).Enabled = False
'設(shè)置控件Enable值
Call ControlEnable(True)
'設(shè)置標志flag,表示所進行的操作為修改
flag = "Modify"
'添加、修改、刪除按鈕不可用,取消、保存按鈕可用
CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False
CmdCancel.Enabled = True: CmdSave.Enabled = True
Else
MsgBox ("沒有可以修改的數(shù)據(jù)!")
End If
End Sub
Private Sub CmdDelete_Click()
'刪除操作
On Error GoTo ErrMsg '錯誤處理
If rs.RecordCount > 0 Then
msg = MsgBox("刪除該條記錄嗎?", vbYesNo)
If msg = vbYes Then
rs.Delete '刪除數(shù)據(jù)
'清空控件
Call ControlClear
Call LoadData '重新裝載數(shù)據(jù)
If rs.RecordCount > 0 Then
Call ShowData '顯示數(shù)據(jù)
End If
'設(shè)置控件Enable值為不可用
Call ControlEnable(False)
'添加、刪除按鈕可用,修改、取消、保存按鈕不可用
CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = True
CmdSave.Enabled = False: CmdCancel.Enabled = False
MsgBox ("成功刪除的數(shù)據(jù)!")
End If
Else
MsgBox ("沒有可刪除的數(shù)據(jù)!")
End If
Exit Sub
ErrMsg: '報告出錯信息
MsgBox Err.Description, vbExclamation, "出錯"
End Sub
Private Sub CmdSave_Click()
'保存操作
On Error GoTo ErrMsg '錯誤處理
If Not CheckData Then Exit Sub '如果數(shù)據(jù)不合法就退出
If flag = "Modify" Then '如果是修改數(shù)據(jù)
msg = MsgBox("您確實要修改這條數(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ù)
'設(shè)置控件的可用性
CmdModify.Enabled = True: CmdDelete.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ù)
'定位到添加或修改記錄
rs.MoveFirst
rs.Find ("管理人員ID='" & Trim(Me.txt(0).Text) & "'")
Call ShowData '重新顯示數(shù)據(jù)
Exit Sub
ErrMsg: '報告出錯信息
MsgBox Err.Description, vbExclamation, "出錯"
End Sub
Private Function CheckData() As Boolean
'檢查數(shù)據(jù)的合法性
Dim rst As ADODB.Recordset
Dim msgt As String
msgt = ""
'檢查數(shù)據(jù)
If Trim(txt(0).Text) = "" Then '檢查管理人員ID是否為空
msgt = "管理人員ID為空; "
'光標定位
txt(0).SetFocus
txt(0).SelStart = 0
txt(0).SelLength = Len(txt(0).Text)
ElseIf Not Len(Trim(txt(0).Text)) = 6 Then '檢查管理人員ID是否為6位
msgt = msgt & "管理人員ID不是6位; "
'光標定位
txt(0).SetFocus
txt(0).SelStart = 0
txt(0).SelLength = Len(txt(0).Text)
ElseIf Trim(txt(1).Text) = "" Then '檢查姓名是否為空
msgt = msgt & "姓名為空; "
'光標定位
txt(1).SetFocus
txt(1).SelStart = 0
txt(1).SelLength = Len(txt(1).Text)
End If
If Not msgt = "" Then '如果不為空,給出錯誤提示
MsgBox (msgt)
CheckData = False '返回False
Exit Function
End If
'檢查唯一性
SQL = " select * from 管理人員信息表 where 管理人員ID='" & Trim(txt(0).Text) & "'"
Set rst = SelectSQL(SQL, msg)
'如果是進行添加操作且已經(jīng)存在該記錄,提示重復(fù)添加
If flag = "Add" And rst.RecordCount > 0 Then
MsgBox ("該信息已經(jīng)存在,重復(fù)添加!")
'光標定位
txt(0).SetFocus
txt(0).SelStart = 0
txt(0).SelLength = Len(txt(0).Text)
rst.Close
CheckData = False '返回False
Exit Function
End If
CheckData = True '合法返回True
End Function
Private Sub setData()
'為字段設(shè)置數(shù)據(jù)
rs.Fields("管理人員ID") = Me.txt(0).Text
rs.Fields("姓名") = Me.txt(1).Text
rs.Fields("密碼") = Me.txt(2).Text
rs.Fields("電話") = Me.txt(3).Text
rs.Fields("郵箱") = Me.txt(4).Text
End Sub
Private Sub cmdCancel_Click()
'取消操作
Call ShowData '重新在控件中顯示信息
'設(shè)置控件Enable值為不可用
Call ControlEnable(False)
'修改、刪除、添加按鈕可用,保存和取消按鈕不可用
CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True
CmdSave.Enabled = False: CmdCancel.Enabled = False
End Sub
Private Sub ListView1_Click()
'在控件中顯示該管理人員信息
Dim key As String
If rs.RecordCount > 0 Then
key = Left(Trim(ListView1.SelectedItem), 6)
SQL = " SELECT * FROM 管理人員信息表 WHERE 管理人員ID='" & key & "'"
Set rs = SelectSQL(SQL, msg)
If rs.RecordCount = 1 Then '如果選中了具體的管理人員
Call ShowData '重新顯示數(shù)據(jù)
End If
End If
End Sub
Private Sub CmdExit_Click()
'退出操作
工作人員管理.Enabled = True
Unload Me
End Sub
Private Sub Form_Unload(Cancel As Integer)
'退出操作
工作人員管理.Enabled = True
rs.Close
Unload Me
End Sub
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -