?? frmtesting.frm
字號:
Index = 3
Left = 1785
TabIndex = 15
Top = 315
Width = 405
End
Begin VB.OptionButton optPR1
Caption = "C"
Height = 210
Index = 2
Left = 1320
TabIndex = 14
Top = 315
Width = 405
End
Begin VB.OptionButton optPR1
Caption = "B"
Height = 210
Index = 1
Left = 810
TabIndex = 13
Width = 405
End
Begin VB.OptionButton optPR1
Caption = "A"
Height = 210
Index = 0
Left = 345
TabIndex = 12
Top = 315
Width = 405
End
End
End
Begin VB.Frame frmAnswer
Caption = "單項選擇題答案"
Height = 3480
Index = 1
Left = 6435
TabIndex = 5
Top = 397
Width = 2985
Begin VB.OptionButton optSO
Caption = "D"
Height = 285
Index = 3
Left = 585
TabIndex = 9
Top = 1335
Width = 735
End
Begin VB.OptionButton optSO
Caption = "C"
Height = 285
Index = 2
Left = 585
TabIndex = 8
Top = 1010
Width = 735
End
Begin VB.OptionButton optSO
Caption = "A"
Height = 285
Index = 0
Left = 570
TabIndex = 7
Top = 360
Width = 735
End
Begin VB.OptionButton optSO
Caption = "B"
Height = 285
Index = 1
Left = 585
TabIndex = 6
Top = 685
Width = 735
End
End
Begin VB.Frame frmAnswer
Caption = "判斷題答案"
Height = 3480
Index = 0
Left = 6435
TabIndex = 2
Top = 397
Width = 2985
Begin VB.OptionButton optYesNo
Caption = "錯誤"
Index = 1
Left = 585
TabIndex = 4
Top = 690
Width = 735
End
Begin VB.OptionButton optYesNo
Caption = "正確"
Height = 285
Index = 0
Left = 585
TabIndex = 3
Top = 360
Width = 735
End
End
Begin VB.Label lblNews
AutoSize = -1 'True
Caption = "Label5"
Height = 180
Left = 6450
TabIndex = 36
Top = 4035
Width = 540
End
Begin VB.Label lblType
AutoSize = -1 'True
Caption = "Label1"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 210
Left = 532
TabIndex = 1
Top = 112
Width = 720
End
End
Attribute VB_Name = "DoTest"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Option Base 1 '定義數(shù)組下標從1開始
Dim objTest As Recordset '用于保存考試記錄數(shù)據(jù)
Dim objJudge As Recordset '用于保存判斷題題庫數(shù)據(jù)
Dim objSelOne As Recordset '用于保存選擇題題庫數(shù)據(jù)
Dim objProRead As Recordset '用于保存程序閱讀題題庫數(shù)據(jù)
Dim objProFill As Recordset '用于保存程序填空題題庫數(shù)據(jù)
Dim objCn As Connection '用于建立數(shù)據(jù)庫連接
Dim strTest() As String '用于表存學生答題信息
Dim iJ%, iSO%, iPR%, iPF%, iTotal% '用于保存小題數(shù)和總題數(shù)
Private Sub cmbType_Click()
'顯示對應題型的第小題
Select Case cmbType.ListIndex
Case 0
'顯示判斷題第一小題
cmdMove(0).Value = True '使第一條記錄成為當前記錄
Case 1
'顯示選擇題第一小題
cmdMove(0).Value = True '使第一條記錄成為當前記錄
objTest.Move iJ - 1 '使最后一道判斷題成為當前記錄
cmdMove(2).Value = True '使第一道選擇題成為當前記錄
Case 2
'顯示程序閱讀題第一小題
cmdMove(0).Value = True '使第一條記錄成為當前記錄
objTest.Move iJ + iSO - 1 '使最后一道選擇題成為當前記錄
cmdMove(2).Value = True '使第一道程序閱讀題成為當前記錄
Case 3
'顯示程序填空第一小題
cmdMove(0).Value = True '使第一條記錄成為當前記錄
objTest.Move iJ + iSO + iPR - 1 '使最后一道程序閱讀題成為當前記錄
cmdMove(2).Value = True '使第一道程序填空題成為當前記錄
End Select
End Sub
Private Sub cmdEsc_Click()
If MsgBox("真的放棄本次考試碼?", vbQuestion + vbYesNo, _
"Basic自測考試") = vbYes Then
Unload Me
End '結(jié)束程序運行
End If
End Sub
Private Sub cmdSubmit_Click()
On Error Resume Next
Dim strA$, strB$, strC$, strD$, i%, strSQL$
If MsgBox("請認真檢查后交卷,交卷后則不能再繼續(xù)考試!", _
vbYesNo + vbInformation, "Basic自測考試") = vbYes Then
'改變試題當前記錄,保存對試題最后的修改
cmdMove(1).Value = True
'獲得學生答題數(shù)據(jù)
For i = 1 To iJ
strA = strA & Chr(13) & Chr(10) & strTest(i, 1) & "=" & strTest(i, 2)
Next
For i = iJ + 1 To iJ + iSO
strB = strB & Chr(13) & Chr(10) & strTest(i, 1) & "=" & strTest(i, 2)
Next
For i = iJ + iSO + 1 To iJ + iSO + 3 * iPR
strC = strC & Chr(13) & Chr(10) & strTest(i, 1) & "=" & strTest(i, 2)
Next
For i = iJ + iSO + 3 * iPR + 1 To iTotal
strD = strD & Chr(13) & Chr(10) & strTest(i, 1) & "=" & strTest(i, 2)
Next
strA = Mid(strA, 3)
strB = Mid(strB, 3)
strC = Mid(strC, 3)
strD = Mid(strD, 3)
'將學生答題數(shù)據(jù)存入數(shù)據(jù)庫
strSQL = "Insert into 考試記錄 (考號,判斷題,選擇題,程序閱讀,程序填空) " & _
"VALUES ('" & StudentCode & "','" & strA & "','" & strB & "','" _
& strC & "','" & strD & "')"
objCn.Open
objCn.Execute strSQL
objCn.Close
MsgBox "成功提交試題,考試結(jié)束!", vbInformation, "Basic自測考試"
Unload Me
End '結(jié)束程序運行
End If
End Sub
Private Sub Form_Load()
Dim n%, i%, m%, s%, s1%
Set objCn = New Connection
With objCn '建立數(shù)據(jù)庫聯(lián)接
.Provider = "SQLOLEDB"
.ConnectionString = "User ID=sa;PWD=123;Server=" & TestServerIP & _
";Initial Catalog=自測考試"
.Open
End With
'訪問數(shù)據(jù)庫獲得判斷題數(shù)據(jù)
Set objJudge = New Recordset '實例化對象
With objJudge
Set .ActiveConnection = objCn '建立數(shù)據(jù)庫連接
.CursorLocation = adUseClient '指定使用客戶端游標
.CursorType = adOpenStatic '指定使用靜態(tài)游標
.Open "SELECT * FROM 判斷題" '獲取判斷題數(shù)據(jù)
Set .ActiveConnection = Nothing '斷開數(shù)據(jù)庫連接
End With
'訪問數(shù)據(jù)庫獲得單項選擇題數(shù)據(jù)
Set objSelOne = New Recordset '實例化對象
With objSelOne
Set .ActiveConnection = objCn '建立數(shù)據(jù)庫連接
.CursorLocation = adUseClient '指定使用客戶端游標
.CursorType = adOpenStatic '指定使用靜態(tài)游標
.Open "SELECT * FROM 選擇題" '獲取選擇題數(shù)據(jù)
Set .ActiveConnection = Nothing '斷開數(shù)據(jù)庫連接
End With
'訪問數(shù)據(jù)庫獲得程序閱讀題數(shù)據(jù)
Set objProRead = New Recordset '實例化對象
With objProRead
Set .ActiveConnection = objCn '建立數(shù)據(jù)庫連接
.CursorLocation = adUseClient '指定使用客戶端游標
.CursorType = adOpenStatic '指定使用靜態(tài)游標
.Open "SELECT * FROM 程序閱讀" '獲取程序閱讀題數(shù)據(jù)
Set .ActiveConnection = Nothing '斷開數(shù)據(jù)庫連接
End With
'訪問數(shù)據(jù)庫獲得程序填空題數(shù)據(jù)
Set objProFill = New Recordset '實例化對象
With objProFill
Set .ActiveConnection = objCn '建立數(shù)據(jù)庫連接
.CursorLocation = adUseClient '指定使用客戶端游標
.CursorType = adOpenStatic '指定使用靜態(tài)游標
.Open "SELECT * FROM 程序填空" '獲取程序填空題數(shù)據(jù)
Set .ActiveConnection = Nothing '斷開數(shù)據(jù)庫連接
End With
'訪問數(shù)據(jù)庫獲得本次試題數(shù)據(jù)
Set objTest = New Recordset '實例化對象
With objTest
Set .ActiveConnection = objCn '建立數(shù)據(jù)庫連接
.CursorLocation = adUseClient '指定使用客戶端游標
.CursorType = adOpenStatic '指定使用靜態(tài)游標
.Open "SELECT * FROM ThisTest" '獲取本次試題數(shù)據(jù)
Set .ActiveConnection = Nothing '斷開數(shù)據(jù)庫連接
'統(tǒng)計總題數(shù)
.Filter = "題型='判斷題'"
n = n + .RecordCount
iJ = .RecordCount
s = n * .Fields("分數(shù)")
lblNews = "一、判斷題(" & Trim(Str(n)) & "小題,每題" & Trim(Str(.Fields("分數(shù)"))) _
& "分,共" & Trim(Str(s)) & "分)"
.Filter = "題型='選擇題'"
m = .RecordCount
iSO = m
n = n + m
s1 = m * .Fields("分數(shù)")
s = s + s1
lblNews = lblNews & vbCrLf & "二、選擇題(" & Trim(Str(m)) & "小題,每題" & Trim(Str(.Fields("分數(shù)"))) _
& "分,共" & Trim(Str(s1)) & "分)"
.Filter = "題型='程序閱讀'"
iPR = .RecordCount
n = n + .RecordCount * 3
s1 = .Fields("分數(shù)")
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -