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