《VB程序設計》課程設計說明書——學生信息管理系統(tǒng)_第1頁
《VB程序設計》課程設計說明書——學生信息管理系統(tǒng)_第2頁
《VB程序設計》課程設計說明書——學生信息管理系統(tǒng)_第3頁
《VB程序設計》課程設計說明書——學生信息管理系統(tǒng)_第4頁
《VB程序設計》課程設計說明書——學生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、畢業(yè)統(tǒng)考 20102011學年第二學期08級畢業(yè)統(tǒng)考 VB程序設計 統(tǒng)考作品 VB程序設計課程設計說明書一 學生信息管理系統(tǒng) 專 業(yè): 08 計算機應用與技術 班 級: 08 計應2班 學 號: XXXXXXXXXXXXX 班 姓 名: XXX 日 期:2011-03-20 第1章系統(tǒng)概述 1.系統(tǒng)概述 本學生信息管理系統(tǒng)可以說是一個綜合性的學校學生管理系統(tǒng),這它集成 了學生學籍管理系統(tǒng)、學生成績管理系統(tǒng)、學生檔案管理系統(tǒng)、系統(tǒng)等多 種功能,因而具有較強的實用性和先進性。 1.1系統(tǒng)及需求分析 1.1.1 系統(tǒng)需求 通過調(diào)查,要求系統(tǒng)需要有以下功能: 由于操作人員的計算機知識普遍較差,要求有良

2、好的人機界面; 由于該系統(tǒng)的使用對象多,要求有較好的權限管理; 原始數(shù)據(jù)修改簡單方便,支持多條件修改 方便的數(shù)據(jù)查詢,支持多條件查詢; 在相應的權限下,刪除數(shù)據(jù)方便簡單,數(shù)據(jù)穩(wěn)定性好; 數(shù)據(jù)計算自動完成,盡量減少人工干預; 1.1.2可行性分析 (1)對象運用可行性 由于本系統(tǒng)管理的對象單一,都是在校學生,且每個數(shù)據(jù)內(nèi)容具有較強的 關聯(lián)性,涉及的計算過程不是很復雜。因此,比較適合于采用數(shù)據(jù)庫管理。 且學校用于學生管理的微機都是PIII以上的機器,在存儲量、速度方面都 能滿足數(shù)據(jù)庫運行的要求。 (2)社會與經(jīng)濟可行性 利用學生信息管理系統(tǒng)實現(xiàn)了無紙化辦公,提高效率的同時還保護了環(huán) 境。本來大量的

3、計算、數(shù)據(jù)統(tǒng)計工作需要幾天、甚至一個月完成的工作, 可以在幾個小時,最多幾天內(nèi)完成,大量節(jié)省了人力資本。學生信息管理 系統(tǒng)同時也給老師和學生帶來了極大的方便。老師可以將課程安排,第一 時間錄入到系統(tǒng)。學生也可以第一時間登錄到該系統(tǒng),查詢自己本學期課 程安排和考試方式,大大提高了時間成本。 1.2系統(tǒng)設計的背景 本系統(tǒng)的設計是在Windows 2000中文版操作系統(tǒng)環(huán)境下,使用 Visual Basic 6.0中文版開發(fā)成功的。數(shù)據(jù)庫是 MIS中的重要支持技術,在MIS開 發(fā)過程中,如何選擇數(shù)據(jù)庫管理是一個重要的問題,目前,數(shù)據(jù)庫產(chǎn)品較 多,每種產(chǎn)品都具有各自的特點和適用范圍,因此,在選擇數(shù)據(jù)庫

4、時,應 考慮數(shù)據(jù)庫應用的特點及適用范圍,本系統(tǒng)選用的數(shù)據(jù)庫語言介紹如下: Visual Basic 語言 Visual Basic是一種可視化的、面對對象和條用事件驅(qū)動方式的結構化高 級程序設計,可用于開發(fā) Window環(huán)境下的種類應用程序。它簡單易學、 效率高,且功能強大,可以與 Window啲專業(yè)開發(fā)工具SDK目媲美,而且程 序開發(fā)人員不必具有C/C+編程基礎。在Visual Basic環(huán)境下,利用事件 驅(qū)動的編程機制、新穎易用的可視化設計工具,使用Win dows內(nèi)部的應用 程序接口 (API)函數(shù),以及動態(tài)鏈接庫(DLL)、動態(tài)數(shù)據(jù)交換(DDE)、對象 的鏈接與嵌入(OLE)、開放式數(shù)

5、據(jù)訪問(ODBC等技術,可以高效、快速地 開發(fā)出Windows環(huán)境下功能強大、圖形界面豐富的應用軟件系統(tǒng)。 總的來說,Visual Basic 具有以下特點: 可視化編程: 用傳統(tǒng)程序設計語言設計程序時,都是通過編寫程序代碼來設計用戶 界面,在設計過程中看不到界面的實際顯示效果,必須編譯后運行程序才 能觀察。如果對界面的效果不滿意,還要回到程序中修改。有時候,這種 編程-編譯-修改的操作可能要反復多次,大大影響了軟件開發(fā)效率。 Visual Basic提供了可視化設計工具,把Windows界面設計的復雜性 封裝” 起來,開發(fā)人員不必為界面設計而編寫大量程序代碼。只需要按設計要求 的屏幕布局,用

6、系統(tǒng)提供的工具,在屏幕上畫出各種 部件”,即圖形對象, 并設置這些圖形對象的屬性。Visual Basic自動產(chǎn)生界面設計代碼,程序 設計人員只需要編寫實現(xiàn)程序功能的那部分代碼,從而可以大大提高程序 設計的效率 面向?qū)ο蟮某绦蛟O計 4.0版以后的Visual Basic支持面向?qū)ο蟮某绦蛟O計,但它與一般的 面向?qū)ο蟮某绦蛟O計語言(C+)不完全相同。在一般的面向?qū)ο蟪绦蛟O計 語言中,對象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而 Visual Basic則 是應用面向?qū)ο蟮某绦蛟O計方法(OOP),把程序和數(shù)據(jù)封裝起來作為一個 對象,并為每個對象賦予應有的屬性,使對象成為實在的東西。在設計對 象時,不

7、必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上, Visual Basic自動生成對象的程序代碼并封裝起來。每個對象以圖形方式 顯示在界面上,都是可視的。 結構化程序設計語言 Visual Basic是在BASICS言的基礎上發(fā)展起來的,具有高級程序設計語 言的語句結構,接近于自然語言和人類的邏輯思維方式。Visual Basic語 句簡單易懂,其編輯器支持彩色代碼,可自動進行語法錯誤檢查,同時具 有功能強大且使用靈活的調(diào)試器和編譯器。 Visual Basic是解釋型語言,在輸入代碼的同時,解釋系統(tǒng)將高級語言分 解翻譯成計算機可以識別的機器指令,并判斷每個語句的語法錯誤。在設 計V

8、isual Basic程序的過程中,隨時可以運行程序,而在整個程序設計 好之后,可以編譯生成可執(zhí)行文件(.EXE),脫離Visual Basic 環(huán)境,直 接在Windows環(huán)境下運行 事件驅(qū)動編程機制 Visual Basic通過事件來執(zhí)行對象的操作。一個對象可能會產(chǎn)生多個 事件,每個事件都可以通過一段程序來響應。例如,命令按鈕是一個對象, 當用戶單擊該按鈕時,將產(chǎn)生一個 單擊(CLICK)事件,而在產(chǎn)生該事件時 將執(zhí)行一段程序,用來實現(xiàn)指定的操作。 在用Visual Basic設計大型應用軟件時,不必建立具有明顯開始和結 束的程序,而是編寫若干個微小的子程序,即過程。這些過程分別面向不 同

9、的對象,由用戶操作引發(fā)某個事件來驅(qū)動完成某種特定的功能,或者由 事件驅(qū)動程序調(diào)用通用過程來執(zhí)行指定的操作,這樣可以方便編程人員, 提高效率。 訪問數(shù)據(jù)庫 Visual Basic具有強大的數(shù)據(jù)庫管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫管 理窗口,可以直接建立或處理 Microsoft Access格式的數(shù)據(jù)庫,并提供了 強大的數(shù)據(jù)存儲和檢索功能。同時,Visual Basic還能直接編輯和訪問其 他外部數(shù)據(jù)庫,如dBASE FoxPro, Paradox等,這些數(shù)據(jù)庫格式都可以用 Visual Basic編輯和處理。 Visual Basic提供開放式數(shù)據(jù)連接,即ODB功能,可通過直接訪問或 建立連接的

10、方式使用并操作后臺大型網(wǎng)絡數(shù)據(jù)庫,如SQL Server,Oracle 等。在應用程序中,可以使用結構化查詢語言 SQ數(shù)據(jù)標準,直接訪問服 務器上的數(shù)據(jù)庫,并提供了簡單的面向?qū)ο蟮膸觳僮髦噶詈投嘤脩魯?shù)據(jù)庫 訪問的加鎖機制和網(wǎng)絡數(shù)據(jù)庫的SQL勺編程技術,為單機上運行的數(shù)據(jù)庫 提供了 SQ網(wǎng)絡接口,以便在分布式環(huán)境中快速而有效地實現(xiàn)客戶/服務器 (clie nt/server)方案。 動態(tài)數(shù)據(jù)交換(DDE) 利用動態(tài)數(shù)據(jù)交換(Dynamic Data Exchange)技術,可以把一種應用 程序中的數(shù)據(jù)動態(tài)地鏈接到另一種應用程序中,使兩種完全不同的應用程 序建立起一條動態(tài)數(shù)據(jù)鏈路。當原始數(shù)據(jù)變化時

11、,可以自動更新鏈接的數(shù) 據(jù)。Visual Basic提供了動態(tài)數(shù)據(jù)交換的編程技術,可以在應用程序中與 其他Win dowj應用程序建立動態(tài)數(shù)據(jù)交換,在不同的應用程序之間進行通 信。 對象的鏈接與嵌入(OLE) 對象的鏈接與嵌入(OLE)將每個應用程序都看做是一個對象 (object),將不同的對象鏈接(link)起來,再嵌入(embed)某個應用程序 中,從而可以得到具有聲音、影像、圖像、動畫、文字等各種信息的集合 式的文件。OLE技術是Microsoft公司對象技術的戰(zhàn)略,它把多個應用程序 合為一體,將每個應用程序看做是一個對象進行鏈接和嵌入,是一種應用 程序一體化的技術。利用OLE技術,可

12、以方便地建立復合式文檔(compound document),這種文檔由來自多個不同應用程序的對象組成,文檔中的每 個對象都與原來的應用程序相聯(lián)系,并可執(zhí)行與原來應用程序完全相同的 操作。 動態(tài)鏈接庫(DLL) Visual Basic是一種高級程序設計語言,不具備低級語言的功能,對 訪問機器硬件的操作不太容易實現(xiàn)。但它可以通過動態(tài)鏈接庫技術將 C/C+或匯編語言編寫的程序加入到 Visual Basic應用程序中,可以像調(diào) 用內(nèi)部函數(shù)一樣調(diào)用其他語言編寫的函數(shù)。此外,通過動態(tài)鏈接庫,還可 以調(diào)用Windowj應用程序接口 (API)函數(shù),實現(xiàn)SD所具有的功能。 1.3系統(tǒng)的功能簡介 本系統(tǒng)主

13、要可以實現(xiàn)以下的管理功能:班級管理、學生檔案管理、課程管 理、成績管理等等。 1.3.1項目規(guī)劃 學生信息管理系統(tǒng)是一個典型的數(shù)據(jù)庫應用程序,由班級管理、學生檔案 管理、課程管理、成績管理等模塊組成,特規(guī)劃如下: 丄 班迂管理1學怦如秤課程管逵 戌績管理 1 T 1.3.2系統(tǒng)管理模塊(CTRL+O) 該模塊的主要任務是維護系統(tǒng)的正常運行和安全性設置,包括添加用戶 (快捷鍵:CTRL+A)重新登錄(快捷鍵:CTRL+F1) 1.3.3班級管理模塊(CTRL+P: 該模塊的功能是實現(xiàn)對全校班級的管理工作,包括:班級游覽、班級添加、 班級查詢等,這三個功能模塊各自獨立,完成學校的全部班級的管理。

14、1.3.4學生檔案管理模塊(CTRL+T : 該模塊的主要功能是實現(xiàn)對學生的個人信息的管理工作,包括檔案添加、 檔案瀏覽、檔案查詢等功能,從而方便學校管理部門對學校的基本情況的 快速查詢和了解。 1.3.5課程管理模塊(CTRL+R : 該模塊對各個班級的課程進行設置,并可在其中設置各門課程的教材 選用情況,方便了學校教材管理部門和教務處的教學管理人員的工作。 該模塊包括基本課程設計和班級課程設置兩個模塊。 1.3.6成績管理模塊(CTRL+F: 學校的成績管理工作是檢驗學生學習情況的一個主要手段,本模塊包括考 試類型設置,共有期中考試和期未考試兩種類型,還設置了成績添加、成 績游覽功能模塊。

15、 1.4系統(tǒng)開發(fā)的目標 出于本系統(tǒng)是學校學生管理的一個綜合性的系統(tǒng),本系統(tǒng)的設計目標將最 終定位于完成以上所述的系統(tǒng)主要業(yè)務的基本模型上。 畢業(yè)統(tǒng)考 第2章系統(tǒng)分析 2.1系統(tǒng)流程 在用戶啟動應用程序時,首先進入登陸界面進行用戶的身份驗證。 如 果用戶通過身份驗證,系統(tǒng)將根據(jù)用戶的不同級別分別引導用戶進入不同 的界面,超級管理員和老師可進入各自的管理界面進行操作和查詢,而學 生用戶則只能通過輸入姓名、學號來查詢自己的信息。 2.2數(shù)據(jù)存儲分析:實體聯(lián)系圖 1、數(shù)據(jù)模型設計。首先來做出學生成績管理系統(tǒng)的 E-R圖,分析這個問題 的實體,從系統(tǒng)分析可以知道,學生的成績是由任課教師按照課程給出的,

16、學生、課程、教師組成了這個系統(tǒng)的三個實體。 2、再分析三個實體之間的聯(lián)系。首先,這三個實體不是一個統(tǒng)一體,學 生成績與教師沒有內(nèi)在聯(lián)系,教師必須通過課程實體才能與學生建立聯(lián) 系,因而先不考慮。課程與學生這兩個實體是多對多聯(lián)系;一位學生要學 習多門課程,一門課程有多位學生共同學習。而學習成績是這兩個實體 學 生”和成績”共有的屬性,應填在二者的聯(lián)系 學習”邊。因為成績既不是學 生獨有的,也不是課程獨有的;學生甲70分”或 英語70分”是不完全的, 說 學生甲英語70分”才是正確的,因為70分是學生甲和英語課二者共有的。 這個E-R圖可畫成下圖。 學生 成績 學習 學生成績管理系統(tǒng)中學生與課程的E

17、-R圖 教師與課程這兩個實體之間,是一對多聯(lián)系;一位教師可以都多門課程, 而一門課程對于學生成績來說只能有一位教師(英語、高等數(shù)學有多位教 師教,但對某個固定的學生來說只能有一位教師)。其E-R圖,如下所示。 課程 教學 教師與課程的E-R圖組合到一起,得到最后的E-R圖,有了 E-R圖, 就可以設計數(shù)據(jù)庫。下圖為最后的e-r圖 31 第3章系統(tǒng)設計 3.1軟件模塊結構設計 3. 1.1系統(tǒng)方案確定 通過對系統(tǒng)的調(diào)研與分析,系統(tǒng)主要應完成的功能有:班級管理、學生成 績管理、課程管理、成績管理、系統(tǒng)管理等功能。 3. 1. 2軟件結構設計 本系統(tǒng)在執(zhí)行時,先根據(jù)不同的操作人員的需要來進行相應的模

18、塊,然后 可以輸入數(shù)據(jù)或者進行其它的查詢或瀏覽等操作;總體來說,本系統(tǒng)屬于 一個事務型管理系統(tǒng) 3. 2數(shù)據(jù)庫設計 3. 2. 1 Acess數(shù)據(jù)庫簡介 數(shù)據(jù)庫是有結構的數(shù)據(jù)集合,它與一般的數(shù)據(jù)文件不同,(其中的數(shù)據(jù)是 無結構的)是一串文字或數(shù)字流。數(shù)據(jù)庫中的數(shù)據(jù)可以是文字、圖象、聲 音等。 Microsoft Access是一種關系式數(shù)據(jù)庫,關系式數(shù)據(jù)庫由一系列表組成, 表又由一系列行和列組成,每一行是一個記錄,每一列是一個字段,每個 字段有一個字段名,字段名在一個表中不能重復。表與表之間可以建立關 系(或稱關聯(lián),連接),以便查詢相關聯(lián)的信息。Access數(shù)據(jù)庫以文件形 式保存,文件的擴展名

19、是MDB Access 2000的6種對象 Access 2000數(shù)據(jù)庫由六種對象組成,它們是表、查詢、窗體、報表、 宏和模塊。 表(Table)表是數(shù)據(jù)庫的基本對象,是創(chuàng)建其他 5種對象的基礎。 表由記錄組成,記錄由字段組成,表用來存貯數(shù)據(jù)庫的數(shù)據(jù),故又稱數(shù)據(jù) 表。 查詢(Query)查詢可以按索引快速查找到需要的記錄,按要求篩 選記錄并能連接若干個表的字段組成新表。 窗體(Form)窗體提供了一種方便的瀏覽、輸入及更改數(shù)據(jù)的窗 口。還可以創(chuàng)建子窗體顯示相關聯(lián)的表的內(nèi)容。窗體也稱表單。 報表(Report)報表的功能是將數(shù)據(jù)庫中的數(shù)據(jù)分類匯總,然后打 印出來,以便分析。 宏(Macro)宏相

20、當于DO中的批處理,用來自動執(zhí)行一系列操作。 Access列出了一些常用的操作供用戶選擇,使用起來十分方便。 模塊(Module)模塊的功能與宏類似,但它定義的操作比宏更精細 和復雜,用戶可以根據(jù)自己的需要編寫程序。模塊使用Visual Basic編程。 與Access以前的版本比較,Access 2000新增了許多功能,字段類型 增加了 OLE寸象和超級鏈接,特別是與In ternet的融合,在數(shù)據(jù)庫中可以 直接鏈接到指定的We頁面或網(wǎng)絡文件,也可以把We頁面上的表格導入到 數(shù)據(jù)庫。Access 2000可以方便地利用各種數(shù)據(jù)源,包括dBASE, FoxBase,FoxPro,Excel,W

21、ord 等。Access 2000增加了數(shù)據(jù)庫訪問的安全 機制,可對表一級設置訪問許可權。Access 2000還可以方便地利用FoxPro 數(shù)據(jù)庫、Excel電子表格的數(shù)據(jù),還可以和 Word混合使用,打印通用信函 或信封。 本次數(shù)據(jù)庫采用了 Microsoft推出的Access數(shù)據(jù)庫,能夠快速方便的 和Office的其他套件綜合使用。由于Access具有顯著的簡易性和有效性, 大量的桌面數(shù)據(jù)庫系統(tǒng)都采用Access作為后臺數(shù)據(jù)庫。使用Access的好處 還在于,如果你的系統(tǒng)擴展到Clie nt/Server模式的時候,可以使用 Microsoft的數(shù)據(jù)庫服務器軟件SQL Server,此時

22、,程序只需要簡單的修 改一下鏈接(AD啲數(shù)據(jù)源)就可以,這樣,為程序的平滑擴展提供了非 常有力的條件。 3.2.2建立數(shù)據(jù)庫 使用VB6.0所提供的“可視化數(shù)據(jù)管理器”建立數(shù)據(jù)庫以及其中的數(shù) 據(jù)表。 a. 在VB集成環(huán)境中啟動數(shù)據(jù)管理器:單擊“外接程序”菜單下的 “可視化數(shù)據(jù)管理器”命令,打開可視化數(shù)據(jù)管理器“VisData ”窗口。 b. 選擇“文件”菜單中的“新建”項,在“新建”子菜單中,選擇 “Microsoft Access ”子菜單中“ Version 7.0 MDB ”,在創(chuàng)建數(shù)據(jù)庫對框 中選擇保存數(shù)據(jù)庫的路徑和庫文件名(XS)后保存。 本系統(tǒng)中所涉及到的主要實體共有七個數(shù)據(jù)表:

23、allkecheng表:課程名稱,教材 cj表:學號,學期,類型,課程名稱,分數(shù) class表:年級,班級,教室,年制,專業(yè),班主任,備注 classkecheng表:年級,專業(yè),年制,學期,課程名稱 kaoshileixing 表:類型 use 表:username,password,admi n, read on Iy,qx1,qx2,qx3,qx4 xj表:學號,姓名,性別,班級,出生年月,家庭住址,郵政編碼,聯(lián) 系電話,入學時間,備注 表名 字段名稱 類型 寬度 小數(shù) 位數(shù) Allkeche ng 表 課程名稱 文本 20 教材 文本 30 Cj表 學號 文本 10 學期 文本 50

24、類型 文本 16 課程名稱 文本 20 分數(shù) 單精度型數(shù) 字 自動 2 Class表 年級 文本 16 班級 文本 20 教室 文本 5 年制 文本 8 專業(yè) 文本 16 班主任 文本 8 備注 備注 classkeche ng 年級 文本 16 專業(yè) 文本 12 年制 文本 8 學期 文本 50 課程名稱 文本 20 kaoshileix ing 類型 文本 10 User表 user name 乂本 * 20 password 文本 20 Admin 文本 2 read only 乂本 2 Qx1 文本 2 Qx2 文本 2 Qx3 文本 2 Qx4 文本 2 Xj表 學號 文本 9 姓名

25、 文本 8 性別 文本 2 班級 文本 10 出生年月 日期/時間 家庭住址 文本 30 郵政編碼 長整型 聯(lián)系電話 長整型 入學時間 日期/時間 備注 備注 第4章系統(tǒng)的功能 本部分主要內(nèi)容為本系統(tǒng)的運行界面以及主要界面的源代碼。 4. 1系統(tǒng)登陸界面: 本界面的主要功能是為了對系統(tǒng)進行安全性管理,本系統(tǒng)的用戶名和 密碼保存在USE!中,本系統(tǒng)根據(jù)不同的用戶而設置了不同的權限,可以 用909;909為用戶名和密碼來登陸本系統(tǒng)。具體設置是: 選擇“工程”里的“添加窗體”,選擇“登錄對話框”,保存為“frmdenlu ” 并且填寫代碼,完成與數(shù)據(jù)庫的鏈接。對窗體的屬性進行設置,登錄界面 添加“某

26、某學?!弊謽?。 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選 擇添加“窗體”。并將新窗體保存為“ denglu ”。并且使用菜單編輯器,按 照功能流程圖的位置制作主頁面的下拉菜單。完成后設置主頁面屬性,將 “Caption ”命名為“學生信息管理系統(tǒng)”;通過“ Picture ”屬性,對主 界面的背景進行設置;調(diào)整主界面大小,并設置“WindowState”屬性為 “2-Mixmized ” ,并將頁面調(diào)整到屏幕的中央。添加代碼,完善學生信 息管理系統(tǒng)主頁面的代碼設計。 Private Sub Comma nd1_Click() Dim mrc As ADODB.Records

27、et txtsql = select user name from use where user name=” & Trim(Text1.Text) & ”, Set mrc = ExecuteSQL(txtsql) If mrc.EOF = True The n MsgBox 用戶名錯誤! , vbExclamation + vbOKO nl y, 警告 Textl.SetFocus Textl.SelStart = 0 Textl.SelLe ngth = Le n(Textl.Text) Exit Sub End If user name = mrc.Fields(0) txtsql2

28、= select user name from use where password & Trim(Text2.Text) & Set mrc = ExecuteSQL(txtsql2) If mrc.EOF = True The n Hill 警告 MsgBox 密碼錯誤! , vbExclamation + vbOK On ly, Text2.SetFocus Text2.SelStart = 0 Text2.SelLe ngth = Le n(Text2.Text) Exit Sub End If txtsql = select user name from use where user

29、 name=” & Trim(Text1.Text) & and password* & Trim(Text2.Text) & Set mrc = ExecuteSQL(txtsql) If mrc.EOF = True The n MsgBox 用戶名稱和密碼不匹配!, vbExclamation + vbOKOnly, 告 Exit Sub End If MDIForml.Show frmcpass.Text1.Text = Text1.Text Un load Me End Sub Private Sub Comma nd2_Click() Un load Me End Sub Priv

30、ate Sub Form_Load() End Sub Private Sub Text1_KeyPress(KeyAscii As In teger) If KeyAscii = 13 Then Text2.SetFocus End If End Sub Private Sub Text2_KeyPress(KeyAscii As In teger) If KeyAscii = 13 Then Comma nd1.SetFocus End If End Sub 4.2系統(tǒng)管理模塊設計 “系統(tǒng)管理”模塊分為“添加新用戶”和“退出”兩個子模塊 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對

31、話框,選 擇添加“窗體”。并將新窗體保存為“ frmuser1 進行代碼設計,代碼如下: Private Sub Comma nd1_Click() If Trim(Text1(0).Text) = Then MsgBox 用戶名不能為空! ”, vbExclamation + vbOKOnly, 警告 Text1(0).SetFocus Exit Sub End If 敬+ H 警告 If Trim(Text1(1).Text) = Then MsgBox 密碼不能為空! , vbExclamation + vbOKOnly, Text1(1).SetFocus Exit Sub End I

32、f If Trim(Text1(2).Text) = The n MsgBox 確認密碼不能為空! , vbExclamation + vbOKOnly, Text1 (2).SetFocus Exit Sub End If If Trim(Text1(1).Text) Trim(Text1(2).Text) The n MsgBox 確認密碼不正確! , vbExclamation + vbOKOnly, Text1 (2).SetFocus Exit Sub End If Dim aa As In teger aa = 0 If Optio n1(2) .Value = True Then

33、 For i = 0 To 2 If Check1(i).Value = 1 Then aa = 1 Exit For End If Next i If aa = 0 The n MsgBox 普通用戶至少要有一項權限!, vbExclamation + vbOKOnly, H+ II 警告 Exit Sub End If End If Dim mrc As ADODB.Recordset txtsql = select * from use where username=” & Trim(Text1(0).Text) & ” Set mrc = ExecuteSQL(txtsql) If m

34、rc.EOF = False The n MsgBox 已存在該用戶! , vbExclamation + vbOK On ly, 警告 Text1(0).SetFocus Text1(0).SelStart = 0 Text1(0).SelLe ngth = Len (Text1(0).Text) Exit Sub End If txtsql = select * from use Set mrc = ExecuteSQL(txtsql) mrc.AddNew mrc.Fields(0) = Trim(Text1(0).Text) mrc.Fields(l) = Trim(Text1(1).

35、Text) For i = 0 To 2 If Optio n1(i).Value = True The n Select Case i Case 0 mrc.Fields(admi n) = y Case 1 mrc.Fields(read onl y) = y Case 2 For j = 0 To 2 If Check1(j).Value = 1 The n Select Case j Case 0 mrc.Fields(qx1) = y Case 1 mrc.Fields(qx2) = y Case 2 mrc.Fields(qx3) = y End Select End If Nex

36、t j End Select End If Next i mrc.Update MsgBox 用戶添加成功! , vbExclamation + vbOK On ly, Text1(0).Text = Text1(1).Text = Text1(2).Text = End Sub Private Sub Comma nd2_Click() Un load Me End Sub Private Sub Form_Load() Optio n1(2) .Value = True End Sub Private Sub Form_Resize() Text1(0).SetFocus End Sub

37、Private Sub Optio n1_Click(l ndex As In teger) If In dex 2 The n For i = 0 To 2 Check1(i).E nabled = False Next i Else For i = 0 To 2 Check1(i).E nabled = True Next i End If End Sub 通過代碼設計,實現(xiàn)了對三種不同權限的新用戶的添加, 管理員具有 所有得權限,老師在管理員的授權下可以選擇系統(tǒng)管理、 課程管理與檔案 管理、課程管理的一種、兩種或者全部權限,學生則只有瀏覽的功能。 4.3班級管理 在完成了系統(tǒng)的登錄頁面設

38、計、系統(tǒng)主頁面系統(tǒng)設計后,接下來在總 體設計思想的指導下完成系統(tǒng)的其余功能模塊的設計。這些子模塊作為 學生信息管理系統(tǒng)的組成部分,在很大程度上增強了所開發(fā)系統(tǒng)的整 體功能。以下主要講述班級管理這個功能模塊的具體設計和實現(xiàn)。 班級管理的主要功能是對各院系的班級的基本信息進行管理,這些信 息包括年級、班級、教室、年制、專業(yè)、班主任、備注等。相應的管理操 作包括:添加記錄、修改記錄、刪除記錄、查詢記錄以及打印記錄。執(zhí)行 查詢,先輸入要進行操作的班級,確定后再進行對應的操作。添加操作可 直接添加新的班級記錄。 4.3.1添加班級模塊設計 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選 擇

39、添加“窗體”。并將新窗體保存為“formclassl ”。添加代碼并且進行屬 性設置。將“ Caption ”改為“添加班級”,并且調(diào)整窗口大小。 “添加系統(tǒng)”模塊的界面如下圖所示: 4.3.2瀏覽班級模塊設計 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選 擇添加“窗體”。并將新窗體保存為“ formclass2 ”。添加代碼并且進行屬 性設置。將“ Caption ”改為“瀏覽班級”,并且調(diào)整窗口大小。 “添加系統(tǒng)”模塊的界面如下圖所示: I爭洶剝象I冃 瀏覽致?lián)?通過設計的瀏覽班級模塊,可以根據(jù)年級,對本校的各班級信息進行 總體瀏覽。并且根據(jù)需要,對班級設置進行修改,刪除,

40、打印。 4.3.3班級查詢模塊設計 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選 擇添加“窗體”。并將新窗體保存為“ formclass3 ”。進行屬性設置。將 “ Caption ”改為“班級查詢”,并且調(diào)整窗口大小。通過設計,此模塊可 以通過年級、班級、專業(yè)對班級設計查詢。 “添加系統(tǒng)”模塊的界面如下圖所示: 班級設置查詢 進行代碼設計,代碼如下: Private Sub Comma nd1_Click() txtsql = If Text1(0).Text Then If txtsql = The n txtsql = 年級=”& Trim(Text1(0).Text)

41、& ”, Else txtsql = txtsql & and年級=”& Trim(Text1(0).Text) & End If End If If Text1(1).Text Then If txtsql = The n txtsql = 班級=”& Trim(Text1(1).Text) & ”, Else txtsql = txtsql & and班級=”& Trim(Text1(1).Text) & End If End If If Text1(2).Text The n aa = 1 If txtsql = The n txtsql = 專業(yè)=”& Trim(Text1(2).Te

42、xt) & ”, Else txtsql = txtsql & and專業(yè)=”& Trim(Text1(2).Text) & End If End If If txtsql = The n ss = MsgBox(你至少要輸入一個條件以上才能查詢!, 警告) Text1(0).SetFocus Exit Sub End If txtsql = select * from class where & txtsql Dim mrc As ADODB.Recordset Set mrc = ExecuteSQL(txtsql) If mrc.EOF = True The n zzz = MsgBox

43、(對不起,沒有此班級的檔案記錄!, vbOKOnly, 查詢 ) Formclass3.ZOrder (0) Formclass3.Text1(0).SetFocus Exit Sub End If Formclass2.pri ntstr = txtsql classfi nd = True Formclass2.Show Formclass2.classshowtitle Formclass2.classshowdata Formclass2.Caption =班級設置查詢結果 Formclass2.ZOrder (0) End Sub Private Sub Form_Unl oad(C

44、a ncel As In teger) classfi nd = False End Sub 必須同時輸入一個條件,否則將彈出警告對話框“你至少要輸入一個 以上條件以上才能查詢! ”用戶可以同時設定一個、兩個或者三個條件進 行查詢。 4. 4學生檔案管理 學生檔案管理是對全校學生的基本資料進行查詢、修改、添加、刪除、 打印操作。執(zhí)行查詢操作時,可以根據(jù)學號、姓名、班級、姓名關鍵字進 行查詢??梢詫Σ檎业降男畔⑦M行修改和刪除。添加操作可直接添加相應的學生基本情況。學生信息包括學號、姓名、性別、班級、家庭住址、出 生年月、聯(lián)系電話、入學時間、備注等信息。 441檔案添加模塊設計 首先明確檔案添加的

45、功能是添加對入學的學生進行入學檔案登記,其 中包括姓名、性別、班級、聯(lián)系電話等信息。在“工程”菜單中選擇“添 加窗體”,打開“添加窗體”對話框,選擇添加“窗體”。并將新窗體保存 為“forml ”。進行屬性設置,并且編寫代碼,完成的頁面如下圖所示: Private Sub Comma nd1_Click() Forj = 0 To 7 If Text1(j) = The n 不能為空! , vbExclamation ss = MsgBox(Label1(j).Caption & + vbOKOnly,警告) Text1(j).SetFocus Text1(j).SelStart = 0 Te

46、xt1(j).SelLe ngth = Len (Textl(j).Text) Exit Sub End If Next Dim mrc As ADODB.Recordset txtsql1 = select * from xj where學號=& Trim(Text1(0).Text) & IHH Set mrc = ExecuteSQL(txtsqll) If modi = False Then If mrc.EOF = False The n II sss = MsgBox(已經(jīng)存在該學號的記錄,學號不能重復! vbExclamation + vbOK On ly, 警告) Text1(

47、0).SetFocus Text1(0).SelStart = 0 Text1(0).SelLe ngth = Le n(Text1(0).Text) mrc.Close Exit Sub End If End If If Not lsDate(Text1(2).Text) The n 判斷是否日期格式 ssss = MsgBox(應輸入日期 mm-dd-yy, vbInformation vbOKOnly,警告) Text1(2).SetFocus Text1(2).SelStart = 0 Text1(2).SelLe ngth = Le n(Text1 (2) .Text) Exit S

48、ub End If If Not lsDate(Text1(6).Text) Then ssss = MsgBox(應輸入日期 mm-dd-yy, vblnformation+ vbOKOnly,警告) Text1(6).SetFocus Text1(6).SelStart = 0 Text1(6).SelLe ngth = Le n(Text1 (6).Text) Exit Sub End If If modi = True The n txtsql1 = update xj set學號=& Trim(Text1(0).Text) & , 姓名=& Trim(Text1(1).Text) &

49、 ,性別=& Trim(Combo1(0).Text) & ,班級=& Trim(Combo1(1).Text) & , 出生年月=# & Trim(Text1 (2).Text) & # ,家庭住址=& Trim(Text1(3).Text) & , 郵政編碼=& Trim(Text1 .Text) & ,聯(lián)系電話=& Trim(Text1(5).Text) & ,入學時間=# & Trim(Text1(6).Text) & # , 備注=& Trim(Text1(7).Text) & where 學號=& Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row,

50、 1) & ” Set mrc = ExecuteSQL(txtsqll) txtsqll = update cj set 學號=& Trim(Text1(0).Text) & where 學號=& Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row, 1) & ” Set mrc = ExecuteSQL(txtsqll) txtsqll = update jf set 學號=& Trim(Text1(0).Text) & where 學號=& Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row, 1) & ” Set mrc

51、= ExecuteSQL(txtsqll) Un load Me Exit Sub End If 畢業(yè)統(tǒng)考 txtsqll = select * from xj Set mrc = ExecuteSQL(txtsqll) mrc.AddNew For i = 4 To 9 mrc.Fields(i) = Text1(i - 2).Text Next i mrc.Fields(O) = Trim(Text1(0).Text) mrc.Fields(1) = Trim(Text1(1).Text) mrc.Fields (2) = Trim(Combo1(0).Text) mrc.Fields(3

52、) = Trim(Combo1(1).Text) mrc.Update Set mrc = Nothi ng Forj = 0 To 7 Text1(j)= Next End Sub 442檔案瀏覽模塊設計 類似可以進行檔案瀏覽模塊設計,完成之后的設計見面如下圖所示: 畢業(yè)統(tǒng)考 其代碼如下: Public Sub showdata() Dim j As In teger Dim i As In teger Dim mrc As ADODB.Recordset Set mrc = New ADODB.Recordset Set mrc = ExecuteSQL(txtsql) If mrc.EO

53、F = False The n mrc.MoveFirst With MSF1 .Rows = 50 .Row = 1 Do While Not mrc.EOF .Rows = .Rows + 1 For i = 1 To mrc.Fields.Co unt .TextMatrix(.Row, i) = mrc.Fields(i - 1) Next i .Row = .Row + 1 mrc.MoveNext Loop End With Else If find = True The n Form3.Hide Form4.Show zzz = MsgBox(對不起,沒有此學生的檔案記錄!, v

54、bOKO nl y, 查 詢) Form4.ZOrder (0) Form4.Text1(0).SetFocus End If End If Set mrc = Nothi ng End Sub Public Sub tree() TreeView1.Nodes.Clear Dim no dex As Node Dim mrc As ADODB.Recordset Dim mrc1 As ADODB. Recordset Dim str As String Dim a As Stri ng a =年級 TreeView1.L in eStyle = tvwRootLi nes str = se

55、lect dist inct年級 from class order by 年級 Set mrc = ExecuteSQL(str) str = select distinct年級,班級 from class order by 年級,班級 Set mrc1 = ExecuteSQL(str) mrc.MoveFirst Do Un til mrc.EOF mrc1.MoveFirst Set nodex = TreeView1.Nodes.Add(, , a, mrc.Fields(0), 1, 1) Do While Not mrc1.EOF If mrc1.Fields(0) = mrc.F

56、ields(0) The n Setnodex = TreeView1.Nodes.Add(a, tvwChild, , mrc1.Fields(1), 2, 2) End If mrcl.MoveNext Loop a = a & 1 mrc.MoveNext Loop mrcl.Close mrc.Close Set mrc = Nothi ng Set mrc1 = Nothi ng End Sub Private SubToolbar1_Butto nClick(ByValButton As MSComctILib.Butto n) Select Case Butt on. Tag C

57、ase find Form4.Show Case modi IfTrim(Me.MSF1.TextMatrix(MSF1.Row, 1)= The n sssss= MsgBox(你還沒有選擇記錄! , vbOKOnly+ vbExclamatio n,警告) Exit Sub Else qxstr = Executeqx(2) If qxstr = read only The n ss = MsgBox(對不起,你是只讀用戶不能修改記錄,請 與管理員聯(lián)系! , vbI nformation + vbOKO nl y, 警告) Exit Sub End If modi = True Forml

58、.Show Forml.ZOrder 0 End If Case del Dim mrc As ADODB. Recordset Dim in tco unt As In teger If Trim(Me.MSF1.TextMatrix(MSF1.Row, 1) = The n sssss = MsgBox(你還沒有選擇記錄!, vbOK Only + vbExclamatio n,警告) Else If qxstr = read only The n ss = MsgBox(對不起,你是只讀用戶不能刪除記錄,請 與管理員聯(lián)系! , vbI nformation + vbOKO nl y, 警

59、告) Exit Sub End If IfMsgBox(確定要刪除學號為 & Trim(Me.MSF1.TextMatrix(MSF1.Row, 1) & 的記錄嗎? & Chr(10) & Chr(13)&該操作會導致該學生成績記錄的丟失!確定嗎?, vbOKCa ncel + vbExclamatio n, 警告)=vbOK The n in tcou nt = Me.MSF1.Row txtsql= delete * from xj where 學 號=& Trim(Me.MSF1.TextMatrix(MSF1.Row, 1) & ” Set mrc = ExecuteSQL(txts

60、ql) txtsql= delete * from jf where 學 號=& Trim(Me.MSF1.TextMatrix(MSF1.Row, 1) & ” Set mrc = ExecuteSQL(txtsql) txtsql= delete * from cj where 學 號=& Trim(Me.MSF1.TextMatrix(MSF1.Row, 1) & ” Set mrc = ExecuteSQL(txtsql) TreeView1_DblClick End If End If Case pri nt Form6.Show Form6.ZOrder 0 End Select

溫馨提示

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

評論

0/150

提交評論