?? frmkaoshi.frm
字號:
EndProperty
End
Begin VB.Line Line1
BorderWidth = 2
X1 = 6750
X2 = 6750
Y1 = 4995
Y2 = 5265
End
Begin VB.Label Label3
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "答案:"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000C0&
Height = 210
Left = 5415
TabIndex = 25
Top = 5010
Width = 525
End
Begin VB.Line Line2
BorderWidth = 2
X1 = 7305
X2 = 7305
Y1 = 4995
Y2 = 5265
End
Begin VB.Shape Shape2
BackColor = &H00E8F4F8&
FillColor = &H00FFFFFF&
FillStyle = 0 'Solid
Height = 315
Left = 5940
Top = 4965
Width = 1950
End
End
Begin VB.Image ImgXZ
Height = 960
Left = 4080
MouseIcon = "FrmKaoShi.frx":F07A
MousePointer = 99 'Custom
Picture = "FrmKaoShi.frx":F4BC
Top = 7680
Visible = 0 'False
Width = 1305
End
Begin VB.Image imgSubmit
Height = 960
Left = 9960
MouseIcon = "FrmKaoShi.frx":11A0F
MousePointer = 99 'Custom
Picture = "FrmKaoShi.frx":11E51
Top = 7560
Visible = 0 'False
Width = 1305
End
End
Attribute VB_Name = "FrmKaoShi"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'保存時從1開始算,0號為空
'Dim TKIDArr() As Long '填空題id數(shù)組
'Dim PDIDArr() As Long '判斷題id數(shù)組
'Dim WDIDArr() As Long '問答題id數(shù)組
'Dim ZWIDArr() As Long '作文題id數(shù)組
Dim OldDAan As String '保存舊一次的答案
Dim NewWho As Integer '表示現(xiàn)在操作那個題型
Dim CountSec As Long '考試的總秒數(shù)
'由ID值求他的對應題目的分數(shù)
Function GetScoreByID(ScoreArr() As String, ByVal ID As Long) As String
Dim i As Long
Dim strArr() As String
For i = 0 To UBound(ScoreArr)
strArr = Split(ScoreArr(i), ",")
If strArr(0) = Int2Str(ID) Then
GetScoreByID = strArr(1)
Exit Function
End If
Next i
GetScoreByID = ""
End Function
'生成本機數(shù)據(jù)
Function CreateTest() As Boolean
Dim adoRS As Recordset
Set adoRS = New Recordset
adoRS.CursorLocation = adUseClient
adoRS.Open "kaoshixinxi", ConnString, adOpenStatic, adLockOptimistic
'讀題目
'判斷是否發(fā)卷
' If adoRS.EOF Then
' CreateTest = False
' Exit Function
' Else
'創(chuàng)建本地試卷信息
Dim LocaladoRs As Recordset
Set LocaladoRs = New Recordset
LocaladoRs.CursorLocation = adUseClient
LocaladoRs.Open "試卷信息", LocalConn, adOpenStatic, adLockOptimistic
If Not LocaladoRs.EOF Then LocaladoRs.Delete
LocaladoRs.AddNew
LocaladoRs.Fields("試卷標題").Value = adoRS.Fields("title").Value
LabTitle.Caption = adoRS.Fields("title").Value
LocaladoRs.Fields("考試日期").Value = Date '當天
LocaladoRs.Fields("試卷編號").Value = adoRS.Fields("id").Value
LocaladoRs.Fields("試卷總分").Value = adoRS.Fields("zscore").Value
LabScore.Caption = "總分:" & adoRS.Fields("zscore").Value & "分"
'LocaladoRs.Fields("科目ID").Value = adoRS.Fields("kemuid").Value
'LocaladoRs.Fields("年級ID").Value = adoRS.Fields("nianjiid").Value
LocaladoRs.Update
Set LocaladoRs = Nothing
'保存題目id數(shù)組
Dim TempIDArr() As String
'保存題目分數(shù)數(shù)組
Dim TempScoreArr() As String
Dim Pcount As Integer '題目的個數(shù)
'Dim TLong As Long
Dim i As Integer
Dim ScoreArr() As String '保存分數(shù)和題目對應的數(shù)組
Dim sql As String
'定義保存試卷題目的記錄集
Dim adoSJRs As Recordset
Set adoSJRs = New Recordset
adoSJRs.CursorLocation = adUseClient
'清空本地數(shù)據(jù)庫
LocalConn.Execute "delete 試卷選擇題"
'生成單選題
'========判斷是否有單選題
If adoRS.Fields("danxuan").Value <> "" Then
TempIDArr = Split(adoRS.Fields("danxuan").Value, ",")
TempScoreArr = Split(adoRS.Fields("danxuans").Value, ",")
Pcount = UBound(TempIDArr)
ReDim ScoreArr(Pcount + 1)
For i = 0 To Pcount
ScoreArr(i) = TempIDArr(i) + "," + TempScoreArr(i)
Next i
sql = "select id,wenti,xuanze1,xuanze2,xuanze3,xuanze4,daan from question where id in (" + adoRS.Fields("danxuan").Value + ")"
adoSJRs.Open sql, ConnString, adOpenStatic, adLockOptimistic
'插入本地數(shù)據(jù)庫
Do While Not adoSJRs.EOF
'創(chuàng)建本地試卷
sql = "insert into 試卷選擇題(ID,問題,A,B,C,D,答案,分數(shù),考生答案,類別) values(" + Str(adoSJRs.Fields("id").Value) + ",'"
sql = sql + adoSJRs.Fields("wenti").Value + "','" + adoSJRs.Fields("xuanze1").Value + "','" + adoSJRs.Fields("xuanze2").Value + "','"
sql = sql + adoSJRs.Fields("xuanze3").Value + "','" + adoSJRs.Fields("xuanze4").Value + "','" + adoSJRs.Fields("daan").Value + "'," + GetScoreByID(ScoreArr, adoSJRs.Fields("id").Value) + ",'','"
sql = sql + "單')"
LocalConn.Execute sql
adoSJRs.MoveNext
Loop
'關閉adosjrs對象
adoSJRs.Close
' End If
'生成多選題
If adoRS.Fields("duoxuan").Value <> "" Then
TempIDArr = Split(adoRS.Fields("duoxuan").Value, ",")
TempScoreArr = Split(adoRS.Fields("duoxuans").Value, ",")
Pcount = UBound(TempIDArr)
ReDim ScoreArr(Pcount + 1)
For i = 0 To Pcount
ScoreArr(i) = TempIDArr(i) + "," + TempScoreArr(i)
Next i
sql = "select id,wenti,xuanze1,xuanze2,xuanze3,xuanze4,daan from question where id in (" + adoRS.Fields("duoxuan").Value + ")"
adoSJRs.Open sql, ConnString, adOpenStatic, adLockOptimistic
'插入本地數(shù)據(jù)庫
Do While Not adoSJRs.EOF
'創(chuàng)建本地試卷
sql = "insert into 試卷選擇題(ID,問題,A,B,C,D,答案,分數(shù),考生答案,類別) values(" + Str(adoSJRs.Fields("id").Value) + ",'"
sql = sql + adoSJRs.Fields("wenti").Value + "','" + adoSJRs.Fields("xuanze1").Value + "','" + adoSJRs.Fields("xuanze2").Value + "','"
sql = sql + adoSJRs.Fields("xuanze3").Value + "','" + adoSJRs.Fields("xuanze4").Value + "','" + adoSJRs.Fields("daan").Value + "'," + GetScoreByID(ScoreArr, adoSJRs.Fields("id").Value) + ",'','"
sql = sql + "多')"
LocalConn.Execute sql
adoSJRs.MoveNext
Loop
'關閉adosjrs對象
adoSJRs.Close
End If
'生成填空題
' If adoRS.Fields("tiankong").Value <> "" Then
'
' TempIDArr = Split(adoRS.Fields("tiankong").Value, ",")
' TempScoreArr = Split(adoRS.Fields("tiankongs").Value, ",")
' Pcount = UBound(TempIDArr)
' ReDim ScoreArr(Pcount + 1)
' For i = 0 To Pcount
' ScoreArr(i) = TempIDArr(i) + "," + TempScoreArr(i)
' Next i
' sql = "select id,wenti,Kcount from questionTK where id in (" + adoRS.Fields("tiankong").Value + ")"
' adoSJRs.Open sql, ConnString, adOpenStatic, adLockOptimistic
' '插入本地數(shù)據(jù)庫
' Do While Not adoSJRs.EOF
' '創(chuàng)建本地試卷
' sql = "insert into 試卷填空題(ID,問題,空數(shù),分數(shù),考生答案) values(" + Str(adoSJRs.Fields("id").Value) + ",'"
' sql = sql + adoSJRs.Fields("wenti").Value + "'," & adoSJRs.Fields("Kcount").Value & ","
' sql = sql + GetScoreByID(ScoreArr, adoSJRs.Fields("id").Value) + ",'')"
' LocalConn.Execute sql
' adoSJRs.MoveNext
' Loop
' '關閉adosjrs對象
' adoSJRs.Close
' End If
'
' '生成判斷題
' If adoRS.Fields("panduan").Value <> "" Then
'
' TempIDArr = Split(adoRS.Fields("panduan").Value, ",")
' TempScoreArr = Split(adoRS.Fields("panduans").Value, ",")
' Pcount = UBound(TempIDArr)
' ReDim ScoreArr(Pcount + 1)
' For i = 0 To Pcount
' ScoreArr(i) = TempIDArr(i) + "," + TempScoreArr(i)
' Next i
' sql = "select id,wenti,daan from questionPD where id in (" + adoRS.Fields("panduan").Value + ")"
' adoSJRs.Open sql, ConnString, adOpenStatic, adLockOptimistic
' '插入本地數(shù)據(jù)庫
' Do While Not adoSJRs.EOF
' '創(chuàng)建本地試卷
' sql = "insert into 試卷判斷題(ID,問題,答案,分數(shù),考生答案) values(" + Str(adoSJRs.Fields("id").Value) + ",'"
' sql = sql + adoSJRs.Fields("wenti").Value + "','" & adoSJRs.Fields("daan").Value & "',"
' sql = sql + GetScoreByID(ScoreArr, adoSJRs.Fields("id").Value) + ",'')"
' LocalConn.Execute sql
' adoSJRs.MoveNext
' Loop
' '關閉adosjrs對象
' adoSJRs.Close
' End If
'
' '生成問答題
' If adoRS.Fields("wenda").Value <> "" Then
'
' TempIDArr = Split(adoRS.Fields("wenda").Value, ",")
' TempScoreArr = Split(adoRS.Fields("wendas").Value, ",")
' Pcount = UBound(TempIDArr)
' ReDim ScoreArr(Pcount + 1)
' For i = 0 To Pcount
' ScoreArr(i) = TempIDArr(i) + "," + TempScoreArr(i)
' Next i
' sql = "select id,wenti from questionWD where id in (" + adoRS.Fields("wenda").Value + ")"
' adoSJRs.Open sql, ConnString, adOpenStatic, adLockOptimistic
' '插入本地數(shù)據(jù)庫
' Do While Not adoSJRs.EOF
' '創(chuàng)建本地試卷
' sql = "insert into 試卷問答題(ID,問題,分數(shù),考生答案) values(" + Str(adoSJRs.Fields("id").Value) + ",'"
' sql = sql + adoSJRs.Fields("wenti").Value + "',"
' sql = sql + GetScoreByID(ScoreArr, adoSJRs.Fields("id").Value) + ",'')"
' LocalConn.Execute sql
' adoSJRs.MoveNext
' Loop
' '關閉adosjrs對象
' adoSJRs.Close
' End If
'
' '生成作文題
' If adoRS.Fields("zuowen").Value <> "" Then
'
' TempIDArr = Split(adoRS.Fields("zuowen").Value, ",")
' TempScoreArr = Split(adoRS.Fields("zuowens").Value, ",")
' Pcount = UBound(TempIDArr)
' ReDim ScoreArr(Pcount + 1)
' For i = 0 To Pcount
' ScoreArr(i) = TempIDArr(i) + "," + TempScoreArr(i)
' Next i
' sql = "select id,wenti from questionZW where id in (" + adoRS.Fields("zuowen").Value + ")"
' adoSJRs.Open sql, ConnString, adOpenStatic, adLockOptimistic
' '插入本地數(shù)據(jù)庫
' Do While Not adoSJRs.EOF
' '創(chuàng)建本地試卷
' sql = "insert into 試卷作文題(ID,問題,分數(shù),考生答案) values(" + Str(adoSJRs.Fields("id").Value) + ",'"
' sql = sql + adoSJRs.Fields("wenti").Value + "',"
' sql = sql + GetScoreByID(ScoreArr, adoSJRs.Fields("id").Value) + ",'')"
' LocalConn.Execute sql
' adoSJRs.MoveNext
' Loop
' '關閉adosjrs對象
' adoSJRs.Close
' End If
'
' '悉放對象
' Set adoRS = Nothing
' Set adoSJRs = Nothing
'
'
End If
End Function
'Sub RefScore()
' Dim adoRS As Recordset
' Set adoRS = New Recordset
' adoRS.CursorLocation = adUseClient
'
' adoRS.Open "scores", ConnString, adOpenStatic, adLockOptimistic
'
' '創(chuàng)建本地試卷信息
'
' Dim LocaladoRs As Recordset
' Set LocaladoRs = New Recordset
' LocaladoRs.CursorLocation = adUseClient
'
' LocaladoRs.Open "試卷選擇題", LocalConn, adOpenStatic, adLockOptimistic
'
' adoRS.AddNew
' adoRS.Fields ("")
'End Sub
Private Sub CmdRefer_Click()
'交卷
Dim answer As String
SaveDaAN
answer = MsgBox("你確定真的要交卷嗎?請認真檢查!", vbExclamation + vbYesNo, "確定")
If answer = vbYes Then
If JiaoJuan = True Then '處理交卷
'記錄此次考試的成績和內容
DelDB
MsgBox "你已經成功的交了卷!請到首頁查看成績"
Unload Me
Else
MsgBox "交卷失敗,請重試或者報告管理員!"
End If
End If
End Sub
Private Sub cmdStart_Click()
Timer1.Enabled = True
TrVTM.Enabled = True
Dim i As Integer
For i = 0 To 3
Check1(i).Enabled = True
Next i
CmdRefer.Enabled = True
cmdStart.Enabled = False
End Sub
'Private Sub Timer1_Timer()
'
' CountSec = CountSec - 1
' labTime.Caption = Sec2Time(CountSec)
' If CountSec <= 0 Then
' Timer1.Enabled = False
' MsgBox "交卷時間到!!"
'
' End If
'End Sub
Private Sub Form_Load()
'Me.Height = 9000
'Me.Width = 12000
'判斷是否發(fā)試卷
'判斷是否已經生成本地數(shù)據(jù)庫
Dim adoRS As Recordset
Set adoRS = New Recordset
adoRS.CursorLocation = adUseClient
CreateTest '生成試卷
adoRS.Open "試卷信息", LocalConn, adOpenStatic, adLockOptimistic
'If adoRS.EOF Then
' Else
LabTitle.Caption = adoRS.Fields("試卷標題").Value
LabScore.Caption = "總分:" & adoRS.Fields("試卷總分").Value & "分"
'End If
adoRS.Close
adoRS.Open "select ctime from kaoshixinxi", LocalConn, adOpenStatic, adLockOptimistic
CountSec = adoRS.Fields("ctime").Value
labTime.Caption = Sec2Time(CountSec)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -