摘 要: 我們利用Access編寫(xiě)出題系統(tǒng),可以讓計(jì)算機(jī)安全保存所有試題,進(jìn)行快速提取,實(shí)現(xiàn)試卷制作的系統(tǒng)化、規(guī)范化,它屬于典型的信息管理系統(tǒng)(MIS)。整個(gè)出題程序由Access數(shù)據(jù)庫(kù)配合Visual Basic即可完成,代碼量小,后期大量的工作,可以用在豐富試題數(shù)量上,操作簡(jiǎn)單,易于使用。
關(guān)鍵詞: AccessVisual Basic 出題系統(tǒng) 應(yīng)用技巧
該出題系統(tǒng)可以運(yùn)行于Windows平臺(tái),利用Access配合Visual Basic語(yǔ)言開(kāi)發(fā),結(jié)構(gòu)簡(jiǎn)單、代碼量小。
整個(gè)出題系統(tǒng)存儲(chǔ)文件單一,一個(gè)Access數(shù)據(jù)庫(kù)就是一個(gè).mdb文件,包含一系列數(shù)據(jù)表、查詢、窗體、模塊和宏等。
1.系統(tǒng)結(jié)構(gòu)
本試題提取系統(tǒng)包括錄入系統(tǒng)、提取系統(tǒng)等,提供題庫(kù)制作和試題的隨機(jī)提取等功能。
(1)錄入系統(tǒng)
該窗體的功能在試卷提取之前使用,屬于系統(tǒng)維護(hù)階段重要的窗體,它可以對(duì)總題庫(kù)中的試題進(jìn)行增加、刪除、修改和查找等操作,主要在以后的教學(xué)中用來(lái)更新試題。
(2)提取系統(tǒng)
該窗體的功能是根據(jù)教師的需要,設(shè)置需要提取的試題數(shù)目、難度、范圍和科目等,并產(chǎn)生成套的試題,實(shí)現(xiàn)與Word等軟件的連接,打印試卷等。
2.部分程序代碼:
(1)移動(dòng)記錄指針
Private Sub TopRec_Click( )
On Error GoTo Err_TopRec_Click
DoCmd.GoToRecord, , acFirst
N = 0
For I = 1 To Len(Me.TiMu.Value)
If Mid$(Me.TiMu.Value, I, 2) = vbCrLf Then
N = N + 1
End If
Next
Me.Text34.Caption = Str(N - 1)
Call Star(Me.Name)
Exit_TopRec_Click:
Exit Sub
Err_TopRec_Click:
MsgBox Err.Description
Resume Exit_TopRec_Click
End Sub
(2)產(chǎn)生試題
Randomize ?謖隨機(jī)抽取試題
?謖 填空
For I = 0 To a1 - 1
A(I) = Int(Rnd() * 394 + 1)
Next
For I = 0 To a1 - 2 ?謖禁止出現(xiàn)相同題
Forj = I + 1 To a1 - 1
If A(I) = A(j) Then
A(j) = Int(Rnd() * 394 + 1)
I = 0
j = I + 1
End If
Next
Next
MsgBox CStr(a)
Dim aa As Object
dbs.Close
For I = 0 To a1 - 1 ?謖向題庫(kù)中添加數(shù)據(jù)——填空題
dbs.Execute ("Insert into Temp select TianKong.* from TianKong Where ID=" & A(I))
Next
(3)產(chǎn)生報(bào)表
If Val(Forms![shijuantiqu].[Text81].Value) = 0 Or Val(Forms![shijuantiqu].[Text83].Value) = 0 Or Val(Forms![shijuantiqu].[Text84].Value) = 0 Or Val(Forms![shijuantiqu].[Text85].Value) = 0 Or Val(Forms![shijuantiqu].[Text86].Value) = 0 Then
M = MsgBox("題型及題數(shù)設(shè)置有錯(cuò),試卷不能正確提取!", vbCritical + vbOKOnly, "錯(cuò)誤提示...")
Forms![shijuantiqu].[Text81].SetFocus
Else
DoCmd.RunMacro "OutPutInt"
End If
經(jīng)過(guò)這樣的初步設(shè)計(jì),試卷提取系統(tǒng)基本能滿足日常教學(xué)的需要,可以完成試題的錄入、存儲(chǔ)、查詢、報(bào)表的打印等。這個(gè)小系統(tǒng)的完成,很大程度上減輕了自己的工作強(qiáng)度,在系統(tǒng)制作過(guò)程中,也讓我學(xué)到了不少東西。例如數(shù)據(jù)庫(kù)的發(fā)展歷史和現(xiàn)狀,同時(shí)也讓我深刻體會(huì)到軟件的開(kāi)發(fā)不是一件容易的事情,需要設(shè)計(jì)者具備全面的知識(shí),縝密的思維,嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和較強(qiáng)的分析能力。
由于時(shí)間短暫,該系統(tǒng)有很多不完美的地方,比如沒(méi)有聯(lián)機(jī)幫助文檔,界面友好度不夠,查詢功能較弱等。這些都有待完善,希望在以后的教學(xué)中能逐步修補(bǔ)改善。
注:“本文中所涉及到的圖表、公式、注解等請(qǐng)以PDF格式閱讀”