?? frmteacher.frm
字號(hào):
VERSION 5.00
Begin VB.Form Teacher
BorderStyle = 1 'Fixed Single
Caption = "閱卷教師信息管理"
ClientHeight = 2625
ClientLeft = 45
ClientTop = 330
ClientWidth = 4830
LinkTopic = "Form1"
MaxButton = 0 'False
MDIChild = -1 'True
MinButton = 0 'False
ScaleHeight = 2625
ScaleWidth = 4830
Begin VB.TextBox txtSum
Height = 270
Left = 1770
MaxLength = 3
TabIndex = 3
Top = 1335
Width = 2175
End
Begin VB.TextBox txtPhone
Height = 270
Left = 1748
MaxLength = 11
TabIndex = 2
Top = 1020
Width = 2175
End
Begin VB.TextBox txtName
Height = 270
Left = 1748
MaxLength = 10
TabIndex = 0
Top = 345
Width = 2175
End
Begin VB.CommandButton cmdSave
Caption = "保存"
Height = 300
Left = 2400
TabIndex = 6
Top = 1845
Width = 735
End
Begin VB.CommandButton cmdExit
Cancel = -1 'True
Caption = "退出"
Height = 300
Left = 3135
TabIndex = 7
Top = 1845
Width = 735
End
Begin VB.CommandButton cmdDelete
Caption = "刪除"
Height = 300
Left = 1680
TabIndex = 5
Top = 1845
Width = 735
End
Begin VB.CommandButton cmdAdd
Caption = "添加"
Height = 300
Left = 960
TabIndex = 4
Top = 1845
Width = 735
End
Begin VB.TextBox txtPwd
Height = 270
Left = 1740
MaxLength = 6
TabIndex = 1
Top = 675
Width = 2175
End
Begin VB.PictureBox picNavigation
AutoSize = -1 'True
BorderStyle = 0 'None
Height = 350
Left = 1260
ScaleHeight = 345
ScaleWidth = 2415
TabIndex = 12
Top = 2145
Width = 2410
Begin VB.CommandButton cmdMove
Height = 270
Index = 1
Left = 270
Picture = "frmTeacher.frx":0000
Style = 1 'Graphical
TabIndex = 9
Top = 0
Width = 300
End
Begin VB.CommandButton cmdMove
Height = 270
Index = 0
Left = -15
Picture = "frmTeacher.frx":0044
Style = 1 'Graphical
TabIndex = 8
Top = 0
Width = 300
End
Begin VB.CommandButton cmdMove
Height = 270
Index = 3
Left = 2010
Picture = "frmTeacher.frx":0091
Style = 1 'Graphical
TabIndex = 11
Top = 0
Width = 300
End
Begin VB.CommandButton cmdMove
Height = 270
Index = 2
Left = 1725
Picture = "frmTeacher.frx":00DD
Style = 1 'Graphical
TabIndex = 10
Top = -15
Width = 300
End
Begin VB.TextBox txtNews
Height = 270
Left = 555
Locked = -1 'True
TabIndex = 13
TabStop = 0 'False
Top = 0
Width = 1185
End
End
Begin VB.Label Label4
AutoSize = -1 'True
Caption = "閱卷數(shù)量"
Height = 180
Left = 915
TabIndex = 17
Top = 1395
Width = 720
End
Begin VB.Label Label3
AutoSize = -1 'True
Caption = "聯(lián)系電話"
Height = 180
Left = 915
TabIndex = 16
Top = 1050
Width = 720
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "教師姓名"
Height = 180
Left = 915
TabIndex = 15
Top = 405
Width = 720
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "登錄口令"
Height = 180
Left = 915
TabIndex = 14
Top = 735
Width = 720
End
End
Attribute VB_Name = "Teacher"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim isAdding As Boolean '定義操作狀態(tài)標(biāo)志
Dim objTeacher As Recordset '用于保存閱卷教師數(shù)據(jù)表記錄
Dim objCn As Connection '用于建立數(shù)據(jù)庫(kù)聯(lián)接
Private Sub cmdExit_Click()
Unload Me '關(guān)閉閱卷教師管理窗體
End Sub
Private Sub Form_Load()
'建立數(shù)據(jù)庫(kù)聯(lián)接
Set objCn = New Connection '實(shí)例化聯(lián)接對(duì)象
With objCn '建立數(shù)據(jù)庫(kù)聯(lián)接
.Provider = "SQLOLEDB"
.ConnectionString = "User ID=sa;PWD=123;Data Source=(local);" & _
"Initial Catalog=自測(cè)考試"
.Open
End With
'獲取閱卷教師記錄
Set objTeacher = New Recordset '實(shí)例化objTeacher對(duì)象
With objTeacher
Set .ActiveConnection = objCn
.CursorLocation = adUseClient '指定使用客戶端游標(biāo)
.CursorType = adOpenStatic '指定使用靜態(tài)游標(biāo)
.LockType = adLockOptimistic
.Open "SELECT * FROM 閱卷教師" '獲取閱卷教師信息
End With
cmdMove(0).Value = True '觸發(fā)按鈕單擊事件,顯示第一個(gè)記錄
End Sub
Private Sub cmdMove_Click(Index As Integer)
With objTeacher
Select Case Index '切換當(dāng)前記錄
Case 0 '使第一個(gè)記錄成為當(dāng)前記錄
If .RecordCount > 0 And Not .BOF Then .MoveFirst
Case 1 '使上一個(gè)記錄成為當(dāng)前記錄
If .RecordCount > 0 And Not .BOF Then
.MovePrevious
If .BOF Then .MoveFirst
End If
Case 2 '使下一個(gè)記錄成為當(dāng)前記錄
If .RecordCount > 0 And Not .EOF Then
.MoveNext
If .EOF Then .MoveLast
End If
Case 3 '使最后一個(gè)記錄成為當(dāng)前記錄
If .RecordCount > 0 And Not .EOF Then .MoveLast
End Select
If .RecordCount < 1 Then
txtNews = "記錄:無(wú)" '顯示無(wú)記錄提示
txtName = "": txtPwd = ""
txtPhone = "": txtSum = ""
Else
'顯示當(dāng)前記錄數(shù)據(jù)
txtName = .Fields("姓名"): txtPwd = .Fields("口令")
txtPhone = .Fields("電話"): txtSum = .Fields("數(shù)量")
'顯示當(dāng)前記錄編號(hào)和記錄總數(shù)
txtNews = "記錄:" & .AbsolutePosition & "/" & .RecordCount
End If
End With
If isAdding Then isAdding = False
End Sub
Private Sub cmdAdd_Click()
txtNews = "添加新記錄"
txtName = "": txtPwd = ""
txtPhone = "": txtSum = 100
isAdding = True
txtName.SetFocus
End Sub
Private Sub cmdDelete_Click()
'根據(jù)是否處于添加記錄狀態(tài)執(zhí)行不同的操作
If isAdding Then
'退出添加記錄狀態(tài),顯示當(dāng)前記錄
isAdding = False
If objTeacher.RecordCount <= 0 Then
txtNews = "記錄:無(wú)" '顯示無(wú)記錄提示
Else
'顯示當(dāng)前記錄數(shù)據(jù)
txtName = objTeacher.Fields("姓名"): txtPwd = objTeacher.Fields("口令")
txtPhone = objTeacher.Fields("電話"): txtSum = objTeacher.Fields("數(shù)量")
'顯示當(dāng)前記錄編號(hào)和記錄總數(shù)
txtNews = "記錄:" & objTeacher.AbsolutePosition & "/" & objTeacher.RecordCount
End If
Else
If objTeacher.RecordCount > 0 Then
If MsgBox("是否刪除當(dāng)前記錄?", vbYesNo + vbQuestion, "閱卷教師管理") = vbYes Then
objTeacher.Delete '執(zhí)行刪除當(dāng)前記錄操作
cmdMove(2).Value = True '顯示下一記錄數(shù)據(jù)
Else
'顯示當(dāng)前記錄數(shù)據(jù)
txtName = objTeacher.Fields("姓名"): txtPwd = objTeacher.Fields("口令")
txtPhone = objTeacher.Fields("電話"): txtSum = objTeacher.Fields("數(shù)量")
'顯示當(dāng)前記錄編號(hào)和記錄總數(shù)
txtNews = "記錄:" & objTeacher.AbsolutePosition & "/" & objTeacher.RecordCount
End If
End If
End If
End Sub
Private Sub cmdSave_Click()
Dim objCopy As New Recordset
'在當(dāng)前表中無(wú)數(shù)據(jù)和不是添加記錄時(shí),不執(zhí)行保存操作
If Not isAdding And objTeacher.RecordCount < 1 Then Exit Sub
If Trim(txtName) = "" Then
MsgBox "教師姓名不能為空!", vbCritical, "閱卷教師管理"
txtName.SetFocus
txtName = ""
ElseIf Trim(txtPwd) = "" Then
MsgBox "系統(tǒng)登錄口令不能為空!", vbCritical, "閱卷教師管理"
txtPwd.SetFocus
txtPwd = ""
ElseIf Trim(txtPhone) = "" Then
MsgBox "聯(lián)系電話不能為空!", vbCritical, "閱卷教師管理"
txtPhone.SetFocus
txtPhone = ""
ElseIf Val(txtSum) = 0 Then
MsgBox "請(qǐng)輸入有效的閱卷數(shù)量!", vbCritical, "閱卷教師管理"
txtSum.SetFocus
Else
Set objCopy = objTeacher.Clone
With objCopy
If .RecordCount > 0 Then
'檢查閱卷教師姓名是否重復(fù)
.MoveFirst
.Find "姓名='" & Trim(txtName) & "'"
If (isAdding And Not .EOF) Or _
(Not isAdding And Not .EOF And _
.AbsolutePosition <> objTeacher.AbsolutePosition) Then
MsgBox "姓名重復(fù),請(qǐng)修改!", vbCritical, "閱卷教師管理"
txtName.SetFocus
txtName.SelStart = 0
txtName.SelLength = Len(txtName)
Exit Sub
End If
If isAdding Then objTeacher.AddNew
Else
If isAdding Then objTeacher.AddNew '添加新記錄
End If
objTeacher.Fields("姓名") = Trim(txtName)
objTeacher.Fields("口令") = Trim(txtPwd)
objTeacher.Fields("電話") = Trim(txtPhone)
objTeacher.Fields("數(shù)量") = Trim(txtSum)
objTeacher.Update
MsgBox "數(shù)據(jù)保存成功!", vbInformation, "閱卷教師管理"
isAdding = False
'顯示當(dāng)前記錄編號(hào)和記錄總數(shù)
txtNews = "記錄:" & objTeacher.AbsolutePosition & "/" & objTeacher.RecordCount
End With
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
objCn.Close '關(guān)閉數(shù)據(jù)聯(lián)接
Set objCn = Nothing '釋放數(shù)據(jù)庫(kù)聯(lián)接
Set objTeacher = Nothing '釋放記錄集對(duì)象
End Sub
Private Sub txtName_KeyPress(KeyAscii As Integer)
'如果敲回車鍵,使下一控件獲得焦點(diǎn)
If KeyAscii = vbKeyReturn Then SendKeys "{TAB}"
End Sub
'限制聯(lián)系電話輸入
Private Sub txtPhone_KeyPress(KeyAscii As Integer)
'如果敲回車鍵,使下一控件獲得焦點(diǎn)
If KeyAscii = vbKeyReturn Then SendKeys "{TAB}"
If Not (Chr(KeyAscii) Like "[0-9]" Or KeyAscii = vbKeyBack) Then
KeyAscii = 0 '輸入不是數(shù)字或退格鍵,取消輸入
End If
End Sub
'限制口令輸入
Private Sub txtPwd_KeyPress(KeyAscii As Integer)
'如果敲回車鍵,使下一控件獲得焦點(diǎn)
If KeyAscii = vbKeyReturn Then SendKeys "{TAB}"
If Not (Chr(KeyAscii) Like "[0-9]" Or Chr(KeyAscii) Like "[a-z]" _
Or Chr(KeyAscii) Like "[A-Z]" Or KeyAscii = vbKeyBack) Then
KeyAscii = 0 '輸入不是數(shù)字、英文字母或退格鍵,取消輸入
End If
End Sub
Private Sub txtSum_KeyPress(KeyAscii As Integer)
'如果敲回車鍵,使保存按鈕獲得焦點(diǎn)
If KeyAscii = vbKeyReturn Then cmdSave.SetFocus
End Sub
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -