無(wú)紙化考試系統(tǒng)論文_第1頁(yè)
無(wú)紙化考試系統(tǒng)論文_第2頁(yè)
無(wú)紙化考試系統(tǒng)論文_第3頁(yè)
無(wú)紙化考試系統(tǒng)論文_第4頁(yè)
無(wú)紙化考試系統(tǒng)論文_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、計(jì)算機(jī)考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 題 目: 計(jì)算機(jī)考試系統(tǒng) 專業(yè)班級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 日期:2005-3-23【摘要】本論文以“計(jì)算機(jī)考試系統(tǒng)”的開發(fā)為背景,論述了計(jì)算機(jī)考試系統(tǒng)發(fā)展的歷史及現(xiàn)狀。全文共分為系統(tǒng)調(diào)查、 系統(tǒng)分析、功能設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、 總結(jié)、參考文獻(xiàn)。本文詳細(xì)闡述了系統(tǒng)分析、系統(tǒng)設(shè)計(jì)的方法及其內(nèi)容,對(duì)如何使用VB開發(fā)本系統(tǒng)作了較為詳細(xì)的介紹。本系統(tǒng)包括題庫(kù)的維護(hù)維護(hù)、考生的考試模塊、評(píng)分模塊,而且老師和學(xué)生可以分別使用不同的用戶名進(jìn)行登錄,具有不同的操作權(quán)限。【Abstract】This thesis take the development of&quo

2、t; the calculator examination system" as the background, discussing the history and the present condition of the calculator examination system development.The full text is divided into the system inquisition, system analysis, the function design, database design, system realization, tallies up

3、totally, reference.This text was detailed to elaborate that system analysis, method and its contentses of the system design, to how use the development of VB originally the system makes to compare to introduce detailedly.This system includes the examination mold piece, the grade point mold piece of

4、maintenance maintenance, examinee of a database, and the different from student can use respectively user's name of teacher carries on the logging, having the different operation legal power.【關(guān)鍵詞】計(jì)算機(jī)考試系統(tǒng) VB6.0 系統(tǒng)功能【Keywords】The computer examination system VB6.0 system function目 錄摘要關(guān)鍵詞前言第一章 系統(tǒng)調(diào)查-

5、3第二章 系統(tǒng)分析-4第三章 功能設(shè)計(jì)-9第四章 數(shù)據(jù)庫(kù)設(shè)計(jì)-12第五章 系統(tǒng)實(shí)現(xiàn)-15第六章 總結(jié)-35第七章 參考文獻(xiàn)-35前 言“科學(xué)技術(shù)是第一生產(chǎn)力”,是鄧小平同志堅(jiān)持和發(fā)展馬克思主義關(guān)于生產(chǎn)力的理論,于1988年提出的精辟論斷。這個(gè)論斷提示了科學(xué)技術(shù)在現(xiàn)代社會(huì)在的重要作用,為我國(guó)社會(huì)主義市場(chǎng)經(jīng)濟(jì)中科學(xué)技術(shù)發(fā)展指明了方向。科學(xué)技術(shù)的突飛猛進(jìn),給世界生產(chǎn)力的人類經(jīng)濟(jì)社會(huì)的發(fā)展帶來(lái)了極大的推動(dòng)。當(dāng)前,以微電子技術(shù)為基礎(chǔ),以計(jì)算機(jī)、網(wǎng)絡(luò)和通信技術(shù)為主體的信息技術(shù),已滲透到經(jīng)濟(jì)的各個(gè)領(lǐng)域。信息技術(shù)的發(fā)展,已給人類經(jīng)濟(jì)生活方式帶來(lái)質(zhì)的變化。未來(lái)的科技發(fā)展還將產(chǎn)生新的重大飛躍。我們作為新世紀(jì)的中國(guó)

6、人,作為計(jì)算機(jī)專業(yè)的學(xué)生,理應(yīng)為我們國(guó)家的發(fā)展做出自己應(yīng)有的一份貢獻(xiàn)。在學(xué)校里我們學(xué)習(xí)的都是非常理論的東西,雖然可能有上機(jī)的實(shí)踐,但是確沒(méi)有面對(duì)過(guò)一個(gè)真正的實(shí)際的問(wèn)題,理論如果離開了理論,就失去了生長(zhǎng)的土壤。也沒(méi)有非常系統(tǒng)的使用過(guò)學(xué)習(xí)到的知識(shí),可以這么說(shuō)我們的水平可能還沒(méi)有轉(zhuǎn)化為生產(chǎn)力。如果學(xué)習(xí)的知識(shí)不加于應(yīng)用,不但不容易透徹的理解理論知識(shí),而且非常的容易忘記。所以我借著這次畢業(yè)設(shè)計(jì)的時(shí)候 ,好好的解決一個(gè)實(shí)際的問(wèn)題,好好的,全面的運(yùn)用自己所學(xué)的,為自己以后畢業(yè)后的工作生活打下一個(gè)良好的基礎(chǔ)。在人的一生中,總是要經(jīng)歷許許多多的考試,大到考研究生,小到單元測(cè)驗(yàn)。從在校的學(xué)生,到已經(jīng)在社會(huì)上工作的

7、人,從為人師的教師,到開出租車的司機(jī),都要經(jīng)歷很多的考試。而現(xiàn)在傳統(tǒng)的考試模式已經(jīng)跟不上現(xiàn)在的發(fā)展,所以在這次畢業(yè)設(shè)計(jì)中,我準(zhǔn)備做一個(gè)考試系統(tǒng)??赡茉摽荚囅到y(tǒng)比較的簡(jiǎn)單,但是麻雀雖小,五臟俱全。包括了題庫(kù)的維護(hù)維護(hù)、考生的考試模塊、評(píng)分模塊。還是具有一定的使用價(jià)值的。在本系統(tǒng)設(shè)計(jì)的過(guò)程中我以我所學(xué)習(xí)的東北大學(xué)網(wǎng)絡(luò)學(xué)院為設(shè)計(jì)背景進(jìn)行設(shè)計(jì)的.具體的設(shè)計(jì)過(guò)程如以下各章所述.第一章 系統(tǒng)調(diào)查現(xiàn)在全國(guó)無(wú)論是政府、企業(yè)、學(xué)校還是農(nóng)村的信息化建設(shè)都在如火如荼的展開著。信息化建設(shè)的一個(gè)必然結(jié)果就是電腦越來(lái)越普及了,現(xiàn)在很多的高中、初中都已經(jīng)擁有自己的微機(jī)房了,甚至發(fā)展的比較好的小學(xué)也已經(jīng)配置了不錯(cuò)的電腦。隨著

8、計(jì)算機(jī)技術(shù)的不斷普及,計(jì)算機(jī)工作者也越來(lái)越多,水平也越來(lái)越高 ,同時(shí)學(xué)校也肯花錢請(qǐng)專門的人員來(lái)管理機(jī)房,這些就為實(shí)行無(wú)紙化考試系統(tǒng)提供了硬件條件。隨著計(jì)算機(jī)技術(shù)的發(fā)展,考試的方式也在不斷的變化著。從最初的考試的時(shí)候,人工印刷試卷,到發(fā)考卷,然后收卷,然后改卷,然后發(fā)布成績(jī),整個(gè)流程相對(duì)的比較的復(fù)雜,而且涉及的人員較多,不容易協(xié)調(diào)。手工改卷,在主觀題上是有他的優(yōu)勢(shì)的,畢竟電腦是沒(méi)有評(píng)測(cè)主觀題的能力,但是客觀題也采用手工修改的話,對(duì)于評(píng)卷老師來(lái)說(shuō)工作量就非常的大。面對(duì)幾百份,甚至是上千份的試卷,精力在好、工作在認(rèn)真的老師也會(huì)感覺(jué)頭疼的。根據(jù)計(jì)算機(jī)的特點(diǎn),我們?cè)擃愒囶}正好可以使用計(jì)算機(jī)進(jìn)行處理,于是

9、在一套試題里,客觀題和主觀題同時(shí)存在的情況下,出現(xiàn)了另外一種考試的方法。那就是把主觀體和客觀題分開,主觀題照樣在原來(lái)的試卷上考試,而客觀題則要求學(xué)生涂卡。這樣客觀題的評(píng)卷就變的簡(jiǎn)單了。但是如果考試純粹考的是客觀題,使用這種涂卡的方式,就暴露出了一些缺點(diǎn)了,比如,每回老師還是要下發(fā)試卷,上交試卷,封存試卷,這樣操作對(duì)于老師來(lái)說(shuō)比較的麻煩。還有一點(diǎn)就是考生還要花很長(zhǎng)的時(shí)間來(lái)涂卡,無(wú)形間就增加了考試的時(shí)間,也就增加了考試的成本。所以現(xiàn)在全國(guó)比較流行的是使用無(wú)紙化考試系統(tǒng),每回考試只要使用軟盤等等存儲(chǔ)介質(zhì)帶題庫(kù)下來(lái),在計(jì)算機(jī)上安裝一個(gè)考試客戶端(甚至有些就直接使用windows內(nèi)置的瀏覽器就可以了),

10、就可以考試了??荚囃戤呏?,學(xué)生交卷后,評(píng)分的時(shí)候只要帶走一些數(shù)據(jù),就可以完全使用電腦修改,評(píng)分過(guò)程可能也就在一兩分鐘左右。采取這種方法,不知不覺(jué)中就減少了考試時(shí)間,降低了考試成本,減少了老師的工作。而且一般情況下,該類考試系統(tǒng)都是使用隨機(jī)組卷,電腦隨機(jī)抽卷的,保證了公正性,即使是監(jiān)考老師也無(wú)法干預(yù)電腦的隨機(jī)抽卷。現(xiàn)在網(wǎng)絡(luò)發(fā)展的非常的快,網(wǎng)絡(luò)的無(wú)地域性也不停的拉近了我們之間的距離。寬帶的資費(fèi)也由剛開始的高不可攀,到現(xiàn)在的平民化。網(wǎng)絡(luò)正在慢慢的影響著我們的生活方式。不知不覺(jué)網(wǎng)絡(luò)辦公,網(wǎng)上購(gòu)物,都被人們所接受。那么通過(guò)internet網(wǎng)進(jìn)行網(wǎng)絡(luò)考試如何呢?答案是可能的。該類考試系統(tǒng)現(xiàn)在也已經(jīng)冒出了

11、很多,采取的基本上是B/S結(jié)構(gòu)的??蛻舳酥灰谔囟ǖ臅r(shí)間通過(guò)瀏覽器登陸到考試服務(wù)器上面去,然后系統(tǒng)會(huì)在瀏覽器上顯示出考試的題目,可以說(shuō)這種模式真正的實(shí)現(xiàn)了在家考試。但是這種考試也有一些本身的問(wèn)題,第一、客戶端是通過(guò)internet訪問(wèn)服務(wù)器的,網(wǎng)絡(luò)速度和穩(wěn)定性方面就是個(gè)考驗(yàn)。第二、對(duì)服務(wù)器的要求非常的高,試問(wèn),如果有幾百個(gè)人甚至上網(wǎng)個(gè)人同時(shí)在線考試的話呢?服務(wù)器的負(fù)荷是非常大的。網(wǎng)上考試是以后的發(fā)展趨勢(shì),但是現(xiàn)在還是有些問(wèn)題存在的。從以上的調(diào)查我們可以總結(jié)出一個(gè)結(jié)論,現(xiàn)在的考試系統(tǒng)越來(lái)越簡(jiǎn)單,越來(lái)越網(wǎng)路化,無(wú)論是局域網(wǎng)還是internet網(wǎng)。而且無(wú)紙化的考試系統(tǒng)越來(lái)越流行。這更加堅(jiān)定了我做這么

12、個(gè)考試系統(tǒng)的決心。第二章 系統(tǒng)分析參考了很多計(jì)算機(jī)考試系統(tǒng),可以看到這些考試系統(tǒng)的特點(diǎn)如下:2 1 考試系統(tǒng)的特點(diǎn)1操作界面和操作方法簡(jiǎn)單。如果操作過(guò)于復(fù)雜化的化,老師培訓(xùn)學(xué)生考試操作就得很長(zhǎng)得時(shí)間,這樣使用無(wú)紙化考試系統(tǒng)可以說(shuō)是得不償失。所以操作界面一定要簡(jiǎn)單,操作方法也一定要簡(jiǎn)單。2、提示必須正確,沒(méi)有歧異。對(duì)于參加考試得學(xué)生,通常都非常得緊張,可以說(shuō)是非常得惶恐,非常的怕自己考不好,所以出現(xiàn)提示的時(shí)候,如果提示說(shuō)不明確或者是有歧異,會(huì)馬上問(wèn)老師的,這樣不但不利于考生的正常發(fā)揮 ,而且考場(chǎng)秩序也會(huì)非常的混亂。3、必須有很強(qiáng)的錯(cuò)誤處理能力。參加考試的學(xué)生,其中可能有很大一部分計(jì)算機(jī)操作都不是

13、很熟練,不熟練的意思就是可能會(huì)亂刪文件,可能會(huì)做些正常情況下不會(huì)去使用的功能。所以一定要防止學(xué)生進(jìn)行這種操作,即使是操作了,也該有相應(yīng)的錯(cuò)誤提示。4、穩(wěn)定性??荚囅到y(tǒng)的穩(wěn)定性非常非常的重要,必須能夠保證正確得考試流程。這表現(xiàn)在考試數(shù)據(jù)不容易丟失,不會(huì)出現(xiàn)一些寫入錯(cuò)誤等等??傊前l(fā)生硬盤損害等等非可抗的能力,否則必須得保證考生得數(shù)據(jù)不丟失。如果考試機(jī)意外重啟,應(yīng)該也運(yùn)行考生能夠繼續(xù)做試題。而不是完全重新開始做。5 、考生考試數(shù)據(jù)集中管理。所謂考生考試數(shù)據(jù)集中管理是只一個(gè)考場(chǎng)里的考生數(shù)據(jù)最好是存放在一個(gè)地方,而不是存放于各自的考生計(jì)算機(jī)上。為什么要強(qiáng)調(diào)這一點(diǎn)呢?因?yàn)槿绻芽荚嚨臄?shù)據(jù)都存放在下面各

14、自的機(jī)器上的時(shí)候,監(jiān)考老師要一個(gè)一個(gè)的進(jìn)行收卷,我想這樣和下發(fā)試卷可能非常的類似,這樣也沒(méi)有發(fā)揮出計(jì)算機(jī)考試的優(yōu)勢(shì)。如果直接都存放在服務(wù)器上,那么數(shù)據(jù)采集就非常的簡(jiǎn)單了,只要直接從服務(wù)器上取得就可以了6 、網(wǎng)絡(luò)化?,F(xiàn)在考試系統(tǒng)的發(fā)展就是向網(wǎng)絡(luò)化發(fā)展,從最初的單機(jī),到局域網(wǎng),到internet網(wǎng)。所以考試系統(tǒng)必須支持網(wǎng)絡(luò)化操作。22 考試系統(tǒng)主要功能(我的畢業(yè)設(shè)計(jì)只是做了下面的一部分)一般情況下,整套的考試系統(tǒng)需要如下的模塊。1 、 報(bào)名模塊該模塊的主要功能是記錄每個(gè)考生的信息,比如報(bào)名日期等等。2 、 題庫(kù)維護(hù)模塊該模塊的主要功能是制作題庫(kù)使用的。3 、 考生考試模塊該模塊是提供給考生考試使用

15、的,包括答題和交卷等等功能。4 、 考場(chǎng)數(shù)據(jù)采集模塊該模塊是導(dǎo)出考生的考試信息,評(píng)分模塊依賴于該考試信息來(lái)評(píng)分。5 、 評(píng)分模塊評(píng)出考生的成績(jī)。6 、 學(xué)生成績(jī)和分析模塊對(duì)考生的成績(jī)進(jìn)行統(tǒng)計(jì)分析,比如及格人數(shù)是多少,通過(guò)率有多少等等。24 開發(fā)環(huán)境的選擇241 操作系統(tǒng)的選擇現(xiàn)在主流的操作系統(tǒng)有Windows和linux,最近Linux的發(fā)展很快,在界面上的友好度上面已經(jīng)做的越來(lái)越好了,據(jù)說(shuō)在穩(wěn)定性上面已經(jīng)超過(guò)了Windows操作系統(tǒng)。但是linux操作系統(tǒng)用的比較多的還是服務(wù)器的版本,在桌面上的普及始終還是不如windows,而且windows的操作更加的傻瓜化,可以這么說(shuō)windows操作

16、系統(tǒng)更加的適合于入門的用戶,而且我們也知道現(xiàn)在學(xué)校里幾乎上使用的都是Windows 操作系統(tǒng),所以使用Windows操作系統(tǒng)變成了我們的首選。Windows操作系統(tǒng)也分為很多種,包括Win95、Win98、Win2000、WinXp、Win2003。雖然win98操作系統(tǒng)發(fā)行已經(jīng)很多年了,但是一直以它的操作方便性深受用戶的喜愛(ài),所以我們這里的操作系統(tǒng)當(dāng)仁不讓的選擇Win98操作系統(tǒng)242 開發(fā)工具的選擇現(xiàn)在在市場(chǎng)上,流行的Windows開發(fā)工具主要由兩個(gè)供應(yīng)商提供,一個(gè)是微軟公司,另外一個(gè)是Borland公司。而這兩個(gè)公司的最有名的RAD(快速開發(fā)工具)為Visual Basic 和Delph

17、i。因?yàn)閂isual Basic是微軟專門為開發(fā)Windows程序而設(shè)計(jì)的,特點(diǎn)是簡(jiǎn)單易用,開發(fā)快速,和Windows結(jié)合緊密,語(yǔ)言簡(jiǎn)單,試想學(xué)計(jì)算機(jī)的誰(shuí)沒(méi)有學(xué)過(guò)Basic語(yǔ)言呢?雖然Delphi功能也很強(qiáng)大,但是考慮到簡(jiǎn)單性,所以我決定使用Visual Basic。2421 Visual Basic介紹我們先來(lái)了解一下Visual Basic,經(jīng)過(guò)總結(jié)我覺(jué)得Visual Basic有主要有如下的三個(gè)特點(diǎn):1、Visual BASIC提供可視化的編程工具 用傳統(tǒng)的高級(jí)語(yǔ)言編程時(shí),程序的各種功能、用戶界面和顯示的結(jié)果全要由程序語(yǔ)句來(lái)實(shí)現(xiàn),這就增加了編程難度。而用Visual BASIC開發(fā)應(yīng)用程

18、序,包括兩部分工作:一是設(shè)計(jì)用戶界面,二是編寫程序代碼。Visual BASIC向程序設(shè)計(jì)人員提供圖形對(duì)象(窗體、控件、菜單等)來(lái)進(jìn)行應(yīng)用程序的界面設(shè)計(jì),例如程序人員可以根據(jù)用戶的需要輕而易舉地在屏幕上畫出下圖的用戶界面。Visual BASIC提供的“工具箱”內(nèi)存放若干個(gè)“控件”,程序設(shè)計(jì)者可以自由地從工具箱中取出所需控件,放到窗體中的指定位置,而不必為此編寫程序。也就是說(shuō),屏幕上的用戶界面是用Visual BASIC提供的可視化設(shè)計(jì)工具直接“畫”出來(lái)的,而不是用程序“寫出來(lái)的”。2、程序采用“事件驅(qū)動(dòng)“方式 在設(shè)計(jì)好用戶界面后,第二件事是編寫程序。Visual BASIC改變了程序的機(jī)制,

19、它沒(méi)有傳統(tǒng)意義上的主程序,而由“事件”來(lái)驅(qū)動(dòng)子程序的運(yùn)行。一般來(lái)說(shuō),每個(gè)子程序要實(shí)現(xiàn)的功能是單一的,子程序的規(guī)模一般不會(huì)太大,也就是說(shuō),把原來(lái)一個(gè)統(tǒng)一控制的、包羅萬(wàn)象的大程序分解為許多個(gè)獨(dú)立的、小規(guī)模的子程序,分別由各種“事件”來(lái)驅(qū)動(dòng)執(zhí)行,于是編程難度大大降低了。3、Visual BASIC融入了最新的計(jì)算機(jī)技術(shù) Visual BASIC的設(shè)計(jì)者在Visual BASIC中融入了最新的計(jì)算機(jī)技術(shù),使得用Visual BASIC編程能充分利用了這些最新的技術(shù),例如在多媒體方面的應(yīng)用、在Internet 方面的應(yīng)用等。總之,Visual BASIC是面向?qū)ο蟮?、結(jié)構(gòu)化的計(jì)算機(jī)語(yǔ)言。Visual B

20、ASIC的界面由一些對(duì)象組成,每個(gè)對(duì)象有若干個(gè)屬性、方法和事件,程序人員的任務(wù)是設(shè)計(jì)這些對(duì)象的事件處理過(guò)程。Visual BASIC是一種很容易學(xué)習(xí)并很快就可以熟練掌握的功能強(qiáng)大的編程語(yǔ)言。243 數(shù)據(jù)庫(kù)的選擇考試系統(tǒng)里有很多的地方需要存取數(shù)據(jù),為了能夠更好的組織數(shù)據(jù),并且使編碼更加的簡(jiǎn)單,決定使用數(shù)據(jù)庫(kù)技術(shù)來(lái)組織所有的數(shù)據(jù),包括題庫(kù)數(shù)據(jù)和考生在考試的時(shí)候的數(shù)據(jù)?,F(xiàn)在市場(chǎng)上主流的數(shù)據(jù)庫(kù)分為網(wǎng)路型的數(shù)據(jù)庫(kù)和桌面型的數(shù)據(jù)庫(kù)。網(wǎng)絡(luò)型的數(shù)據(jù)庫(kù)一般情況下使面向企業(yè)級(jí)的用戶,數(shù)據(jù)存儲(chǔ)比較的穩(wěn)定,而且安全,數(shù)據(jù)存儲(chǔ)的容量也非常的巨大。而桌面型的數(shù)據(jù)庫(kù)一般是面向一些中小型的用戶,他們的數(shù)據(jù)量不是非常的龐大,由

21、于一般情況下,不是通過(guò)網(wǎng)絡(luò)來(lái)存取的,所以速度相對(duì)來(lái)說(shuō)要快一點(diǎn),而且價(jià)格方面要便宜的多,缺點(diǎn)是數(shù)據(jù)安全性方面稍差。而本次畢業(yè)設(shè)計(jì)使用的數(shù)據(jù)庫(kù)Access2000更是微軟Office2000中的一個(gè)套件。為了減少成本,而且對(duì)于一個(gè)考場(chǎng)的考生來(lái)說(shuō)使用Access數(shù)據(jù)庫(kù)已經(jīng)足夠,而且減低了整個(gè)系統(tǒng)的造價(jià)。1 、 Access簡(jiǎn)介作為Microsoft的office套件產(chǎn)品之一,access已經(jīng)賣出了近900萬(wàn)份,成為世界上最流行的桌面數(shù)據(jù)庫(kù)系統(tǒng)。Access與許多優(yōu)秀的關(guān)系數(shù)據(jù)庫(kù)一樣,可以讓你很容易地連接相關(guān)的信息而且還對(duì)其他的數(shù)據(jù)庫(kù)系統(tǒng)有所補(bǔ)充。它能操作其它來(lái)源的資料,包括許多流行的PC數(shù)據(jù)庫(kù)程序(

22、如dBASE,Paradox,Microsoft FoxPro)和服務(wù)器、小型機(jī)、大型機(jī)上的許多SQL數(shù)據(jù)庫(kù)。Access還完全支持Microsoft的OLE技術(shù)。    Access還提供windows操作系統(tǒng)的高級(jí)應(yīng)用程序開發(fā)系統(tǒng)。Access與其它數(shù)據(jù)庫(kù)開發(fā)系統(tǒng)之間相當(dāng)顯著的區(qū)別就是:您不用寫一行代碼,就可以在很短的時(shí)間里開發(fā)出一個(gè)功能強(qiáng)大而且相當(dāng)專業(yè)的數(shù)據(jù)庫(kù)應(yīng)用程序,并且這一愉快的過(guò)程是完全可視的!如果您能給它加上簡(jiǎn)短的VBA代碼,那么您的程序決不比專業(yè)程序員潛心開發(fā)的程序差。2 、 Access的總體結(jié)構(gòu)    Access

23、將所有具有名字的東西都成為對(duì)象(object),在Access 2000中,最重要的對(duì)象有表,查詢,窗體,報(bào)表,宏和模塊。表 用戶定義的存儲(chǔ)資料的對(duì)象。每一個(gè)表都包含有關(guān)某個(gè)主體的信息。表包括存儲(chǔ)不同種類資料的字段(列),而記錄(行)則收集特定主體實(shí)例的所有信息。查詢 為來(lái)自一個(gè)或多個(gè)表的資料提供定制視圖的對(duì)象。在Access中,可以利用圖形化的實(shí)例查詢機(jī)制(QBE)或通過(guò)SQL語(yǔ)句來(lái)建立查詢。你可以在查詢中選擇、更新、插入或刪除資料,也可以用查詢來(lái)建立新表。窗體 窗體是主要的人機(jī)接口。大量的操作(幾乎所有)都要通過(guò)窗體完成。窗體通過(guò)運(yùn)行宏(macro)或Visual Basic for Ap

24、plicatinns(VBA)過(guò)程,來(lái)響應(yīng)大量的事件。Access 2000為我們提供了強(qiáng)大的(同時(shí)也是相當(dāng)方便的向?qū)В﹣?lái)建立標(biāo)準(zhǔn)的Windows窗體。報(bào)表 為格式化、計(jì)算、打印選定資料而設(shè)計(jì)的對(duì)象。它是衡量一個(gè)優(yōu)秀的數(shù)據(jù)庫(kù)的重要標(biāo)準(zhǔn)(有時(shí)甚至是唯一的標(biāo)準(zhǔn))。宏 為了響應(yīng)已定義的事件,需要讓Access去執(zhí)行一個(gè)或多個(gè)操作,而宏就是對(duì)這些操作的結(jié)構(gòu)化的定義對(duì)象。它可以讓你像堆積木一樣建立一個(gè)功能強(qiáng)大的程序,而無(wú)須寫大量的代碼。模塊 包括用VBA編碼的定制過(guò)程的一個(gè)對(duì)象。模塊提供了獨(dú)立的動(dòng)作流以捕獲錯(cuò)誤,而宏做不到。模塊能直接響應(yīng)窗體或報(bào)表事件,也可以從應(yīng)用程序的任何地方被調(diào)用。3 、為何要選擇

25、AccessAccess 功能強(qiáng)大,使用方便,是開發(fā)桌面數(shù)據(jù)庫(kù)的最優(yōu)秀的工具之一。如果你具有下面的情況,就應(yīng)該考慮選擇Access。1、 我要建立一個(gè)數(shù)據(jù)庫(kù)系統(tǒng),卻不愿因此而去系統(tǒng)地區(qū)學(xué)習(xí)編程。2 、我略懂編程,希望能夠建立一個(gè)專業(yè)的數(shù)據(jù)庫(kù)系統(tǒng)。3 、我精通C+,但我發(fā)現(xiàn)要用它做許多復(fù)雜的報(bào)表是一件令人頭疼的事。4 、我有大量的資料要處理,卻不會(huì)寫SQL語(yǔ)句。5 、我精通多種數(shù)據(jù)庫(kù)語(yǔ)言,但我希望工作更輕松一些。從上面的VB和Access的介紹后,我們知道如果使用這兩種軟件來(lái)開發(fā)是個(gè)比較不錯(cuò)的選擇,所以決定使用這兩個(gè)軟件進(jìn)行本次的開發(fā)和設(shè)計(jì)。第三章 功能設(shè)計(jì)在經(jīng)過(guò)系統(tǒng)的分析和設(shè)計(jì)后,我設(shè)計(jì)了這么

26、一個(gè)簡(jiǎn)化版本的考試系統(tǒng),功能圖如下:題庫(kù)維護(hù)模塊用戶登陸套號(hào)設(shè)置題庫(kù)內(nèi)容維護(hù)備選答案瀏覽退出系統(tǒng)抽題設(shè)置題庫(kù)內(nèi)容瀏覽備選答案維護(hù)考生考試模塊考生登陸考生答題考生交卷考試評(píng)分模塊考生瀏覽考生答題瀏覽考生成績(jī)?yōu)g覽考試評(píng)分模塊31 題庫(kù)維護(hù)模塊311 用戶登陸 由于題庫(kù)設(shè)置相當(dāng)?shù)闹匾?,試想如果誰(shuí)都能進(jìn)入該模塊進(jìn)行題庫(kù)操作的話,那么題庫(kù)將是非常的危險(xiǎn)的.所以有必要對(duì)登陸的人員進(jìn)行控制.312 退出系統(tǒng)退出系統(tǒng)。313 套號(hào)設(shè)置所謂一套試題,其實(shí)就是完整的一份試卷。之所以采取這種套來(lái)區(qū)分題庫(kù)里面的內(nèi)容,一個(gè)原因是為了管理方便,另外一個(gè)原因是為了后面的隨機(jī)抽題設(shè)計(jì)的,隨機(jī)抽題也是按照套來(lái)隨機(jī)抽題的。也就是

27、說(shuō)如果有三套,那么每回隨機(jī)抽卷就是在這三套里進(jìn)行抽取,當(dāng)然本系統(tǒng)也有指定一套進(jìn)行抽題的模式的。314 題庫(kù)內(nèi)容維護(hù)對(duì)于一道選擇題來(lái)說(shuō),是分為題目描述和備選答案兩個(gè)部分的,這里的題庫(kù)內(nèi)容維護(hù),只的就是題目描述的維護(hù),當(dāng)然也包括題目的正確答案輸入和分值的輸入。1 、 題目?jī)?nèi)容增加其實(shí)就是往題庫(kù)里增加一道題目。2 、 題目?jī)?nèi)容修改在錄入的過(guò)程中難免有錯(cuò)誤,該功能就是修改題目?jī)?nèi)容到數(shù)據(jù)庫(kù)中去。3 、 題目?jī)?nèi)容刪除當(dāng)題目錄入錯(cuò)誤的時(shí)候,或者是該題目不再使用的時(shí)候,就使用該功能,但是當(dāng)該題目?jī)?nèi)容下面已有備選答案設(shè)置的時(shí)候,本系統(tǒng)將不允許刪除該題目?jī)?nèi)容的.4 、 題庫(kù)內(nèi)容瀏覽當(dāng)題目編輯完畢的時(shí)候,可以使用該

28、功能對(duì)所有的題目進(jìn)行瀏覽。5 、備選答案維護(hù)每道選擇題都有備選答案,該功能就是維護(hù)備選答案的 備選答案增加針對(duì)某到題目?jī)?nèi)容,其實(shí)就是某道題目,增加一個(gè)備選題目。 備選答案修改備選答案錄入錯(cuò)誤,使用該功能進(jìn)行修改。備選答案刪除備選答案錄入錯(cuò)誤或者是備選答案不在需要的時(shí)候,可以使用該功能進(jìn)行刪除。但是如果該備選答案對(duì)應(yīng)的試題已經(jīng)在考試的過(guò)程中被抽到,將不能刪除該備選答案。6 、 備選答案瀏覽通過(guò)選擇題目來(lái)瀏覽它對(duì)應(yīng)的備選答案。7 、抽題設(shè)置由于本系統(tǒng)在考試的時(shí)候有兩種抽題模式,一種是由計(jì)算機(jī)從題庫(kù)里隨機(jī)抽取,也就是說(shuō)在場(chǎng)的考生可能使用的都是不同的試題。另外一種指定一套試題給考生考,也就是全場(chǎng)所有的

29、考生都是使用一套試題。如果選擇了使用一套試題的模式,則從題庫(kù)里選擇一套。32 考生考試模塊1 、 考生登陸每個(gè)考生登陸本系統(tǒng)必須得輸入考生的準(zhǔn)考證號(hào),在這里系統(tǒng)也將會(huì)驗(yàn)證登陸的考生是否已經(jīng)交過(guò)卷了,如果是已經(jīng)處于已經(jīng)交卷的狀態(tài),則將不能再次登陸到本系統(tǒng)進(jìn)行考試。2 、 考生答題考生使用該功能進(jìn)行考試加載系統(tǒng)抽取的或者是已經(jīng)指定的套數(shù)。 加載考生已經(jīng)做過(guò)的試題的考生答案。這樣可以防止考生在考生的過(guò)程中由于不可抗因素退出系統(tǒng)后,還可以繼續(xù)進(jìn)行答題,而不是完全重新開始答題??荚嚧鸢副4?自動(dòng)保存考生做過(guò)的答案顯示當(dāng)前的考生答題的位置,也就是做到哪一道了,總共有多少題。3 、 考生交卷本功能是考生答卷

30、的終點(diǎn),考生交卷了就保證該考生本次考試結(jié)束了,也就不能再次進(jìn)入進(jìn)行考試了。33 考試評(píng)分模塊1 、 考生瀏覽瀏覽所有的登陸本系統(tǒng)考試的考生,包括該考生的交卷狀態(tài),做的是哪一套試題。2 、考生答題瀏覽瀏覽該考生抽取的試題的具體內(nèi)容3 、 考生成績(jī)?yōu)g覽瀏覽該考生的每道題的對(duì)錯(cuò),還有得分情況。4 、考試評(píng)分使用該功能對(duì)考生進(jìn)行評(píng)分。第四章 數(shù)據(jù)庫(kù)設(shè)計(jì)經(jīng)過(guò)了上面的分析,我們現(xiàn)在已經(jīng)知道了我們系統(tǒng)的所有具有的功能,也就知道了系統(tǒng)需要存取些什么數(shù)據(jù)了,接下來(lái)我們進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì)。41 題庫(kù)主表該表存儲(chǔ)的是題目的主表信息,經(jīng)過(guò)分析,我們可以知道,一道選擇題只有一個(gè)題目?jī)?nèi)容(題目描述),一個(gè)答案,而會(huì)有多個(gè)的

31、備選答案,所以我們有必要把題目?jī)?nèi)容的存儲(chǔ)和備選答案分開來(lái)存儲(chǔ)。表的結(jié)構(gòu)如下:字段名字段類型備注ID自動(dòng)編號(hào)主關(guān)鍵字題目編號(hào)字符題目的唯一編號(hào)題目?jī)?nèi)容字符題目套號(hào)數(shù)字套的ID題目類型是/否是=多選題 否=單選題題目答案字符題目分值數(shù)字題目備注字符42 題目明細(xì)存儲(chǔ)題目的備選答案,正好是前面題庫(kù)主表的從表。表的結(jié)構(gòu)如下:字段名稱字段類型備注ID自動(dòng)編號(hào)主關(guān)鍵字題目編號(hào)字符題目編碼字符A,B,C,D等等備選答案字符備選答案的內(nèi)容題目備注字符43 套號(hào)存儲(chǔ)套號(hào)的信息,自動(dòng)抽取的時(shí)候,就是從這個(gè)表里的ID來(lái)隨機(jī)抽取的,而題目主表里的套號(hào)也是來(lái)自該表的ID,表結(jié)構(gòu)如下:字段名稱字段類型備注ID自動(dòng)編號(hào)主關(guān)

32、鍵字套號(hào)名稱字符唯一索引44 題庫(kù)設(shè)置 在前面的功能設(shè)計(jì)中,我們知道本系統(tǒng)有兩種抽題的模式,而系統(tǒng)采取的模式就是存在這張表中的。表結(jié)構(gòu)如下:字段名稱字段類型備注ID自動(dòng)編號(hào)主關(guān)鍵字考試套號(hào)數(shù)字當(dāng)前的套號(hào),如果是0,表示,使用隨機(jī)的抽取,如果是其他的表示的是當(dāng)前的套號(hào)45 考生每次考生登陸的時(shí)候,系統(tǒng)是會(huì)記錄考生的信息,考生的考試套號(hào)的。而且還要驗(yàn)證該考生是否已經(jīng)交卷了,都是從該表里讀取數(shù)據(jù)的。該表結(jié)構(gòu)如下:字段名稱字段類型備注ID自動(dòng)編號(hào)主關(guān)鍵字準(zhǔn)考證號(hào)字符唯一索引考生姓名字符考試套號(hào)數(shù)字考生狀態(tài)字符未交卷、已交卷46 考生答案為了能夠了解考生的具體答題信息,并且在考生意外退出后能夠重新加載考

33、生的信息,我們需要記錄該考生的答案。表結(jié)構(gòu)如下:字段名稱字段類型備注ID自動(dòng)編號(hào)主關(guān)鍵字準(zhǔn)考證號(hào)字符題目編號(hào)字符考生答案字符47題庫(kù)主表在設(shè)計(jì)數(shù)據(jù)庫(kù)的時(shí)候,我們考慮到系統(tǒng)的可擴(kuò)展性和數(shù)據(jù)減少數(shù)據(jù)庫(kù)容量的考慮,經(jīng)常是采取分開幾張表存儲(chǔ)的方式,比如說(shuō)前面的題庫(kù)主表和備選答案的處理就是經(jīng)常采取的方式。所以我們要想得到所有的信息,或者說(shuō)是具體的信息,我們往往要借助視圖了,題庫(kù)主表就是采取視圖的方式顯示,該視圖的SQL 語(yǔ)句如下:SELECT 題庫(kù)主表.ID, 題庫(kù)主表.題目編號(hào), 題庫(kù)主表.題目?jī)?nèi)容, 題庫(kù)主表.題目套號(hào), IIf(題目類型=False,"單選題","多選

34、題") AS 類型, 題庫(kù)主表.題目答案, 題庫(kù)主表.題目分值, 題庫(kù)主表.題目備注 FROM 題庫(kù)主表;48 評(píng)分表該表是用來(lái)顯示學(xué)生的答題正確于否,以及做的試題是什么,還包括考生的自身信息,可以說(shuō)是一張非常重要的視圖了,該視圖的SQL語(yǔ)句如下:SELECT 題庫(kù)主表.*, 考生答案.考生答案, 考生答案.準(zhǔn)考證號(hào), IIf(考生答案=題目答案,"正確","錯(cuò)誤") AS 是否正確, IIf(考生答案=題目答案,題目分值,0) AS 得分FROM 題庫(kù)主表 INNER JOIN 考生答案 ON 題庫(kù)主表.題目編號(hào) = 考生答案.題目編號(hào);第五

35、章 系統(tǒng)實(shí)現(xiàn)在經(jīng)過(guò)了前面的功能設(shè)計(jì)之后,我們進(jìn)入到了我們的系統(tǒng)實(shí)現(xiàn)部分,也就是真正的代碼實(shí)現(xiàn)階段了。在經(jīng)過(guò)了前面的鋪墊工作以后,這里實(shí)現(xiàn)起來(lái)思路就相對(duì)來(lái)說(shuō)非常的清晰了。下面來(lái)分幾個(gè)重要的模塊來(lái)說(shuō)一下設(shè)計(jì)思路和實(shí)現(xiàn)方法,對(duì)于一些很顯示的我就不在說(shuō)明了51 ADO技術(shù)在本系統(tǒng)中我們用到了數(shù)據(jù)庫(kù)的技術(shù),在VB中,有很多的方法,可以訪問(wèn)數(shù)據(jù)庫(kù),比如比較原始比較底層 的 ODBC,專門為Access數(shù)據(jù)庫(kù)設(shè)計(jì)的DAO,還有專門為了遠(yuǎn)程設(shè)計(jì)的RDO。但是現(xiàn)在微軟的推崇的數(shù)據(jù)訪問(wèn)技術(shù)是ADO技術(shù)ADO(ActiveX Data Objects)Active數(shù)據(jù)對(duì)象。ADO設(shè)計(jì)為一種極為簡(jiǎn)單的格式,通過(guò)ODB

36、C的方法同數(shù)據(jù)庫(kù)接口??梢杂萌魏我环NODBC數(shù)據(jù)源,如:SQL Server、Oracle、Access、Excel、文本文件、圖形文件和無(wú)格式的數(shù)據(jù)文件。而且ADO訪問(wèn)數(shù)據(jù)庫(kù)的代碼非常的簡(jiǎn)單,而且很容易讓人理解。最重要的是他能夠訪問(wèn)不同的數(shù)據(jù)庫(kù)。如果代碼寫的質(zhì)量高的話,完全可以使用同一種代碼訪問(wèn)不同的數(shù)據(jù)庫(kù)。52 VB中的錯(cuò)誤處理系統(tǒng)運(yùn)行難免有錯(cuò)誤,比如說(shuō)系統(tǒng)的可使用內(nèi)容不夠了,即使我們的代碼沒(méi)有錯(cuò)誤,也將不能運(yùn)行,但是如果不能運(yùn)行就非法退出的話,我想對(duì)于客戶是不能接受的,至少也該來(lái)個(gè)系統(tǒng)內(nèi)存不足的提示,給客戶一些好的建議,我想客戶肯定會(huì)非常滿意的。不知不覺(jué)就會(huì)提高你產(chǎn)品的形象,必定顧客是上

37、帝,我們不可能一點(diǎn)都不顧客戶的感受。所以我們有必要在可能發(fā)生錯(cuò)誤的地方加上我們錯(cuò)誤處理代碼,來(lái)捕獲這種錯(cuò)誤了。VB的錯(cuò)誤代碼處理非常的簡(jiǎn)單,簡(jiǎn)單的來(lái)說(shuō),就是遇見錯(cuò)誤,忽略。另外一種是遇到錯(cuò)誤跳出執(zhí)行。我們來(lái)看看典型的兩種方式呀比如有如下的代碼:dim I as Integeron error goto Proc_Exit在這里發(fā)生了錯(cuò)誤,則會(huì)直接跳到Proc_Exit后面的代碼執(zhí)行,那么I=I+1就不執(zhí)行了I=I+1Proc_Exit:另外一段代碼:dim I as Integeron error Resume next在這里發(fā)生了錯(cuò)誤,繼續(xù)執(zhí)行I=I+1的代碼I=I+1兩種錯(cuò)誤處理方法都是有

38、不同的使用的地方的,就看我們?nèi)绾戊`活的掌握了。我在這個(gè)系統(tǒng)里主要采用的還是第一種的錯(cuò)誤處理。53 套號(hào)設(shè)置套號(hào)設(shè)置是一個(gè)基礎(chǔ)的設(shè)置,要想添加新的一份試卷,首先我們?cè)撌褂迷摴δ軄?lái)添加一個(gè)套的信息,我們?cè)O(shè)計(jì)了如下的界面:在文本框里輸入套號(hào)名稱后確定就可以在數(shù)據(jù)庫(kù)里添加該套號(hào)了,添加成功后,系統(tǒng)會(huì)自動(dòng)轉(zhuǎn)入下一個(gè)添加狀態(tài),也就是可以接著再添加套號(hào)。這里的代碼實(shí)現(xiàn)如下:其中確定按鈕的代碼如下:Private Sub Command1_Click()Dim rst As RecordsetOn Error GoTo Proc_Exit If Len(Text1) > 0 Then Set rst =

39、 New Recordset rst.Open "select * from 套號(hào)", pCN, adOpenStatic, adLockBatchOptimistic rst.AddNew rst!套號(hào)名稱 = Text1 rst.UpdateBatch Text1 = "" End IfProc_Exit: If Err.Number <> 0 Then If Err.Number = -2147467259 Then MsgBox "套號(hào)名稱不能重復(fù)!", vbInformation Else MsgBox &quo

40、t;發(fā)生意外錯(cuò)誤,錯(cuò)誤號(hào):" & Err.Number & " 錯(cuò)誤描述:" & Err.Description, vbInformation End If Err.Clear End IfEnd Sub在本段代碼里,我就運(yùn)用了錯(cuò)誤處理的代碼。由于套號(hào)名稱是唯一的,所以當(dāng)用戶添加同樣的套號(hào)名稱的時(shí)候,就會(huì)發(fā)生錯(cuò)誤,從上面的代碼我們知道,這時(shí)候的錯(cuò)誤代碼就是2147467259。我們捕獲了該錯(cuò)誤,然后對(duì)用戶進(jìn)行提示。最后把該錯(cuò)誤清除了。而發(fā)生其他的錯(cuò)誤時(shí)候,我們就把錯(cuò)誤給顯示出來(lái),這樣非常的有利于我們來(lái)維護(hù)使用我們的系統(tǒng)。54 題庫(kù)內(nèi)容維護(hù)和

41、備選答案維護(hù)在前面的設(shè)計(jì)的時(shí)候我們已經(jīng)知道餓了題庫(kù)內(nèi)容和備選答案正好是主表和子表的關(guān)系,所以有必要把這幾個(gè)模塊一起處理的。所以我設(shè)計(jì)了一個(gè)典型的主表和子表的瀏覽界面如下:上面的表格就是題目的內(nèi)容部分,下面的表格就是該道試題的備選答案的內(nèi)容。而上面表格列出是哪套試題,取決于在組合框里選擇的是哪一套試題了。我們來(lái)了解一下這里的代碼實(shí)現(xiàn)了,為了充分發(fā)揮VB的RAD開發(fā)工具的優(yōu)勢(shì),我們這里采取了數(shù)據(jù)綁定來(lái)顯示數(shù)據(jù)和更新數(shù)據(jù),整個(gè)代碼就顯的非常的簡(jiǎn)單了:首先我們?cè)诖绑w加載的時(shí)候,我們要加載界面的顯示內(nèi)容,我們可以在Form的Load事件里進(jìn)行這些初始化工作的。比如加載題庫(kù)套號(hào)數(shù)據(jù),然后加載該套試題的數(shù)據(jù)

42、。Private Sub Form_Load() Call InitSubjectSet Call InitSubjectEnd Sub'' 初始化組合框里的數(shù)據(jù)Private Sub InitSubjectSet()Dim rst As RecordsetDim i As Integer Set rst = New Recordset rst.LockType = adLockBatchOptimistic rst.CursorLocation = adUseClient rst.CursorType = adOpenStatic rst.ActiveConnection =

43、 pCN rst.Source = "select * from 套號(hào)" rst.Open For i = 1 To rst.RecordCount Me.Combo1.AddItem rst!套號(hào)名稱 Me.Combo1.ItemData(Me.Combo1.ListCount - 1) = rst!ID rst.MoveNext Next i If Combo1.ListCount > 0 Then Combo1.ListIndex = 0 End If Set rst = NothingEnd Sub根據(jù)選中的套號(hào)從數(shù)據(jù)庫(kù)里檢索出數(shù)據(jù),并且在題目?jī)?nèi)容的表格里進(jìn)行

44、顯示,代碼如下:Private Sub InitSubject() Me.Adodc1.ConnectionString = pCN.ConnectionString Me.Adodc1.RecordSource = "select * from 題庫(kù)主表 where 題目套號(hào)=" & Me.Combo1.ItemData(Me.Combo1.ListIndex) If Me.MSHFlexGrid1.Rows > 1 Then Me.MSHFlexGrid1.Row = 1 End If Call InitSubjectAnswerEnd Sub由于我們?cè)谶x

45、中上面表格的每道試題的時(shí)候,需要顯示下面的數(shù)據(jù),當(dāng)表格的選中的單元格發(fā)生改變的時(shí)候會(huì)發(fā)生RowColChange事件,所以我們把備選答案的顯示放在該事件里做,代碼如下:Private Sub MSHFlexGrid1_RowColChange() Call InitSubjectAnswerEnd SubPrivate Sub InitSubjectAnswer() If Me.MSHFlexGrid1.Rows > 1 Then Me.Adodc2.ConnectionString = pCN.ConnectionString Me.Adodc2.RecordSource = &quo

46、t;select * from 題目明細(xì) where 題目編號(hào)='" & Me.MSHFlexGrid1.TextMatrix(Me.MSHFlexGrid1.Row, 1) & "'" Else Me.MSHFlexGrid2.Rows = 1 End IfEnd Sub按上面的增加按鈕后我們就彈出如下的界面:該代碼里比較重要的代碼如下:留給外部窗體調(diào)用的時(shí)候的接口代碼:Public Function EditSubject(Optional ByVal lngID As Long = 0, Optional lngSubject

47、SetID As Long)Dim rst As Recordset mlngSubjectID = lngSubjectSetID mlngID = lngID mblnEdit = IIf(lngID > 0, True, False) If mblnEdit Then Set rst = New Recordset rst.Open "select * from 題庫(kù)主表 where ID=" & lngID, pCN, adOpenStatic, adLockBatchOptimistic Text3 = rst!題目編號(hào) If rst!題目類型 Th

48、en Option2.Value = True Else Option1.Value = True End If Text1 = rst!題目?jī)?nèi)容 Text4 = rst!題目分值 Text5 = rst!題目答案 Text2 = rst!題目備注 & "" Text3.BackColor = &H80000018 Text3.Locked = True Else Text3.BackColor = vbWhite Text3.Locked = False End If Set rst = Nothing Me.Show 1End Function保存代碼如

49、下Private Sub Command1_Click()Dim rst As RecordsetDim strTemp As StringDim i As IntegerOn Error GoTo Proc_Exit If Len(Text3) = 0 Then MsgBox "題目編號(hào)不為空!", vbInformation GoTo Proc_Exit End If If Len(Text1) = 0 Then MsgBox "題目?jī)?nèi)容不為空!", vbInformation GoTo Proc_Exit End If If Len(Text5)

50、= 0 Then MsgBox "題目答案不為空!", vbInformation GoTo Proc_Exit End If For i = 1 To Len(Text5) strTemp = Mid(Text5, i, 1) If Not (Asc(strTemp) >= 65 And Asc(strTemp) <= 90) And Not (Asc(strTemp) >= 97 And Asc(strTemp) <= 122) Then MsgBox "題目答案必須為字母!", vbInformation GoTo Proc

51、_Exit End If Next i Set rst = New Recordset If mblnEdit Then rst.Open "select * from 題庫(kù)主表 where ID=" & mlngID, pCN, adOpenStatic, adLockBatchOptimistic Else rst.Open "select * from 題庫(kù)主表", pCN, adOpenStatic, adLockBatchOptimistic rst.AddNew End If rst!題目編號(hào) = Text3 If Option1.V

52、alue Then rst!題目類型 = False Else rst!題目類型 = True End If rst!題目?jī)?nèi)容 = Text1 rst!題目分值 = Val(Text4) rst!題目答案 = UCase(Text5) rst!題目備注 = Text2 rst!題目套號(hào) = mlngSubjectID rst.UpdateBatch Text1 = "" Text2 = "" Text3 = "" Text4 = "" Text5 = "" mblnEdit = False Text3.BackColor = vbWhite Text3.Locked = FalseProc_Exit: Set rst = Nothing If Err.Number <> 0 Then If Err.Number = -2147467259

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論