📄 frmmultiselecttest.frm
字号:
VERSION 5.00
Begin VB.Form FrmMultiSelectTest
BackColor = &H00808080&
BorderStyle = 0 'None
Caption = "多选题"
ClientHeight = 8280
ClientLeft = 0
ClientTop = 0
ClientWidth = 10755
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 8280
ScaleWidth = 10755
StartUpPosition = 1 '所有者中心
Begin VB.Frame Frame1
Height = 60
Left = 45
TabIndex = 8
Top = 1080
Width = 10680
End
Begin VB.Frame Frame2
Height = 60
Left = 45
TabIndex = 7
Top = 6615
Width = 10680
End
Begin VB.Frame Frame3
BackColor = &H00808080&
BorderStyle = 0 'None
Height = 5235
Left = 495
TabIndex = 5
Top = 1305
Width = 9690
Begin VB.CheckBox Check1
BackColor = &H00808080&
Caption = "F"
ForeColor = &H00FFFF80&
Height = 645
Index = 5
Left = 675
TabIndex = 16
Top = 4320
Width = 7575
End
Begin VB.CheckBox Check1
BackColor = &H00808080&
Caption = "E"
ForeColor = &H00FFFF80&
Height = 645
Index = 4
Left = 675
TabIndex = 15
Top = 3645
Width = 7575
End
Begin VB.CheckBox Check1
BackColor = &H00808080&
Caption = "D"
ForeColor = &H00FFFF80&
Height = 645
Index = 3
Left = 675
TabIndex = 14
Top = 2970
Width = 7575
End
Begin VB.CheckBox Check1
BackColor = &H00808080&
Caption = "C"
ForeColor = &H00FFFF80&
Height = 645
Index = 2
Left = 675
TabIndex = 13
Top = 2295
Width = 7575
End
Begin VB.CheckBox Check1
BackColor = &H00808080&
Caption = "B"
ForeColor = &H00FFFF80&
Height = 645
Index = 1
Left = 675
TabIndex = 12
Top = 1620
Width = 7575
End
Begin VB.CheckBox Check1
BackColor = &H00808080&
Caption = "A"
ForeColor = &H00FFFF80&
Height = 645
Index = 0
Left = 675
TabIndex = 11
Top = 945
Width = 7575
End
Begin VB.Label Label2
BackStyle = 0 'Transparent
Caption = "第1题目"
DataField = "Subject"
DataSource = "Data1"
ForeColor = &H00FFFF00&
Height = 870
Left = 405
TabIndex = 6
Top = 90
Width = 8070
End
End
Begin VB.CommandButton Command1
Caption = "做好了"
Height = 330
Left = 8235
TabIndex = 4
Top = 6795
Width = 1950
End
Begin VB.CommandButton Command2
Caption = "第一题"
Height = 330
Index = 0
Left = 3105
TabIndex = 3
Top = 6795
Width = 1140
End
Begin VB.CommandButton Command2
Caption = "上一题"
Height = 330
Index = 1
Left = 4230
TabIndex = 2
Top = 6795
Width = 1140
End
Begin VB.CommandButton Command2
Caption = "下一题"
Height = 330
Index = 2
Left = 5355
TabIndex = 1
Top = 6795
Width = 1140
End
Begin VB.CommandButton Command2
Caption = "最后"
Height = 330
Index = 3
Left = 6480
TabIndex = 0
Top = 6795
Width = 1140
End
Begin VB.Data Data1
Caption = "Data1"
Connect = "Access"
DatabaseName = "F:\My Documents\VB\考试管理系统\examktl.dll"
DefaultCursorType= 0 '缺省游标
DefaultType = 2 '使用 ODBC
Exclusive = 0 'False
Height = 345
Left = 4545
Options = 0
ReadOnly = 0 'False
RecordsetType = 1 'Dynaset
RecordSource = "MultiChoice"
Top = 7425
Visible = 0 'False
Width = 2085
End
Begin VB.Shape Shape2
BorderColor = &H00C0C0FF&
Height = 285
Left = 10260
Top = 45
Width = 330
End
Begin VB.Label Label4
Alignment = 2 'Center
BackStyle = 0 'Transparent
Caption = "×"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00C0C0FF&
Height = 195
Left = 10305
TabIndex = 17
Top = 90
Width = 285
End
Begin VB.Label Label1
Alignment = 2 'Center
BackStyle = 0 'Transparent
Caption = "多项选择题"
Height = 330
Left = 3240
TabIndex = 10
Top = 90
Width = 4065
End
Begin VB.Line Line1
BorderColor = &H0000FFFF&
X1 = 0
X2 = 0
Y1 = 0
Y2 = 8235
End
Begin VB.Line Line3
BorderColor = &H0080FFFF&
X1 = 10710
X2 = 10710
Y1 = 0
Y2 = 8280
End
Begin VB.Line Line4
BorderColor = &H0080FFFF&
X1 = 0
X2 = 10710
Y1 = 8235
Y2 = 8235
End
Begin VB.Shape Shape1
BackColor = &H0000FFFF&
BackStyle = 1 'Opaque
BorderColor = &H0000FFFF&
Height = 330
Left = 0
Top = 0
Width = 10725
End
Begin VB.Label Label3
Alignment = 2 'Center
BackStyle = 0 'Transparent
Caption = "Label3"
ForeColor = &H00C0FFFF&
Height = 285
Left = 135
TabIndex = 9
Top = 765
Width = 1140
End
End
Attribute VB_Name = "FrmMultiSelectTest"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim Rs As ADODB.Recordset
Dim Msg$
Dim SQL$
Dim CurrentT As Integer
Public TWForm As New TransWindow
Private Sub Check1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim sAnswer$
For i = 0 To Check1.Count - 1
If Check1(i).Value = 1 Then
Select Case i
Case 0
sAnswer = sAnswer & "A"
Case 1
sAnswer = sAnswer & "B"
Case 2
sAnswer = sAnswer & "C"
Case 3
sAnswer = sAnswer & "D"
Case 4
sAnswer = sAnswer & "E"
Case 5
sAnswer = sAnswer & "F"
End Select
End If
Next i
SelectAnswer sAnswer, Index
End Sub
Private Sub Command1_Click()
TWForm.UnLoadForm
Me.Hide
End Sub
Private Sub Command2_Click(Index As Integer)
Select Case Index
Case 0
CurrentT = 0
Case 1
CurrentT = CurrentT - 1
If CurrentT < 0 Then: CurrentT = 0
Case 2
CurrentT = CurrentT + 1
If CurrentT >= MultiChoiceSubjectCount Then: CurrentT = MultiChoiceSubjectCount - 1
Case 3
CurrentT = MultiChoiceSubjectCount - 1
End Select
ViewSubject CurrentT
End Sub
Private Sub Form_Activate()
ViewSubject CurrentT
End Sub
Private Sub Form_Load()
TWForm.SetForm Me
Data1.DatabaseName = App.Path & "\examktl.dll"
Call Init
CurrentT = 0
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label4.ForeColor = &H8080FF
Shape2.BorderColor = &HC0C0FF
Label4.MousePointer = 0
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
TWForm.UnLoadForm
Set TWForm = Nothing
End Sub
Private Sub Label4_Click()
Me.WindowState = 1
End Sub
Private Sub Label4_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label4.ForeColor = vbRed
Shape2.BorderColor = vbRed
Label4.MousePointer = 99
End Sub
Sub ViewSubject(SubjectIndex As Integer)
On Error Resume Next
Label3.Caption = "第 " & SubjectIndex + 1 & " 题"
SubjectMove MultiChoiceSubject(SubjectIndex)
Label2.Caption = Data1.Recordset.Fields(0)
Check1(0).Caption = Data1.Recordset.Fields(1)
Check1(1).Caption = Data1.Recordset.Fields(2)
Check1(2).Caption = Data1.Recordset.Fields(3)
Check1(3).Caption = Data1.Recordset.Fields(4)
Check1(4).Caption = Data1.Recordset.Fields(5)
Check1(5).Caption = Data1.Recordset.Fields(6)
For i = 0 To Check1.Count - 1
Check1(i).Value = 0
Next i
'选择题目
For i = 1 To Len(MultiSelectQuestion(CurrentT))
Select Case Mid(MultiSelectQuestion(CurrentT), i, 1)
Case "A"
Check1(0).Value = 1
' SelectAnswer Data1.Recordset.Fields(5), 1
Case "B"
Check1(1).Value = 1
' SelectAnswer Data1.Recordset.Fields(5), 2
Case "C"
Check1(2).Value = 1
' SelectAnswer Data1.Recordset.Fields(5), 3
Case "D"
Check1(3).Value = 1
' SelectAnswer Data1.Recordset.Fields(5), 4
Case "E"
Check1(4).Value = 1
' SelectAnswer Data1.Recordset.Fields(5), 4
Case "F"
Check1(5).Value = 1
' SelectAnswer Data1.Recordset.Fields(5), 4
End Select
Next i
End Sub
Sub SelectAnswer(Answer As String, AnswerIndex As Integer)
'SubjectMove SingleSelectSubject(CurrentT)
On Error Resume Next
Data1.Recordset.Edit
Data1.Recordset.Fields(7) = Answer
Data1.UpdateRecord
MultiSelectQuestion(CurrentT) = Answer
End Sub
Sub Init()
On Error Resume Next
For i = 0 To UBound(MultiChoiceSubject)
SubjectMove MultiChoiceSubject(i)
MultiSelectQuestion(i) = Data1.Recordset.Fields(7)
MultiRightQuestion(i) = JieMi(Data1.Recordset.Fields(8), Data1.Recordset("key"))
Next i
End Sub
Sub SubjectMove(SubjectIndexR As Long)
Data1.Refresh
Data1.Recordset.MoveFirst
Data1.Recordset.Move SubjectIndexR
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -