版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> –––––––––––––––––摘 要–––––––––––––––––</p><p> 學(xué)生信息管理系統(tǒng)是典型的信息管理系統(tǒng) (MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。</p><p> 經(jīng)過分析,我們使用MI
2、CROSOFT公司的VISUAL BASIC開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。</p><p> 關(guān)鍵字:控件、窗體、域、數(shù)據(jù)庫。</p><p> –––––––––––––––––前 言––––––––––
3、–––––––</p><p> 隨著學(xué)校的規(guī)模不斷擴(kuò)大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成倍增長。面對龐大的信息量需要有學(xué)生管理系統(tǒng)來提高學(xué)生管理工作的效率。通過這樣的系統(tǒng)可以做到信息的規(guī)范管理、科學(xué)統(tǒng)計和快速查詢、修改、增加、刪除等,從而減少管理方面的工作量。</p><p> 本系統(tǒng)主要用于學(xué)校學(xué)生信息管理,總體任務(wù)是實現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動化,其主要任務(wù)是
4、用計算機(jī)對學(xué)生各種信息進(jìn)行日常管理,如查詢、修改 、增加、刪除,另外還考慮到學(xué)生選課,針對這些要求設(shè)計了學(xué)生信息管理系統(tǒng)本系統(tǒng)主要用于學(xué)校學(xué)生信息管理,總體任務(wù)是實現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動化,其主要任務(wù)是用計算機(jī)對學(xué)生各種信息進(jìn)行日常管理,如查詢、修改 、增加、刪除,另外還考慮到學(xué)生選課,針對這些要求設(shè)計了學(xué)生信息管理系統(tǒng)。</p><p> 本系統(tǒng)主要包括學(xué)生信息查詢、教務(wù)信息維護(hù)和學(xué)生選課三部分
5、。其功能主要有:</p><p> ?、庇嘘P(guān)學(xué)籍等信息的輸入,包括輸入學(xué)生基本信息、所在班級、所學(xué)課程和成績等。</p><p> ?、矊W(xué)生信息的查詢,包括查詢學(xué)生基本信息、所在班級、已學(xué)課程和成績等。</p><p><b> ?、硨W(xué)生信息的修改。</b></p><p> ⒋班級管理信息的輸入,包括輸入班級設(shè)置、年
6、級信息等。</p><p> ?、蛋嗉壒芾硇畔⒌牟樵?。</p><p> ?、栋嗉壒芾硇畔⒌男薷?。</p><p> ?、穼W(xué)生課程的設(shè)置和修改。</p><p><b> 目 錄</b></p><p><b> 前言 </b></p><p&
7、gt; Visual Basic 概述 </p><p> Visual Basic 語言的特點</p><p> Visual Basic 系統(tǒng)幾個程序應(yīng)用中的常用名詞</p><p> Windows 下的Visual Basic 編程環(huán)境簡介</p><p> 2.1 面對對象的
8、編程</p><p> 2.2 實現(xiàn)菜單選項</p><p><b> 2.3 實現(xiàn)工具欄</b></p><p> 怎樣開發(fā)一個學(xué)生信息管理系統(tǒng)的查詢模塊</p><p> 3.1 學(xué)生信息系統(tǒng)的設(shè)計分析</p><p> 3.2 編程環(huán)境的選擇</p><p>
9、; 3.3 關(guān)系型數(shù)據(jù)庫的實現(xiàn)</p><p> 3.4 二者的結(jié)合(DBA)</p><p> 使用Access2000 創(chuàng)建數(shù)據(jù)庫</p><p> 4.1 數(shù)據(jù)庫的概念</p><p> 4.2 新建一個數(shù)據(jù)庫</p><p> 4.3 修改已建的數(shù)據(jù)庫</p><p><
10、;b> 可行性分析</b></p><p><b> 系統(tǒng)總體規(guī)劃</b></p><p><b> 6.1 系統(tǒng)功能</b></p><p><b> 6.2 系統(tǒng)流程圖</b></p><p><b> 系統(tǒng)具體實現(xiàn)</b>
11、</p><p> 7.1 各功能的實現(xiàn)</p><p> 7.1.1 課程管理</p><p> 7.1.2 打印統(tǒng)計</p><p><b> 結(jié)束語</b></p><p><b> 后記</b></p><p><b>
12、主要參考文獻(xiàn)</b></p><p> Visual Basic 概述</p><p> 1.1 Visual Basic 語言的特點 </p><p> Visual Basic 語言用其設(shè)計應(yīng)用程序時具有兩個基本特點:可視化設(shè)計和事件驅(qū)動編程。</p><p> 可視化設(shè)計:表現(xiàn)在VB在設(shè)計應(yīng)用于程序界面時有“所見即所
13、得”的處理功能。</p><p> 事件驅(qū)動編程:在設(shè)計應(yīng)用程序時,把對象添加到窗體中,在用戶與程序進(jìn)行交互時,用戶基本上是通過鼠標(biāo)、鍵盤與應(yīng)用程序進(jìn)行交互的,那些對象就必須對鼠標(biāo)和鍵盤操作所引發(fā)的事件做出響應(yīng),來執(zhí)行一段應(yīng)用程序。</p><p> 1.2 Visual Basic 系統(tǒng)幾個在程序應(yīng)用中的常用名詞</p><p> Visual Basic
14、系統(tǒng)除了一般高級語言所具有的一些名詞術(shù)語外,還有幾個系統(tǒng)常用的名詞。其基本含義如下:</p><p><b> 視窗(Form)</b></p><p> 視窗是進(jìn)行人機(jī)交互的界面或接口,也叫窗體。VB系統(tǒng)的人機(jī)交互界面或接口,無論是在設(shè)計時或是在運(yùn)行時,都是Windows 系統(tǒng)的標(biāo)準(zhǔn)視窗。</p><p> 對象 (Object)<
15、;/p><p> 對象是VB系統(tǒng)內(nèi)部提供給設(shè)計者可以直接使用的處理輸出的控制工具。本程序所應(yīng)用到的對象類型有標(biāo)簽框 (Label Box),文本框 (Text Box),命令按扭 (Command Button),網(wǎng)格 (Data Grid),ADO控件 (Adodc1)等。當(dāng)把這些工具放置到用戶界面對應(yīng)的窗體上時,被稱為對象或控件。用戶可以通過設(shè)置對象的“屬性”和“方法”,便于對象適應(yīng)自己所設(shè)計應(yīng)用程序的輸入輸出
16、內(nèi)容,對象的生成過程及結(jié)構(gòu)都被封裝起來。正確使用對象可以減少程序和開發(fā)時間,提高程序設(shè)計者的工作效率。</p><p> 屬性 (Properties)</p><p> 屬性是VB系統(tǒng)提供的有關(guān)對象的參數(shù)或數(shù)據(jù)接口。用戶通過適當(dāng)?shù)卦O(shè)置或改變對象的屬性來確定對象的外觀及性能特征,從而有效地使用系統(tǒng)提供的對象。比如,對象的名稱、在屏幕上顯示的位置、大小、顏色、接收或容納的數(shù)據(jù)內(nèi)容及數(shù)據(jù)的
17、表現(xiàn)格式等。</p><p> 事件 (Events)</p><p> 事件是指用戶或操作者對計算機(jī)進(jìn)行的某一操作(如擊鍵、單擊或移動鼠標(biāo)等)的行為或系統(tǒng)狀態(tài)發(fā)生的變化。VB系統(tǒng)常用事件來引導(dǎo)計算機(jī)執(zhí)行一段程序。程序所用的鍵盤事件有KeyPress(按鍵)事件,KeyDown事件和KeyUp事件;鼠標(biāo)事件有Click(單擊鼠標(biāo))事件,DbDlicd(雙擊鼠標(biāo))。</p>
18、<p> 方法 (Method)</p><p> 方法主要是指對一個對象使用某種作用的過程。它是在程序執(zhí)行的過程中要計算機(jī)執(zhí)行的某種操作。其程序的方法有Show(顯示)方法,Hide(隱藏)方法,Refresh(刷新)方法。</p><p> 過程 (Procedure)</p><p> 過程是指經(jīng)過定義或說明的,或基于某一對象對應(yīng)的事件所引
19、發(fā)的程序段。</p><p> 模塊 (Module)</p><p> 模塊是指一些運(yùn)算量或過程進(jìn)行聲明或定義的一個集合。系統(tǒng)程序大體可分成四個模塊:數(shù)據(jù)輸入、根據(jù)查詢、數(shù)據(jù)打印和通訊。 </p><p> 第二章 Windows下的Visual Basic 編程環(huán)境簡介</p><p> 2.1 面對對象的編程</p>
20、<p> 面向?qū)ο蟮脑O(shè)計方法 (OOP, Objected Programming) 從應(yīng)用領(lǐng)域內(nèi)的問題著手,以直觀自然的方式描述客觀世界的實體。Visual Basic 作為一種面向?qū)ο蟮木幊谭椒?,把程序和?shù)據(jù)封裝起來作為一個對象,并為每個對象賦予相應(yīng)的屬性。在設(shè)計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上,由 Visual Basic 自動生成對象的程序代碼并封裝起來。Visual Basic
21、 應(yīng)用程序基本的構(gòu)建塊是用戶所創(chuàng)建的對象,每一個對象都具有一些特性和行為(屬性、事件和方法)。開發(fā)人員可以最有效利用所創(chuàng)建的每一個對象。使用應(yīng)用程序具有可通用性可說擴(kuò)展性和強(qiáng)有力的功能。</p><p> Visual Basic 應(yīng)用由一系列對象組成,包括有函數(shù)、菜單、函數(shù)、結(jié)構(gòu)和數(shù)據(jù)窗口、用戶對象、用戶事件等等,對象中又包含若干控件如命令按鈕、單行編輯器等這些對象和控件都可在許多應(yīng)用中重復(fù)使用。</p
22、><p> 2.2 實現(xiàn)菜單選項</p><p> 菜單是程序最重要的特性之一,大多數(shù)程序都依賴一個定義良好的菜單使程序易于使用和維護(hù),Visual Basic 也提供了強(qiáng)大的創(chuàng)建菜單功能是程序更加標(biāo)準(zhǔn)。</p><p> 本系統(tǒng)使用 Visual Basic 的菜單編輯器建立菜單或者修改已經(jīng)存在的菜單,您也可以使用Visual Basic 的Applicatio
23、n Wizard 來操作。</p><p><b> 2.3 實現(xiàn)工具欄</b></p><p> CoolBar控件與Office2000 中看到的CoolBar是類似的。CoolBar就是一個可以在窗體上浮動的工具,同時也是其他ActiveX的容器。通過在CoolBar中遷入其他空間你也可以向用戶提供更好的靈活性和義用性。</p><p&g
24、t; 選擇“工程”下拉菜單中的“部件”選項,顯示“部件”對話框。在“控件”選項卡列表中選擇“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。</p><p> 本系統(tǒng)就用了Cool工具中的Statubar控件,在系統(tǒng)這一界面中,添加了狀態(tài)欄,在第一個欄中,在樣式這一欄中選擇了文本,在第二個欄中,選擇了系統(tǒng)日期,第三個欄中選擇了系統(tǒng)時間,這樣,任何時候操作本系統(tǒng)
25、,都可以看到當(dāng)前的時間和日期。</p><p> 第三章 怎樣開發(fā)一個學(xué)生信息管理系統(tǒng)的查詢模塊?</p><p> 3.1查詢模塊的設(shè)計分析</p><p> 根據(jù)實際情況,我們使用原型法(Rapid Prototyping) 即以少量代價快速地構(gòu)造一個可執(zhí)行的軟件模型。使用戶可以較快地確定需求,然后采用循環(huán)進(jìn)化的開發(fā)方式,對系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具
26、備的性質(zhì)逐漸增加上去,直到所有的性質(zhì)全部滿足。此時模塊也發(fā)展成為最終產(chǎn)品了。</p><p> 3.2編程環(huán)境的選擇</p><p> 微軟公司的Visual Basic 6.0是Windows應(yīng)用程序開發(fā)工具,使目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_發(fā)工具。Visual Basic提供了大量的控件,這些控件可用于設(shè)計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設(shè)計過程,從
27、而有效的提高了應(yīng)</p><p> 用程序的運(yùn)行效率和可靠性。故而,實現(xiàn)本系統(tǒng)VB是一個相對較好的選擇。</p><p> 3.3關(guān)系型數(shù)據(jù)庫的實現(xiàn)</p><p> Access2000就是關(guān)系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲和檢索。Access的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于Excel的電子表格
28、,可以使數(shù)據(jù)庫一目了然。另外,Access允許創(chuàng)建自定義報表用于打印或輸出數(shù)據(jù)庫中的信息。Access也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他用戶共享數(shù)據(jù)庫。Access 是一種關(guān)系數(shù)據(jù)庫工具,關(guān)系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述,Access作為關(guān)系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點,可以在一個數(shù)據(jù)包同時擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強(qiáng)大功能。</p><p>
29、3.4二者的結(jié)合(DBA)</p><p> 微軟的JET數(shù)據(jù)庫引擎提供了與數(shù)據(jù)庫打交道的途徑,我們是通過它以及Visual Basic來訪問數(shù)據(jù)庫并對其進(jìn)行各種操作。Visual Basic、Access以及其他微軟的軟件產(chǎn)品都是通過共用JET數(shù)據(jù)庫引擎,從而給用戶提供了豐富的數(shù)據(jù)類型。</p><p> ADODC控件在數(shù)據(jù)庫中的信息與將信息顯示給用戶看的Visual Basic
30、程序之間架起了一座橋梁。我們可以設(shè)置ADODC控件的各個屬性,告訴它要調(diào)用那個數(shù)據(jù)庫的哪個部分。缺省情況下,ADODC控件根據(jù)數(shù)據(jù)庫中的一個或多個數(shù)據(jù)庫表建立一個dynaset-type(動態(tài)集合)類型的記錄集合。一個記錄集合是動態(tài)的也就意味著,當(dāng)原來的數(shù)據(jù)表中的容改變了以后,該記錄集合中的記錄也會隨之改變。將ADODC控件放置在窗體中之后,我們還必須在該控件與要處理的數(shù)據(jù)庫之間建立聯(lián)系。</p><p> 第
31、四章 使用Access2000創(chuàng)建數(shù)據(jù)庫</p><p><b> 4.1數(shù)據(jù)庫的概念</b></p><p> 數(shù)據(jù)庫是一種存儲數(shù)據(jù)并對數(shù)據(jù)進(jìn)行操作的工具。數(shù)據(jù)庫的作用在于組織和表達(dá)信息,簡而言之,數(shù)據(jù)庫就是信息的集合。計算機(jī)的數(shù)據(jù)庫可以分為兩類:非關(guān)系數(shù)據(jù)庫(flat-file)和關(guān)系數(shù)據(jù)庫(relational)。關(guān)系數(shù)據(jù)庫中包含了多個數(shù)據(jù)表的信息,數(shù)據(jù)庫含
32、有各個不同部分的術(shù)語,象記錄、域等。</p><p> 4.2新建一個數(shù)據(jù)庫</p><p> 創(chuàng)建任何一個數(shù)據(jù)庫的第一步是仔細(xì)的規(guī)劃數(shù)據(jù)庫,設(shè)計必須是靈活的、有邏輯的。創(chuàng)建一個數(shù)據(jù)庫結(jié)構(gòu)的過程被認(rèn)為是數(shù)據(jù)模型設(shè)計。</p><p><b> 標(biāo)識需要的數(shù)據(jù);</b></p><p> 收集被子標(biāo)識的字段到表中;
33、</p><p><b> 標(biāo)識主關(guān)鍵字字段;</b></p><p><b> 規(guī)范數(shù)據(jù);</b></p><p> 標(biāo)識指定字段的信息;</p><p> 4.3修改已建的數(shù)據(jù)庫</p><p> 數(shù)據(jù)庫的修改分為;添加、編輯和刪除記錄。這三種操作均可由Visu
34、al Basic創(chuàng)建的程序來完成,下面的章節(jié)將詳細(xì)描述實現(xiàn)的具體方法。</p><p><b> 第五章 可行性分析</b></p><p> 學(xué)生信息,作為一個學(xué)校,就有一定的工作量存在,而學(xué)生信息,它的工作量可能是其它信息工作量的幾倍,班級的增加、班級的查找、班級的修改;學(xué)生檔案;課程管理;成績管理;繳費(fèi)管理;統(tǒng)計等等,每個信息的數(shù)據(jù)都在不斷地變化著,如果采用
35、人工的方式進(jìn)行操作,那么,一天的工作量,足以讓人覺得比較繁瑣,吃不消。針對這樣的情況,采用讓數(shù)據(jù)的查詢變得簡單化,數(shù)據(jù)變的更讓每個人都在任何時刻都可以了解到。</p><p> 學(xué)生信息管理系統(tǒng)是為本校開發(fā)的,本系統(tǒng)所采用的語言是Visual Basic,用Microsoft Access 2000數(shù)據(jù)庫完成。該系統(tǒng)總體有四部分組成,包括學(xué)生信息查詢、教務(wù)信息維護(hù)、學(xué)生選課及用戶管理。通過本系統(tǒng),把本校內(nèi)部查詢
36、學(xué)生信息、教務(wù)信息、學(xué)生選課各個環(huán)節(jié)進(jìn)行有效地計劃、組織和控制。通過本校內(nèi)部的信息,依據(jù)統(tǒng)一數(shù)據(jù)信息進(jìn)行管理,把任何一塊信息所產(chǎn)生的數(shù)據(jù)變動及時地反映給其它相關(guān)信息,做到數(shù)據(jù)共享。</p><p> 本系統(tǒng)主要信息流程為:教務(wù)信息維護(hù)接受學(xué)生的信息,學(xué)生信息查詢根據(jù)教務(wù)信息維護(hù)的學(xué)生信息做出對所接收的信息合理性進(jìn)行判斷,并交于信息維護(hù)進(jìn)行相應(yīng)的修改,再把信息存入數(shù)據(jù)庫中。學(xué)生選課是對學(xué)生進(jìn)行相應(yīng)選擇自己相關(guān)的課
37、程。最后進(jìn)行打印。</p><p> 采用本系統(tǒng),能夠使整個系統(tǒng)內(nèi)部所有信息的工作簡化,提高工作效益。由于采用統(tǒng)一的數(shù)據(jù)信息,使相關(guān)資料能夠快速地查詢所需的數(shù)據(jù)、資料及其它信息的,使信息快速高效運(yùn)行。</p><p> 本系統(tǒng)中使用到的數(shù)據(jù)表主要有班級表、成績表、繳費(fèi)表、課程表、學(xué)生檔案、用戶資料,由這六個表,組成了名為信息的數(shù)據(jù)庫(如圖一)。其中學(xué)生檔案是本系統(tǒng)主要的</p&g
38、t;<p><b> ?。▓D一)</b></p><p> 一張表,所有信息都是根據(jù)這張學(xué)生檔案進(jìn)行有關(guān)的操作,主要的字段有:學(xué)號、姓名、年級、專業(yè)、性別、出生年月、民族、籍貫、政治面貌、家庭地址、郵政編碼、聯(lián)系電話、入學(xué)時間、備注。其中日期的數(shù)據(jù)類型為日期/時間天型,其它的數(shù)據(jù)類型為文本型;成績表中字段為:學(xué)號、姓名、年級、專業(yè)、學(xué)期、考試時間、考試科目、考試地點、課程性質(zhì)
39、、科目分?jǐn)?shù)、違紀(jì)類型、備注;課程表中字段為:專業(yè)、年級、學(xué)期、課程名稱、教材、任課老師、課時、上課地點、課程性質(zhì)、考試性質(zhì);用戶資料中的字段包括:用戶名、密碼、身份。</p><p> 數(shù)據(jù)庫與VB的連接:本系統(tǒng)的數(shù)據(jù)鏈接采用的是ADO方法,打開控制面板,打開ODBC數(shù)據(jù)源圖標(biāo),選擇“系統(tǒng)DSN”標(biāo)簽,點擊“添加”按鈕,在彈出的“創(chuàng)建新數(shù)據(jù)源”對話框中選擇名稱為“Microsoft Access Drive(*
40、.mdb)”,點擊“完成”按鈕,在ODBC Microsoft Access 安裝對話框中在數(shù)據(jù)源名中輸入信息,在數(shù)據(jù)庫這個框中, 單擊“選擇”按鈕,在彈出的選擇數(shù)據(jù)庫這一對話框架中,在驅(qū)動器下拉列表框中選擇本系統(tǒng)數(shù)據(jù)庫所在驅(qū)動器,在目錄中選擇庫所在的文件夾,在文件類型中選擇選“Access數(shù)據(jù)庫(*.mdb)”,在數(shù)據(jù)庫名中選擇本系統(tǒng)的數(shù)據(jù)庫,點擊“確定”按鈕即完成數(shù)據(jù)鏈接。</p><p> 在VB中,用A
41、DODC鏈接數(shù)據(jù)庫,用DataGrid或DATA將庫中的數(shù)據(jù)在界面中顯示出來,本系統(tǒng)采用DataGrid。在界面上右擊Adodc控制,在彈出的快捷菜單中選擇屬性,在屬性對話框中,在“屬性”這一標(biāo)簽中, 選中單選框“Use ODBC Data Source Name”,并在下拉文本框中選擇已經(jīng)配置好的數(shù)據(jù)源名信息,再在“RecordSoure”標(biāo)簽中,在Commard Text(SQL)文本框中輸入查詢語句,如:select * from
42、 學(xué)生檔案。同時,將桌面的DataGrid控件選中,在屬性框中,將它的Datasoure設(shè)為Adodc。</p><p> 我們可以設(shè)置DataGrid控件的外觀:選中該控件,右擊,在彈出的快捷菜單中選擇“檢索字段”,在彈出的對話框中單擊“確定”,這時,表格中出現(xiàn)了表的字段。然后再右擊,同樣,在彈出的快捷菜單中選擇“編輯”,我們就可以所在的表格的寬度進(jìn)行調(diào)整。</p><p> 第六章
43、 系統(tǒng)(查詢模塊)總體規(guī)劃</p><p> 6.1系統(tǒng)功能(查詢模塊)</p><p><b> 查詢信息的情況;</b></p><p> 判斷信息是否符合要求;</p><p> 將符合條件的信息進(jìn)行打印;</p><p><b> 6.2流程圖</b><
44、;/p><p> 第七章 系統(tǒng)具體實現(xiàn)</p><p><b> 7.1各功能的實現(xiàn)</b></p><p> 7.1.1課程管理:課程設(shè)置(如:界面如圖二)</p><p><b> ?。▓D二)</b></p><p> 運(yùn)行程序后,進(jìn)入課程管理模塊,課程管理模塊的第一
45、塊是課程設(shè)置,在這模塊中可以把專業(yè)、年級、學(xué)期、課程名稱、教材、任課老師、課時、上課地點、課程性質(zhì)和考試性質(zhì)等信息輸入,以便使用。</p><p><b> 下面為其代碼:</b></p><p> Private Sub Command1_Click()</p><p> Dim myCon As New ADODB.Connectio
46、n</p><p> Dim myRs As New ADODB.Recordset</p><p> Dim ZhuanYe, NianJi, XueQi, KeCheng, JiaoCai, RenKLS, KeShi, ShangKeDD, KeChengXZ, KaoShiXZ As String</p><p> ZhuanYe = Text1.Te
47、xt</p><p> NianJi = Text2.Text</p><p> XueQi = DTPicker1.Value</p><p> KeCheng = Text4.Text</p><p> JiaoCai = Text5.Text</p><p> RenKLS = Text6.Text&l
48、t;/p><p> KeShi = Text7.Text</p><p> ShangKeDD = Text8.Text</p><p> KeChengXZ = Combo1.Text</p><p> KaoShiXZ = Combo2.Text</p><p> If Trim(ZhuanYe) = &qu
49、ot;" Or Trim(NianJi) = "" Or Trim(XueQi) = "" Or Trim(KeCheng) = "" Or Trim(JiaoCai) = "" Or Trim(RenKLS) = "" Or Trim(KeShi) = "" Or Trim(ShangKeDD) = &qu
50、ot;" Or Trim(KeChengXZ) = "" Or Trim(KaoShiXZ) = "" Then</p><p> MsgBox "請?zhí)顚懸薷恼n程資料的內(nèi)容!"</p><p> Combo1.Text = ""</p><p> Combo2.Text
51、 = ""</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> myCon.Open "dsn=信息"</p><p> myRs.Open "select * from 課程
52、表 where 專業(yè)='" & Text1.Text & "'", myCon, 3, 2</p><p> myRs!年級 = Text2.Text</p><p> myRs!學(xué)期 = DTPicker1.Value</p><p> myRs!課程名稱 = Text4.Text</p&g
53、t;<p> myRs!教材 = Text5.Text</p><p> myRs!任課老師 = Text6.Text</p><p> myRs!課時 = Text7.Text</p><p> myRs!上課地點 = Text8.Text</p><p> myRs!課程性質(zhì) = Combo1.Text</p
54、><p> myRs!考試性質(zhì) = Combo2.Text</p><p> myRs.Update</p><p> myRs.Close</p><p> myCon.Close</p><p> MsgBox "您確定要修改嗎?", vbYesNo, "提示"<
55、/p><p> Frm_UpdateGrean.Adodc1.Refresh</p><p> Frm_UpdateGrean.DataGrid1.Refresh</p><p> Text1.Text = ""</p><p> Text2.Text = ""</p><p&g
56、t; 'Text3.Text = ""</p><p> Text4.Text = ""</p><p> Text5.Text = ""</p><p> Text6.Text = ""</p><p> Text7.Text = "
57、"</p><p> Text8.Text = ""</p><p> Combo1.Text = ""</p><p> Combo2.Text = ""</p><p><b> End Sub</b></p><p&g
58、t; Private Sub Command2_Click()</p><p><b> Unload Me</b></p><p><b> End Sub</b></p><p> Private Sub Command3_Click()</p><p><b> Unloa
59、d Me</b></p><p> Frm_FindGrean.Show 1</p><p><b> End Sub</b></p><p> Private Sub DataGrid1_Click()</p><p> 'Frm_UpdateGrean.Adodc1.RecordSourc
60、e = "select * from 課程表 where 專業(yè) = '" & Trim(DataGrid1.Row) & "'"</p><p> 'Text1.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("專業(yè)")</p><p> &
61、#39;Text2.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("年級")</p><p> 'Text3.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("學(xué)期")</p><p> 'Text4.Text = Frm_UpdateG
62、rean.Adodc1.Recordset.Fields("課程名稱")</p><p> 'Text5.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("教材")</p><p> 'Text6.Text = Frm_UpdateGrean.Adodc1.Recordset.Fiel
63、ds("任課老師")</p><p> 'Text7.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("課時")</p><p> 'Text8.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("上課地點")</p
64、><p> 'Combo1.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("課程性質(zhì)")</p><p> 'Combo2.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("考試性質(zhì)")</p><p><b&g
65、t; End Sub</b></p><p> Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)</p><p><b> End
66、Sub</b></p><p> Private Sub Form_Activate()</p><p> Frm_FindGrean.Adodc1.RecordSource = strTiaoJian</p><p> Frm_FindGrean.Adodc1.Refresh</p><p> Set DataGrid1
67、.DataSource = Frm_FindGrean.Adodc1</p><p><b> End Sub</b></p><p> Private Sub Form_Load()</p><p> Combo1.AddItem ("必修")</p><p> Combo1.AddItem
68、 ("選修")</p><p> Combo1.AddItem ("自開")</p><p> Combo2.AddItem ("考試")</p><p> Combo2.AddItem ("查考")</p><p> Text1.Text = "
69、;"</p><p> Text2.Text = ""</p><p> 'Text3.Text = ""</p><p> Text4.Text = ""</p><p> Text5.Text = ""</p><
70、p> Text6.Text = ""</p><p> Text7.Text = ""</p><p> Text8.Text = ""</p><p> Combo1.Text = ""</p><p> Combo2.Text = "
71、"</p><p><b> End Sub</b></p><p> Private Sub Text1_Change()</p><p><b> End Sub</b></p><p> Private Sub Text2_Change()</p><p&
72、gt;<b> End Sub</b></p><p> Private Sub Text8_Change()</p><p><b> End Sub</b></p><p> 課程管理:課程查詢(如:界面如圖三)</p><p><b> ?。▓D三)</b><
73、/p><p> 當(dāng)輸入查詢類別、運(yùn)算符和條件后可以查找到所需要的課程設(shè)置,或按查詢時間來查詢,輸入所要查找的時間段,就可查到所要的課程設(shè)置。</p><p><b> 代碼如下:</b></p><p> Dim sqlstr As String</p><p> Private Sub Combo1_Change(
74、)</p><p><b> End Sub</b></p><p> Private Sub Combo2_Change()</p><p><b> End Sub</b></p><p> Private Sub Combo4_Change()</p><p>
75、<b> End Sub</b></p><p> Private Sub Combo5_Change()</p><p><b> End Sub</b></p><p> Private Sub Combo7_Change()</p><p><b> End Sub<
76、/b></p><p> Private Sub Command1_Click()</p><p> Dim a As String</p><p> Dim KCCX1 As String</p><p> Dim KCCX2 As String</p><p> Dim str1 As String
77、</p><p> Dim str2 As String</p><p> If Option3.Value = True Then</p><p> a = Trim(Combo2)</p><p> Select Case a</p><p><b> Case "="<
78、;/b></p><p> KCCX1 = "" & Combo1.Text & " " & Combo2.Text & " '" & Trim(Text1) & "'"</p><p> Case "like"<
79、;/p><p> KCCX1 = "Instr(1," & Combo1.Text & ",'" & Trim(Text1.Text) & "')<>0 "</p><p> End Select</p><p> a = Trim(Combo4
80、)</p><p> Select Case a</p><p><b> Case "="</b></p><p> KCCX2 = "" & Combo3.Text & " " & Combo4.Text & " '"
81、; & Trim(Text2) & "'"</p><p> Case "like"</p><p> KCCX2 = "Instr(1," & Combo3.Text & ",'" & Trim(Text2.Text) & "
82、9;)<>0 "</p><p> End Select</p><p> If Option1.Value = True Then</p><p> If KCCX1 = "" Then</p><p> strTiaoJian = "select * from 課程表 where
83、 " & KCCX2</p><p> ElseIf KCCX2 = "" Then</p><p> strTiaoJian = "select * from 課程表 where " & KCCX1</p><p><b> Else</b></p><
84、;p> strTiaoJian = "select * from 課程表 where " & KCCX1 & "and " & KCCX2</p><p><b> End If</b></p><p> ElseIf Option2.Value = True Then</p>
85、<p> If KCCX1 = "" Then</p><p> strTiaoJian = "select * from 課程表 where " & KCCX2</p><p> ElseIf KCCX2 = "" Then</p><p> strTiaoJian = &quo
86、t;select * from 課程表 where " & KCCX1</p><p><b> Else</b></p><p> strTiaoJian = "select * from 課程表 where " & KCCX1 & "or " & KCCX2</p>
87、<p><b> End If</b></p><p><b> Else</b></p><p> If KCCX1 = "" Then</p><p> strTiaoJian = "select * from 課程表 where " & KCCX2&
88、lt;/p><p> ElseIf KCCX2 = "" Then</p><p> strTiaoJian = "select * from 課程表 where " & KCCX1</p><p><b> Else</b></p><p> MsgBox "
89、;請選擇連接方式!", vbOKOnly, "警告"</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p><b> End If</b></p><p> If (KCCX1
90、& KCCX2) = "" Then</p><p> MsgBox "請輸入查詢類別!", vbOKOnly, "警告"</p><p><b> Exit Sub</b></p><p><b> Else</b></p><
91、p><b> Unload Me</b></p><p> Frm_UpdateGrean.Show 1</p><p><b> End If</b></p><p><b> End If</b></p><p> If Option4.Value = Tr
92、ue Then</p><p> If Val(Combo6) > Val(Combo9) Then</p><p> MsgBox "請正確選擇年份!", vbOKOnly + vbExclamation, "信息提示"</p><p> Combo6.SetFocus</p><p>&
93、lt;b> Exit Sub</b></p><p><b> Else</b></p><p> If Val(Combo6) = Val(Combo9) Then</p><p> If Val(Combo7) > Val(Combo10) Then</p><p> MsgBox
94、"請正確選擇月份!", vbOKOnly + vbExclamation, "信息提示"</p><p> Combo7.SetFocus</p><p><b> Exit Sub</b></p><p><b> Else</b></p><p>
95、 If Val(Combo7) = Val(Combo10) Then</p><p> If Val(Combo8) > Val(Combo11) Then</p><p> MsgBox "請正確選擇日期!", vbOKOnly + vbExclamation, "信息提示"</p><p> Combo8.S
96、etFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p><b> End If</b></p><p><b> End If</b></p><p&g
97、t;<b> End If</b></p><p><b> End If</b></p><p> If Combo6.Text = "" Or Combo7.Text = "" Or Combo8.Text = "" Or Combo9.Text = ""
98、Or Combo10.Text = "" Or Combo11.Text = "" Then</p><p> MsgBox "請輸入完整的日期", vbOKOnly, "警告"</p><p><b> Exit Sub</b></p><p><b&g
99、t; End If</b></p><p> str1 = Trim(Combo6) & "-" & Trim(Combo7) & "-" & Trim(Combo8)</p><p> str2 = Trim(Combo9) & "-" & Trim(Combo1
100、0) & "-" & Trim(Combo11)</p><p> str1 = Format(str1, "yyyy-mm-dd")</p><p> str2 = Format(str2, "yyyy-mm-dd")</p><p> If sqlstr = ""
101、; Then</p><p> sqlstr = "" & Trim(Combo5.Text) & ">=#" & Format(str1, "yyyy-mm-dd") & "# and " & Trim(Combo5.Text) & "<= #" &a
102、mp; Format(str2, "yyyy-mm-dd") & "#"</p><p><b> Else</b></p><p> sqlstr = sqlstr & " and " & Trim(Combo5.Text) & ">=#" &a
103、mp; Format(str1, "yyyy-mm-dd") & "# and " & Trim(Combo5.Text) & "<= #" & Format(str2, "yyyy-mm-dd") & "#"</p><p><b> End If<
104、;/b></p><p> If sqlstr = "" Then</p><p> MsgBox "請先輸入查找時間!"</p><p><b> Exit Sub</b></p><p><b> End If</b></p>
105、<p> strTiaoJian = "select 專業(yè),年級,學(xué)期,課程名稱,教材,任課老師,課時,上課地點,課程性質(zhì),考試性質(zhì) from 課程表 where " & sqlstr</p><p><b> Unload Me</b></p><p> Frm_UpdateGrean.Show 1</p>
106、<p><b> End If</b></p><p> If Option3.Value <> True And Option4.Value <> True Then</p><p> MsgBox "請選擇查詢方式!", vbOKOnly, "警告"</p><p&
107、gt;<b> Exit Sub</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub Command3_Click()</p><p><b> Unload M
108、e</b></p><p><b> End Sub</b></p><p> Private Sub Form_Load()</p><p> Dim i, j As Integer</p><p> For i = 1999 To 2010</p><p> Combo6
109、.AddItem i</p><p> Combo9.AddItem i</p><p><b> Next i</b></p><p> Combo6.ListIndex = 0</p><p> Combo9.ListIndex = 0</p><p> For i = 1 To 1
110、2</p><p> Combo7.AddItem i</p><p> Combo10.AddItem i</p><p><b> Next i</b></p><p> Combo7.ListIndex = 0</p><p> Combo10.ListIndex = 0</
111、p><p> For i = 1 To 31</p><p> Combo8.AddItem i</p><p> Combo11.AddItem i</p><p><b> Next i</b></p><p> Combo8.ListIndex = 0</p><p
112、> Combo11.ListIndex = 0</p><p> Combo1.AddItem ("專業(yè)")</p><p> Combo1.AddItem ("年級")</p><p> Combo1.AddItem ("課程名稱")</p><p> Combo1
113、.AddItem ("教材")</p><p> Combo1.AddItem ("任課老師")</p><p> 'Combo1.AddItem ("課時")</p><p> Combo1.AddItem ("課程性質(zhì)")</p><p> C
114、ombo1.AddItem ("考試性質(zhì)")</p><p> Combo2.AddItem ("=")</p><p> Combo3.AddItem ("專業(yè)")</p><p> Combo3.AddItem ("年級")</p><p> Comb
115、o3.AddItem ("課程名稱")</p><p> Combo3.AddItem ("教材")</p><p> Combo3.AddItem ("任課老師")</p><p> 'Combo3.AddItem ("課時")</p><p>
116、 Combo3.AddItem ("課程性質(zhì)")</p><p> Combo3.AddItem ("考試性質(zhì)")</p><p> Combo4.AddItem ("=")</p><p> Combo5.AddItem ("學(xué)期")</p><p>
117、Combo1.Text = ""</p><p> Combo2.Text = ""</p><p> Text1.Text = ""</p><p> Combo3.Text = ""</p><p> Combo4.Text = ""
118、;</p><p> Text2.Text = ""</p><p> Combo5.Text = ""</p><p> Combo6.Text = ""</p><p> Combo7.Text = ""</p><p> C
119、ombo8.Text = ""</p><p> Combo9.Text = ""</p><p> Combo10.Text = ""</p><p> Combo11.Text = ""</p><p><b> End Sub</b&
120、gt;</p><p> 7.1.2 打印統(tǒng)計</p><p> 運(yùn)行打印統(tǒng)計后可以按條件把符合條件的各種信息以報表形式羅列出來,各種信息還可以以打印出來或以報表形式保存。打印統(tǒng)計包括班級統(tǒng)計分析、檔案統(tǒng)計分析、課程統(tǒng)計分析、成績統(tǒng)計分析和交費(fèi)統(tǒng)計分析五類。</p><p> 班級統(tǒng)計分析(如:界面如圖四)</p><p><b&
121、gt; ?。▓D四)</b></p><p><b> 代碼如下:</b></p><p> Private Sub Command1_Click()</p><p> Dim SQLoriginal As String</p><p> Dim SQLadd As String</p>
122、<p> Dim SQLorder As String</p><p> Dim strSql As String</p><p> SQLoriginal = "SELECT 年級,專業(yè),人數(shù),輔導(dǎo)員,備注 FROM 班級表 "</p><p> SQLadd = "WHERE 年級=年級 AND 專業(yè)=專業(yè) &qu
123、ot;</p><p> SQLorder = ""</p><p> If Check1.Value = 1 And IsNumeric(Text1) Then</p><p> SQLadd = SQLadd + "and 年級='" + Text1 + "'"</p>
124、<p><b> End If</b></p><p> If Check2.Value = 1 And Not IsNull(Text2) Then</p><p> SQLadd = SQLadd + "and 專業(yè)='" + Text2 + "'"</p><p>
125、;<b> End If</b></p><p> If Check3.Value = 1 And IsNumeric(Text3) Then</p><p> SQLadd = SQLadd + "and 人數(shù)='" + Text3 + "'"</p><p><b>
126、 End If</b></p><p> If Check4.Value = 1 And Not IsNull(Text4) Then</p><p> SQLadd = SQLadd + "and 輔導(dǎo)員='" + Text4 + "'"</p><p><b> End If&l
127、t;/b></p><p> strSql = SQLoriginal + SQLadd + SQLorde</p><p> If Dat_Main.rsDat_Class.State = 1 Then</p><p> Dat_Main.rsDat_Class.Close</p><p><b> End If&l
128、t;/b></p><p> Dat_Main.rsDat_Class.Open strSql</p><p> Dat_Class.Show vbModal</p><p> Text1.Text = ""</p><p> Text2.Text = ""</p><
129、p> Text3.Text = ""</p><p> Text4.Text = ""</p><p><b> End Sub</b></p><p> Private Sub Command2_Click()</p><p><b> Unload M
130、e</b></p><p><b> End Sub</b></p><p> Private Sub Form_Load()</p><p> Text1.Text = ""</p><p> Text2.Text = ""</p><p&
131、gt; Text3.Text = ""</p><p> Text4.Text = ""</p><p><b> End Sub</b></p><p> Private Sub Text1_Change()</p><p><b> End Sub</
132、b></p><p> Private Sub Text3_Change()</p><p><b> End Sub</b></p><p> 檔案分析統(tǒng)計(如:界面如圖五)</p><p><b> ?。▓D五)</b></p><p><b> 代
133、碼如下:</b></p><p> Private Sub Command1_Click()</p><p> Dim SQLoriginal As String</p><p> Dim SQLadd As String</p><p> Dim SQLorder As String</p><p&g
134、t; Dim strSql As String</p><p> On Error Resume Next</p><p> SQLoriginal = "SELECT * FROM 學(xué)生檔案 "</p><p> SQLadd = "WHERE 學(xué)號=學(xué)號 AND 姓名=姓名 "</p><p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計論文
- 學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計(論文)
- 學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計論文
- 學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計論文
- 學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計(論文)-學(xué)生信息管理系統(tǒng)設(shè)計
- vb學(xué)生信息管理系統(tǒng)-畢業(yè)設(shè)計論文
- 學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---學(xué)生信息管理系統(tǒng)
- 畢業(yè)設(shè)計---學(xué)生信息管理系統(tǒng)
- 畢業(yè)設(shè)計----學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計
- 高校學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計--學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計
- 學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計
- 學(xué)生信息管理系統(tǒng)的設(shè)計研究畢業(yè)設(shè)計論文
評論
0/150
提交評論