第一篇:基于VB+ACCESS的車(chē)輛信息管理系統(tǒng)
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
目錄
摘要.....................................................................................................................................I Abstract..............................................................................................................................II 第一章 緒論......................................................................................................................1 1.1研究背景..............................................................................................................1 1.2研究現(xiàn)狀..............................................................................................................1 1.3研究?jī)?nèi)容..............................................................................................................2 第二章 系統(tǒng)的分析和設(shè)計(jì)..............................................................................................3 2.1系統(tǒng)的設(shè)計(jì)..........................................................................................................3 2.1.1系統(tǒng)設(shè)計(jì)的思想.......................................................................................3 2.1.2設(shè)計(jì)原則...................................................................................................3 2.1.3模塊劃分...................................................................................................3 2.2可行性分析..........................................................................................................5 第三章 系統(tǒng)功能的實(shí)現(xiàn)..................................................................................................7 3.1 工程與數(shù)據(jù)庫(kù)的創(chuàng)建.........................................................................................7 3.1.1創(chuàng)建工程...................................................................................................7 3.1.2創(chuàng)建數(shù)據(jù)庫(kù)...............................................................................................7 3.2登錄窗體和注冊(cè)窗體的設(shè)計(jì)..............................................................................8 3.2.1系統(tǒng)登錄表...............................................................................................8 3.2.2設(shè)置登錄窗體...........................................................................................9 3.2.3注冊(cè)窗體.................................................................................................12 3.2.4用戶(hù)信息管理窗體.................................................................................14 3.3用戶(hù)主窗體和管理員窗體................................................................................16 3.3.1普通用戶(hù)窗體.........................................................................................16 3.3.2管理員窗體.............................................................................................18 3.4車(chē)主信息管理窗體............................................................................................19 3.4.1車(chē)主信息表.............................................................................................19
I
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
3.4.2車(chē)主信息窗體設(shè)計(jì).................................................................................20 3.5年檢信息管理窗體............................................................................................22 3.5.1年檢信息表.............................................................................................22 3.5.2年檢記錄窗體設(shè)計(jì).................................................................................23 3.6事故信息管理窗體............................................................................................24 3.6.1事故信息表.............................................................................................24 3.6.2事故信息窗體設(shè)計(jì).................................................................................25 3.7違章信息管理窗體............................................................................................26 3.7.1違章信息表.............................................................................................26 3.7.2違章信息窗體設(shè)計(jì).................................................................................27 3.8保險(xiǎn)信息管理窗體............................................................................................28 3.8.1保險(xiǎn)信息表.............................................................................................28 3.8.2保險(xiǎn)信息查詢(xún)窗體設(shè)計(jì).........................................................................29 第四章 系統(tǒng)的具體實(shí)現(xiàn)與結(jié)論....................................................................................31 4.1軟件調(diào)試............................................................................................................31 4.2系統(tǒng)演示............................................................................................................32 4.2.1系統(tǒng)注冊(cè)與登錄.....................................................................................32 4.2.2普通用戶(hù)窗體.........................................................................................33 4.2.3管理員窗體.............................................................................................37 第五章 結(jié)論....................................................................................................................42 參考文獻(xiàn)..........................................................................................................................44 致
謝..............................................................................................................................46 附 錄1:外文原文.........................................................................................................48 附 錄2:外文譯文.........................................................................................................54 附 錄3:畢業(yè)設(shè)計(jì)任務(wù)書(shū).............................................................................................58 附 錄4:開(kāi)題報(bào)告.........................................................................................................60 附 錄5:程序.................................................................................................................66
II
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
車(chē)輛信息管理系統(tǒng)
摘要
進(jìn)入21世紀(jì),隨著人民生活質(zhì)量水平的提高,私家車(chē)的數(shù)量越來(lái)越多,車(chē)輛信息的有效管理成為了厄待解決的任務(wù)。在車(chē)輛信息管理方面很多信息需要處理。比如車(chē)輛的車(chē)主信息,事故信息,違章信息,年檢信息,保險(xiǎn)信息等等。人工處理這些信息會(huì)非常的繁瑣,而且容易出錯(cuò)。所以需要個(gè)車(chē)輛信息管理系統(tǒng)來(lái)解決問(wèn)題。
本次設(shè)計(jì)利用VB作為開(kāi)發(fā)工具,Access作為后臺(tái)數(shù)據(jù)庫(kù),并針對(duì)系統(tǒng)要求和車(chē)輛信息的分類(lèi)劃分了功能模塊。首先是登錄設(shè)計(jì),注冊(cè)賬號(hào)密碼之后可以登錄進(jìn)入主窗體,通過(guò)主窗體普通用戶(hù)進(jìn)入各查詢(xún)窗體包括車(chē)輛的車(chē)主信息,事故記錄,違章記錄,保險(xiǎn)記錄,年檢記錄等各方面信息。管理員進(jìn)入各查詢(xún)窗體包括車(chē)輛的車(chē)主信息,事故記錄,違章記錄,保險(xiǎn)記錄,年檢記錄等各方面信息進(jìn)行信息處理,并且可以對(duì)用戶(hù)的信息進(jìn)行管理,還可以設(shè)置管理權(quán)限。系統(tǒng)采用分模塊,程序化的設(shè)計(jì)方法,既方便于系統(tǒng)功能的實(shí)現(xiàn)和調(diào)整,又便于管理人員的對(duì)數(shù)據(jù)信息的管理和維護(hù)。
車(chē)輛信息管理系統(tǒng)具備數(shù)據(jù)庫(kù)信息處理功能,可以根據(jù)用戶(hù)需要對(duì)車(chē)輛相關(guān)的信息進(jìn)行查詢(xún)、添加、修改、刪除等操作。整個(gè)車(chē)輛信息管理系統(tǒng)體現(xiàn)了軟件工程的宗旨,并且使車(chē)輛信息管理變得規(guī)范化。系統(tǒng)還可以自動(dòng)完成信息的處理,從而達(dá)到提高車(chē)輛信息管理的目的。
關(guān)鍵字:VB ;車(chē)輛信息;數(shù)據(jù)庫(kù);管理系統(tǒng)
I
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
Vehicle information management system
Abstract With the improvement of people's living standard in 21st century, the effective management of vehicle information has become an urgent task because of more and more vehicles.A lot of aspects in the vehicle information management need to handle, such as, the owner of the vehicle information, accident, illegal information, yearly check information, insurance information and so on.Artificial processing this information is very cumbersome and error-prone.So we need a vehicle information management system to solve this problem.This design takes VB as the development tool, ACCESS database as the background and in view of the system requirements and vehicle information classification divides the function module.After the first login is designed, the registered account password can log into the main form, through the main form of ordinary users to enter the query form include the information of vehicle owners, accident record, endorsed, insurance records, annual inspection records and so on various aspects information.Administrators to enter the query form include the information of vehicle owners, accident record, endorsed, insurance records, annual inspection records information processing and so on various aspects information, and to manage the user's information, you can also set permissions management.System adopts modularized program design method, convenient for the combination of system function change, facilitate again complement and maintain that does not participate in the personnel.System has the function of database maintenance, timely data according to user needs to add, modify, delete, backup, etc.The development of the whole vehicle management system embodies the thought of software engineering and makes the vehicle information management systematization, standardization and automation, so as to achieve the goal of improving vehicle information management.Key words: VB;Vehicle information;Database;Management system.II
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
第一章緒論
1.1研究背景
進(jìn)入21世紀(jì)人們的生活質(zhì)量水平的提高,車(chē)輛的數(shù)量持續(xù)的增長(zhǎng)。車(chē)輛的增多必然會(huì)給車(chē)輛管理帶來(lái)不便,而車(chē)輛的使用又是社會(huì)發(fā)展必備工具.車(chē)輛增加可以讓人們享受高質(zhì)量的生活,但是如果沒(méi)有一個(gè)完善的車(chē)輛信息管理系統(tǒng)會(huì)隨之而來(lái)許多的社會(huì)問(wèn)題,因此開(kāi)發(fā)出一套功能完善的車(chē)輛信息管理系統(tǒng)成為一項(xiàng)十分重要的任務(wù),特別是汽車(chē)的數(shù)量還在不斷的增長(zhǎng).所以開(kāi)發(fā)車(chē)輛信息管理系統(tǒng)是管理車(chē)輛信息的主要措施.車(chē)輛信息管理系統(tǒng)的運(yùn)用,使人們不僅可以享受車(chē)輛帶來(lái)的便捷,還不用因?yàn)檐?chē)輛引起的諸多信息而感到煩躁.所以在這個(gè)背景下我們開(kāi)發(fā)出車(chē)輛信息管理系統(tǒng).方便人們對(duì)自己的愛(ài)車(chē)信息可以全面了解.數(shù)據(jù)庫(kù)是計(jì)算機(jī)設(shè)計(jì)信息管理系統(tǒng)的地一個(gè)重要組成部分,是人們進(jìn)行數(shù)據(jù)儲(chǔ)存,分享,管理的工具.其實(shí)信息管理系統(tǒng)應(yīng)用程序就是從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)并進(jìn)行處理。它是目前最流行計(jì)算機(jī)程序之一,應(yīng)用范圍十分廣泛.。從簡(jiǎn)單的數(shù)據(jù)錄入到表中到復(fù)雜的信息管理系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)的建立都是信息管理的應(yīng)用。
Visual Basic 簡(jiǎn)稱(chēng)VB,VB是軟件開(kāi)發(fā)領(lǐng)域開(kāi)發(fā)效率較高程序設(shè)計(jì)語(yǔ)言,在設(shè)計(jì)小型的信息管理系統(tǒng)中有很大的優(yōu)勢(shì)。利用VB開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),可以將所學(xué)習(xí)的知識(shí)融會(huì)貫通,培養(yǎng)自主學(xué)習(xí)能力,創(chuàng)新能力。數(shù)據(jù)庫(kù)開(kāi)發(fā)應(yīng)用管理系統(tǒng)包含測(cè)控,電子,計(jì)算機(jī)等多個(gè)學(xué)科的內(nèi)容,具有深厚的研究?jī)r(jià)值。
1.2研究現(xiàn)狀
本人在查閱了眾多的參考資料之后,充分了解了國(guó)內(nèi)現(xiàn)有的各種車(chē)輛相關(guān)的信息研究系統(tǒng),我國(guó)利用計(jì)算機(jī)管理車(chē)輛信息的技術(shù)應(yīng)用相對(duì)國(guó)外比較滯后,主要原因是國(guó)內(nèi)計(jì)算機(jī)技術(shù)的普及不到位和社會(huì)發(fā)展水平不高。針對(duì)我所理解的車(chē)輛信息管理系統(tǒng),國(guó)內(nèi)現(xiàn)有研究狀況進(jìn)行總結(jié):首先,很多車(chē)輛信息管理系統(tǒng)設(shè)計(jì)不合理,系統(tǒng)內(nèi)的各個(gè)模塊之間的數(shù)據(jù)信息有重復(fù)出現(xiàn)的情況,需要多次的屬入。不僅設(shè)計(jì)繁瑣,效率不高還容易產(chǎn)生錯(cuò)誤。其次,大部分的設(shè)計(jì)軟件在人機(jī)交互功能方面設(shè)計(jì)力度不夠,沒(méi)有錯(cuò)誤警報(bào)信息和關(guān)鍵操作驗(yàn)證功能。對(duì)于車(chē)輛信息的整理也不夠全面,很多車(chē)輛信息管理系統(tǒng)只關(guān)心車(chē)輛的少部分信息,對(duì)車(chē)輛整體信息涵蓋不完整。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
相比而言國(guó)外的信息管理系統(tǒng)就比較成熟,很早以前國(guó)外就產(chǎn)生了簡(jiǎn)單的單位車(chē)輛管理系統(tǒng),通過(guò)計(jì)算機(jī)對(duì)車(chē)輛的相關(guān)信息進(jìn)行記錄,大大減少了人工進(jìn)行錄入和管理的繁雜,提高了對(duì)車(chē)輛使用情況的了解,現(xiàn)在國(guó)外的管理系統(tǒng)已經(jīng)十分的完善。
1.3研究?jī)?nèi)容
本次設(shè)計(jì)運(yùn)用VB和ACCESS的基本理論知識(shí),在此基礎(chǔ)上進(jìn)行了系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì),訪(fǎng)問(wèn)連接及數(shù)據(jù)源的配制方法.根據(jù)系統(tǒng)功能及設(shè)計(jì)要求,進(jìn)行系統(tǒng)的模塊劃分,軟件流程的設(shè)計(jì)及系統(tǒng)的運(yùn)行界面設(shè)計(jì).通過(guò)VB的語(yǔ)言編寫(xiě)出個(gè)功能模塊的代碼,實(shí)現(xiàn)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)及系統(tǒng)界面的友好性設(shè)計(jì),滿(mǎn)足應(yīng)用系統(tǒng)的實(shí)際要求
首先是登錄設(shè)計(jì),登錄進(jìn)入主窗體,通過(guò)主窗體進(jìn)入各查詢(xún)窗體包括車(chē)輛的車(chē)主信息,事故記錄,違章記錄,保險(xiǎn)記錄,年檢記錄等各方面信息。對(duì)車(chē)輛的各種信息實(shí)現(xiàn)查詢(xún)、修改、刪除、添加等功能。系統(tǒng)采用分模塊,程序化的設(shè)計(jì)方法,既方便于系統(tǒng)功能的實(shí)現(xiàn)和調(diào)整,又便于管理人員的對(duì)數(shù)據(jù)信息的管理和維護(hù)。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
第二章系統(tǒng)的分析和設(shè)計(jì)
經(jīng)過(guò)對(duì)大量的資料進(jìn)行研究,基本可以確定設(shè)計(jì)的方向。本章重點(diǎn):對(duì)系統(tǒng)進(jìn)行分析,制定設(shè)計(jì)的方案。
2.1系統(tǒng)的設(shè)計(jì)
系統(tǒng)設(shè)計(jì)是車(chē)輛信息管理系統(tǒng)開(kāi)發(fā)的重要階段,在這一階段。首先要了解用戶(hù)對(duì)車(chē)輛信息有哪些方面的需求,然后對(duì)系統(tǒng)進(jìn)行劃分,最后整理出各模塊之間的系統(tǒng)流程。這樣既提高了系統(tǒng)設(shè)計(jì)的準(zhǔn)確性,又讓設(shè)計(jì)流規(guī)范化。
2.1.1系統(tǒng)設(shè)計(jì)的思想
⑴實(shí)用性:在各項(xiàng)基本功能使用上進(jìn)一步完善系統(tǒng)。⑵先進(jìn)性:簡(jiǎn)化代碼去除多余,引用簡(jiǎn)單的編程方式。⑶易用性:授權(quán)實(shí)體在所需時(shí)間可以簡(jiǎn)單快捷的使用應(yīng)用程序。⑷保密性:確保信息不會(huì)暴漏給未授權(quán)查看的人使用。⑸系統(tǒng)性:將各個(gè)功能模塊有機(jī)融合在一個(gè)系統(tǒng)的整體中。
2.1.2設(shè)計(jì)原則
⑴目標(biāo)明確。在信息系統(tǒng)中的每一個(gè)子系統(tǒng)都是為了達(dá)到某種效果而設(shè)計(jì)。系統(tǒng)的邊界是否適合,系統(tǒng)內(nèi)部的目標(biāo)是否統(tǒng)一。這些將直接影響整個(gè)系統(tǒng)的功能。車(chē)輛信息管理系統(tǒng)就是實(shí)現(xiàn)一個(gè)節(jié)省人力,能使管理流程科學(xué)化的系統(tǒng)。
⑵結(jié)構(gòu)清晰。系統(tǒng)與系統(tǒng)之間的層次分清楚,比較要分明吧,這樣便于實(shí)現(xiàn)總目標(biāo),使得信息交流方便。
2.1.3模塊劃分
數(shù)據(jù)庫(kù)的設(shè)計(jì)需求具體實(shí)現(xiàn)對(duì)各種信息的保存修改和查詢(xún)等方面。因此一個(gè)滿(mǎn)足系統(tǒng)數(shù)據(jù)庫(kù)必須充分的照顧到各種新的輸入輸出以免遺漏導(dǎo)致開(kāi)發(fā)返工。通過(guò)對(duì)系統(tǒng)功能的分析,數(shù)據(jù)庫(kù)應(yīng)該包括登錄表、車(chē)主信息表、年檢記錄表、保險(xiǎn)信息表、違章記錄表、事故記錄表六個(gè)表。分別儲(chǔ)存我們必須的信息。
VB開(kāi)發(fā)根據(jù)系統(tǒng)的功能要求將系統(tǒng)分解為三層六大模塊,三個(gè)層次分為:登錄界面,主窗體,子查詢(xún)窗體。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
1、登錄界面:當(dāng)我們打開(kāi)應(yīng)用程序的時(shí)候首先進(jìn)入登錄界面,分為注冊(cè)和登錄兩個(gè)窗體分別實(shí)現(xiàn)注冊(cè)新用戶(hù)和通過(guò)用戶(hù)密碼認(rèn)定進(jìn)入車(chē)輛信息管理系統(tǒng)功能
2、主窗體:登錄成功之后普通用戶(hù)進(jìn)入主窗體我們可以選擇我們要查詢(xún)的項(xiàng)目,管理員用戶(hù)可以進(jìn)入管理員窗體對(duì)數(shù)據(jù)進(jìn)行添加、修改、刪除、查詢(xún)功能。
3、子查詢(xún)窗體:普通用戶(hù)選擇查詢(xún)項(xiàng)目進(jìn)入子項(xiàng)目,輸入相應(yīng)的車(chē)牌號(hào)即可查詢(xún)相關(guān)的信息。管理員用戶(hù)進(jìn)入管理窗體,對(duì)車(chē)輛信息進(jìn)行添加、修改、刪除、查詢(xún)處理。
六大模塊分為:車(chē)主信息,年檢信息,事故信息,違章信息,保險(xiǎn)信息,用戶(hù)信息。
1、車(chē)主信息:包含了車(chē)主的姓名,出生日期,發(fā)證日期,車(chē)輛類(lèi)型,車(chē)主年齡,證件有效期,性別,證件號(hào),籍貫幾個(gè)方面。
2、年間信息:本模塊包含了車(chē)輛年間的信息記錄,從購(gòu)車(chē)到現(xiàn)在所有的年間信息在本模塊顯示
3、事故信息:事故的時(shí)間,地點(diǎn),原因。對(duì)方姓名,對(duì)方的車(chē)號(hào),處理方式,責(zé)任認(rèn)定等等信息。
4、違章信息:包括違章的原因,處罰,時(shí)間,扣分情況,處理情況等信息。
5、保險(xiǎn)信息:這里主要包括了保險(xiǎn)日期,類(lèi)型,備注生效情況。
6、賬戶(hù)信息:主要包括帳號(hào),密碼,用戶(hù)類(lèi)型信息。車(chē)輛信息管理系統(tǒng)流程圖如圖2-1所示。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
圖2-1車(chē)輛信息管理系統(tǒng)流程圖
2.2可行性分析
1、經(jīng)濟(jì)可行性分析
通過(guò)計(jì)算機(jī)對(duì)車(chē)輛信息進(jìn)行全面的自動(dòng)化管理,大大提高了信息的管理效率。通過(guò)對(duì)車(chē)輛信息進(jìn)行全面的管理和分析,可以及時(shí)的發(fā)現(xiàn)各種問(wèn)題。提高對(duì)車(chē)輛信息的掌握度,使車(chē)輛信息管理更加科學(xué)化系統(tǒng)化。
2、技術(shù)可行性分析
利用VB+Access實(shí)現(xiàn)簡(jiǎn)單、實(shí)用、安全性高的技術(shù)特點(diǎn)、完全可以開(kāi)發(fā)出一套適合個(gè)人的車(chē)輛信息管理,而且計(jì)算機(jī)自動(dòng)化的辦公管理會(huì)使得車(chē)輛信息管理更加清晰,實(shí)現(xiàn)通過(guò)計(jì)算機(jī)對(duì)信息進(jìn)行查詢(xún),輸入,輸出等一系列功能。
3、社會(huì)可行性分析
對(duì)于車(chē)輛信息管理來(lái)說(shuō),主要考慮車(chē)輛信息獲取的獲取條件。在計(jì)算機(jī)軟硬件技術(shù)和網(wǎng)絡(luò)技術(shù)飛速發(fā)展與普及,要求車(chē)輛信息必須適應(yīng)自動(dòng)化管理的模式,而且軟件的易用性提高,可以使人們更方便快捷的使用車(chē)輛信息管理系統(tǒng)。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
第三章系統(tǒng)功能的實(shí)現(xiàn)
經(jīng)過(guò)上一章的分析,和整體設(shè)計(jì)的方案確定。接下來(lái)我們將進(jìn)行具體的設(shè)計(jì),去實(shí)現(xiàn)我們想要實(shí)現(xiàn)的功能。本章重點(diǎn):創(chuàng)建數(shù)據(jù)庫(kù),創(chuàng)建工程,數(shù)據(jù)表的設(shè)計(jì),工程窗體的設(shè)計(jì)。
3.1工程與數(shù)據(jù)庫(kù)的創(chuàng)建
3.1.1創(chuàng)建工程
1、運(yùn)行VB程序選擇標(biāo)準(zhǔn)EXE點(diǎn)擊打開(kāi)創(chuàng)建工程界面如圖3-3所示。
圖3-1創(chuàng)建工程界面
2、保存工程:
保存工程界面如圖3-4所示文件名輸入車(chē)輛信息管理,下拉可以選擇文件的保存類(lèi)型,點(diǎn)擊保存即可保存工程,工程創(chuàng)建完成。
圖3-2保存工程界面
3.1.2創(chuàng)建數(shù)據(jù)庫(kù)
首先我們打開(kāi)VB程序,選擇我們創(chuàng)建好的工程初始界面如圖3-3所示在菜單欄藍(lán)
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
色標(biāo)識(shí)處點(diǎn)擊外接程序之后選擇可視化數(shù)據(jù)程序管理器。
圖3-3初始界面
可視化數(shù)據(jù)管理器如圖3-2所示點(diǎn)擊文件,下拉新建選擇Access,保存7.0MDB文件生成數(shù)據(jù)庫(kù),即可生成我們需要的數(shù)據(jù)庫(kù)。
圖3-4可視化數(shù)據(jù)管理器
3.2登錄窗體和注冊(cè)窗體的設(shè)計(jì)
3.2.1系統(tǒng)登錄表
系統(tǒng)登錄:包括登錄帳號(hào)、密碼、用戶(hù)類(lèi)型。登錄信息E-R圖如圖3-5所示。
圖3-5登錄信息E-R圖
登錄表設(shè)計(jì)如圖3-6所示右鍵單擊表一部分可以進(jìn)入設(shè)計(jì)視圖,這個(gè)時(shí)候會(huì)彈出對(duì)話(huà)框提示我們保存表。
圖3-6登錄表設(shè)計(jì)
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
保存對(duì)話(huà)框如圖3-7所示以賬戶(hù)登錄為表名稱(chēng)保存之后進(jìn)入設(shè)計(jì)視圖,可以繼續(xù)進(jìn)行設(shè)計(jì)。
圖3-7保存對(duì)話(huà)框
賬戶(hù)信息表設(shè)計(jì)視圖如圖3-8所示,設(shè)置賬號(hào)為主鍵,密碼和用戶(hù)類(lèi)型。帳號(hào)和密碼數(shù)據(jù)類(lèi)型為數(shù)字,用戶(hù)類(lèi)型的數(shù)據(jù)類(lèi)型為文本。
圖3-8賬戶(hù)信息表設(shè)計(jì)視圖
完成了數(shù)據(jù)的屬性設(shè)置之后我們要對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)的錄入,錄入數(shù)據(jù)后的數(shù)據(jù)表視圖如圖3-9所示。
圖3-9數(shù)據(jù)表視圖
3.2.2設(shè)置登錄窗體
首先我們進(jìn)行登錄表窗體的設(shè)計(jì),控件的布局設(shè)置,登錄窗體設(shè)計(jì)視圖如圖3-10所示。
圖3-10登錄窗體設(shè)計(jì)視圖
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
登錄窗體包含用戶(hù)名,密碼兩個(gè)輸入框。登錄,退出兩個(gè)按鈕。三個(gè)標(biāo)簽框,一個(gè)圖片框,一個(gè)ADO控件。
選擇Form窗體在屬性中把Caption改為車(chē)輛信息管理。
標(biāo)簽控件Label1屬性中把Caption 改為車(chē)輛信息管理系統(tǒng),F(xiàn)ont字體設(shè)置為宋體粗體傾斜48號(hào)字體,Alignment設(shè)置為2-Center,Autosize設(shè)置為T(mén)rue,BackStyle選擇設(shè)為0-Transparent。
標(biāo)簽控件Label2屬性設(shè)置中在Caption 后輸入帳號(hào),標(biāo)簽控件Label3屬性設(shè)置中在Caption 后輸入密碼。公用屬性Font字體選擇為宋體粗體傾斜二號(hào)號(hào)字體,Alignment選擇為2-Center,Autosize選擇為T(mén)rue.BackStyle選擇設(shè)為0-Transparent.文本控件Text1對(duì)應(yīng)帳號(hào)標(biāo)簽,文本控件Text2對(duì)應(yīng)密碼標(biāo)簽。公用屬性設(shè)置中把Text對(duì)應(yīng)的名字刪除,字體選擇宋體三號(hào)字體。在Text2中另外設(shè)PaxxWordChar后邊輸入“*”,設(shè)置密文密碼。
按鈕控件Command1屬性設(shè)置中Caption 后邊輸入登錄,按鈕控件Command2屬性設(shè)置中Caption后輸入注冊(cè), 公用屬性Font字體設(shè)置為宋體三號(hào)字體。
圖片控件Image1屬性中選擇Picture后邊可以選擇你喜歡背景的圖片,Stretch選擇設(shè)為T(mén)rue.使圖片適應(yīng)控件大小。右鍵單擊圖片控件會(huì)出現(xiàn)一個(gè)選擇菜單,選擇置后可以使其他控件顯示在圖片之前顯示,圖片控件設(shè)置以后不在贅述。
ADO控件的屬性設(shè)置Visible設(shè)置為False,以后ADO控件均執(zhí)行此設(shè)置以后出現(xiàn)不再贅述。
在工具欄右鍵單擊選擇部件,勾選添加控件圖如圖3-11所示,可以添加ADO控件到工具欄。
圖3-11添加控件圖
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
之后點(diǎn)擊確定即可在工具欄顯示ADO控件,添加進(jìn)窗體即可。
ADO控件鏈接數(shù)據(jù)庫(kù),右鍵點(diǎn)擊ADODC控件選擇屬性出現(xiàn)屬性頁(yè)如圖3-12所示。
圖3-12屬性頁(yè)
點(diǎn)擊生成選擇界面選擇數(shù)據(jù)鏈接界面如圖3-13藍(lán)線(xiàn)選項(xiàng),點(diǎn)擊下一步進(jìn)行鏈接。
圖3-13選擇數(shù)據(jù)鏈接界面
選擇已創(chuàng)建好的數(shù)據(jù)庫(kù),測(cè)試鏈接成功測(cè)試連接界面如圖3-14所示點(diǎn)擊確定。提示測(cè)試鏈接成功就代表我們成功鏈接數(shù)據(jù),之后我們可以對(duì)數(shù)據(jù)的信息進(jìn)行操作。
圖3-14測(cè)試鏈接界面
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
返回屬性頁(yè)選擇記錄源命令類(lèi)型,選擇2-adCndTable下邊可以選擇調(diào)用的表如果沒(méi)有出現(xiàn)需要調(diào)用表的名字,記錄源如圖3-15所示只需輸入表的名字即可,就可以選擇我們需要的數(shù)據(jù)打開(kāi)的是哪個(gè)表。點(diǎn)擊確定即可確定我們需要鏈接的表。
圖3-15記錄源
登錄窗體關(guān)鍵程序如下:
Adodc1.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + App.Path + “車(chē)輛信息.mdb;” Adodc1.CommandType = adCmdText Adodc1.RecordSource = “select * from 登錄
where 帳號(hào) ='”& Trim(Text1.Text)&“'” Adodc1.Refresh '(這是給ADODC設(shè)置數(shù)據(jù)庫(kù)及數(shù)據(jù)源并刷新數(shù)據(jù)源)If Adodc1.Recordset.Fields(“用戶(hù)類(lèi)型”)= “管理員” Then
身份權(quán)限判斷 If Adodc1.Recordset.RecordCount >“ 0” Then
'查找存在該用戶(hù) If Adodc1.Recordset.Fields(“密碼”)<> Text2.Text Then
'核對(duì)用戶(hù)密碼 MsgBox “密碼錯(cuò)誤,請(qǐng)重新輸入!”
’消息盒子 Text2.SetFocus’獲取焦點(diǎn)
3.2.3注冊(cè)窗體
添加窗體在工程欄中右鍵單擊出現(xiàn)添加選項(xiàng),再選擇窗體,點(diǎn)擊確定即完成創(chuàng)建窗體,右鍵單擊新建好的窗體選擇保存窗體即可保存新窗體。打開(kāi)新的窗體跟登陸窗體操作類(lèi)似。
對(duì)于注冊(cè)窗體的控件布局設(shè)置,注冊(cè)窗體的設(shè)計(jì)視圖如圖3-16所示。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
圖3-16注冊(cè)窗體的設(shè)計(jì)視圖
選擇Form窗體在屬性中把Caption改為注冊(cè)界面。
標(biāo)簽控件Label1屬性中Caption 改為歡迎注冊(cè)本系統(tǒng),Font字體設(shè)置為宋體粗體傾斜48號(hào)字體,Alignment設(shè)置為2-Center,Autosize設(shè)置為T(mén)rue.BackStyle選擇設(shè)為0-Transparent.標(biāo)簽控件Label2屬性中Caption 后輸入“帳號(hào)”,Font把字體設(shè)置為宋體粗體傾斜二號(hào)字體,Alignment選擇為2-Center,Autosize選擇為T(mén)rue, BackStyle選擇設(shè)為0-Transparent.標(biāo)簽控件Label3屬性中Caption 后輸入密碼,Font字體選擇為宋體粗體傾斜二號(hào)號(hào)字體,Alignment選擇為2-Center,Autosize選擇為T(mén)rue.BackStyle選擇設(shè)為0-Transparent.文本控件Text1對(duì)應(yīng)帳號(hào)標(biāo)簽在屬性設(shè)置中把Text對(duì)應(yīng)的名字刪除,字體選擇宋體常規(guī)三號(hào)字體。
文本控件Text2對(duì)應(yīng)密碼標(biāo)簽在屬性設(shè)置中把Text對(duì)應(yīng)的名字刪除,字體選擇宋體三號(hào)字體。
按鈕控件Command1屬性設(shè)置界面中Caption 后邊改為注冊(cè), ,Font字體設(shè)置為宋體三號(hào)字體。
按鈕控件Command2屬性設(shè)置界面中Caption 后邊改為返回,Font字體設(shè)置為宋體三號(hào)字體。
ADO的鏈接方法與登錄窗體的相同此處不再贅述。注冊(cè)程序代碼如下:
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
Adodc1.RecordSource = “ select * from 登錄” Adodc1.Refresh’獲取數(shù)據(jù)表信息 Adodc1.Recordset.AddNew Adodc1.Recordset.Fields(“帳號(hào)”)= Trim(Text1.Text)Adodc1.Recordset.Fields(“密碼”)= Trim(Text2.Text)Adodc1.Recordset.Update
’添加信息到登錄表
3.2.4用戶(hù)信息管理窗體
用戶(hù)信息窗體控件布局設(shè)置,用戶(hù)信息窗體設(shè)計(jì)圖如圖3-17所示。
圖3-17用戶(hù)信息窗體設(shè)計(jì)圖
選擇Form窗體在屬性中把Caption改為用戶(hù)信息管理。添加一個(gè)Frame1控件選擇置后可以在里邊添加控件。
標(biāo)簽控件Label1屬性中Caption 后邊改為用戶(hù)信息管理界面,Font字體設(shè)置為宋體傾斜小初字體,Alignment設(shè)置為2-Center,Autosize設(shè)置為T(mén)rue.BackStyle選擇設(shè)為0-Transparent.標(biāo)簽控件Label2屬性中Caption后邊改為帳號(hào),標(biāo)簽控件Label3屬性中Caption 后邊改為密碼,標(biāo)簽控件Label4屬性中Caption 后邊改為用戶(hù)類(lèi)型,公用屬性Font字體設(shè)置為宋體2號(hào)字體,Alignment設(shè)置為2-Center,Autosize設(shè)置為T(mén)rue.BackStyle選擇設(shè)為0-Transparent.文本控件Text1對(duì)應(yīng)帳號(hào)標(biāo)簽,文本控件Text2對(duì)應(yīng)密碼標(biāo)簽,文本控件Text3對(duì)應(yīng)用戶(hù)類(lèi)型標(biāo)簽在屬性設(shè)置中把Text對(duì)應(yīng)的名字刪除,字體選擇宋體常規(guī)三號(hào)字體。
按鈕控件Command1屬性中Caption 后邊改為查詢(xún)用戶(hù), 按鈕控件Command2屬性
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
中Caption 后邊改為添加管理 ,按鈕控件Command3屬性界面中Caption 后邊改為刪除用戶(hù) ,按鈕控件Command4屬性界面中Caption 后邊改為返回 ,他們的Font字體選擇為宋體三號(hào)字體。Style設(shè)置為1-Graphical,BackColor可以設(shè)置想要的顏色。
DataGrid控件在登錄界面引用ADO控件時(shí)已經(jīng)引用過(guò)了,在工具欄里邊直接放進(jìn)窗體即可,屬性中的DataSource選為Adoac1。本設(shè)置此控件設(shè)置屬性均相同其他窗體不再贅述。
ADO控件的設(shè)置與登錄窗體,不贅述。注冊(cè)窗體是添加按鈕,而添加管理,查詢(xún)用戶(hù),刪除用戶(hù)分別是修改和查詢(xún),查出功能的實(shí)現(xiàn)主要代碼如下:
Adodc1.RecordSource = “SELECT * FROM 登錄 WHERE 帳號(hào)='” + Trim(Text1.Text)+ “'” Adodc1.Refresh
’獲取查詢(xún)條件
With Text2
’設(shè)置控件綁定信息 Set Text2.DataSource = Adodc1 Text2.DataField = “密碼” End With With Text3 Set Text3.DataSource = Adodc1 Text3.DataField = “用戶(hù)類(lèi)型” End With End Sub Private Sub Command2_Click()
’修改程序
Adodc1.RecordSource = “select * from 違章 where 車(chē)牌號(hào)碼=”& Text1.Text &“"
’ 通過(guò)主鍵修改
Adodc1.Recordset.Fields(”帳號(hào)“)= Text1.Text Adodc1.Recordset.Fields(”密碼“)= Text2.Text Adodc1.Recordset.Fields(”用戶(hù)類(lèi)型“)= Text3.Text Adodc1.Recordset.Update MsgBox ”修改成功!“ End Sub
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
Private Sub Command3_Click()If Me.Adodc1.Recordset.RecordCount
=
0
Or
Me.Adodc1.Recordset.EOF Then
’判斷記錄是否為空
Exit Sub End If
Me.Adodc1.Recordset.Delete
’刪除記錄
Me.Adodc1.Recordset.MoveNext
’移到嚇一條記錄 If Me.Adodc1.Recordset.RecordCount = 0 Then Exit Sub End If If Me.Adodc1.Recordset.EOF Then Me.Adodc1.Recordset.MoveLast MsgBox ”刪除成功!" End Sub 3.3用戶(hù)主窗體和管理員窗體
3.3.1普通用戶(hù)窗體
普通用戶(hù)窗體控件布局設(shè)置,普通用戶(hù)窗體的設(shè)計(jì)視圖如圖3-19所示。
圖3-18普通用戶(hù)窗體的設(shè)計(jì)視圖
普通用戶(hù)窗體所示包含系統(tǒng)菜單欄,兩個(gè)標(biāo)簽控件,六個(gè)按鈕控件,一個(gè)Timer1
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
控件。
Unload Me 關(guān)閉當(dāng)前窗體。Form1.Show 打開(kāi)相應(yīng)的窗體。
右鍵單擊窗體空白部分選擇菜單欄編輯器,設(shè)置內(nèi)容菜單欄編輯器視圖如圖3-19所示。
圖3-19欄編輯器視圖
輸入標(biāo)題和名字,按向下的箭頭即可添加,添加結(jié)束后點(diǎn)擊確定按鈕即可完成創(chuàng)建,注意如果要?jiǎng)?chuàng)建子菜單可以選擇左右的箭頭來(lái)設(shè)置子菜單。菜單的效果可以設(shè)置與按鈕的效果相同可以打開(kāi)其他的窗體,子窗體具有相同的效果。
選擇Form窗體在屬性中把Caption改為車(chē)輛信息管理系統(tǒng)。
時(shí)間顯示設(shè)置要添加Timer1控件,寫(xiě)入代碼在窗體內(nèi)加入Timer1.Interval = 1000,在控件內(nèi)加入Label1.Caption = Now()即可顯示現(xiàn)在時(shí)間。把Timer1右鍵單擊選擇置后即可在運(yùn)行界面不顯示。
標(biāo)簽控件Label1屬性界面中Caption 后邊的值刪除,Font字體選擇為宋體三號(hào)字體。標(biāo)簽控件Label2屬性中Caption 后邊改為現(xiàn)在時(shí)間,Font字體設(shè)置為宋體二號(hào)字體,公共屬性Alignment設(shè)置為2-Center,Autosize設(shè)置為T(mén)rue.BackStyle后選擇0-Transparent。
按鈕控件Command1屬性中Caption 后邊改為車(chē)主信息,按鈕控件Command2屬性界面中Caption 后邊改為年檢信息,按鈕控件Command3屬性中Caption 后邊改為保險(xiǎn)信息,按鈕控件Command4屬性中Caption 后邊改為事故信息,按鈕控件Command5屬性中Caption 后邊改為違章信息, 按鈕控件Command6屬性中Caption 后邊改為退出, ,公用屬性Font字體選擇為宋體三號(hào)字體。
窗體的完整程序見(jiàn)附錄,以后不做特殊說(shuō)明本論文所有程序均在附錄顯示。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
3.3.2管理員窗體
管理員窗體的控件設(shè)置內(nèi)容位置,管理員窗體的設(shè)計(jì)視圖如圖3-20所示。
圖3-20管理員窗體的設(shè)計(jì)視圖
管理員窗體有一個(gè)菜單欄,兩個(gè)標(biāo)簽控件,六個(gè)按鈕控件,一個(gè)Timer1控件。首先是菜單欄的設(shè)置內(nèi)容,菜單欄設(shè)計(jì)視圖如圖3-21所示。
圖3-21菜單欄設(shè)計(jì)視圖
選擇Form窗體在屬性中把Caption改為車(chē)輛信息管理系統(tǒng)。時(shí)間顯示設(shè)置要添加Timer1控件,屬性設(shè)置與普通用戶(hù)界面相同。標(biāo)簽控件屬性與普通用戶(hù)界面相同此處不贅述。
按鈕控件Command1屬性中Caption 后邊改為車(chē)主信息管理,按鈕控件Command2
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
屬性中Caption 后邊改為年檢信息管理 ,按鈕控件Command3屬性中Caption 后邊改為保險(xiǎn)信息管理 ,按鈕控件Command4屬性中Caption 后邊改為事故信息管理 ,按鈕控件Command5屬性中Caption 后邊改為違章信息管理,按鈕控件Command6屬性中Caption 后邊改為切換普通界面。公用屬性Font字體設(shè)置為宋體三號(hào)字體。
按Ctrl加鼠標(biāo)左鍵可以選定多個(gè)按鈕控件,選擇菜單欄里邊的格式可以編輯控件的大小統(tǒng)一和位置的統(tǒng)一。可以頂端,底端,靠左右對(duì)齊可以使界面更加美觀優(yōu)化。
主要用到程序語(yǔ)言Form3.CD.Visible = True可以使指定的窗體控件改變顯示屬性。
3.4車(chē)主信息管理窗體
3.4.1車(chē)主信息表
車(chē)主信息:包含了車(chē)主的姓名,車(chē)輛類(lèi)型,車(chē)主年齡,性別,證件號(hào),籍貫,駕駛信息等等。車(chē)主信息E-R圖如圖3-22所示。
圖3-22車(chē)主信息E-R圖
在工具菜單欄選擇創(chuàng)建,創(chuàng)建車(chē)主信息表對(duì)表內(nèi)容的屬性設(shè)置,車(chē)牌號(hào)碼,車(chē)主的姓名,籍貫,車(chē)輛類(lèi)型,性別,證件號(hào),車(chē)主年齡,發(fā)證日期,證件有效期,出生日期。數(shù)據(jù)的屬性車(chē)主信息表設(shè)計(jì)視圖如圖3-23所示。
圖3-23車(chē)主信息表設(shè)計(jì)視圖
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
這里出生日期文本里邊日期可以輸入掩碼顯示格式,點(diǎn)擊輸入掩碼后邊彈出窗體,選擇長(zhǎng)日期下一步即可設(shè)定提起掩碼。輸入掩碼圖如圖3-24所示。
圖3-24輸入掩碼圖
經(jīng)過(guò)數(shù)據(jù)屬性的設(shè)計(jì),對(duì)數(shù)據(jù)進(jìn)行錄入之后車(chē)主信息表的數(shù)據(jù)表,數(shù)據(jù)表視圖如圖3-25所示。
圖3-25數(shù)據(jù)表視圖
3.4.2車(chē)主信息窗體設(shè)計(jì)
車(chē)主信息窗體主的控件布局視圖,車(chē)主信息窗體設(shè)計(jì)視圖如圖3-26所示。
圖3-26車(chē)主信息窗體設(shè)計(jì)視圖
車(chē)主信息窗體包括十個(gè)標(biāo)簽控件,十個(gè)文本控件,六個(gè)按鈕控件,一個(gè)ADO控件,一個(gè)DataGrid控件。
選擇Form窗體在屬性中把Caption改為車(chē)輛信息管理系統(tǒng)。
標(biāo)簽控件Label1屬性中Caption 后邊改為車(chē)牌號(hào),標(biāo)簽控件Label2屬性中Caption 后邊改為車(chē)牌類(lèi)型,標(biāo)簽控件Label3屬性中Caption 后邊改為性別, 標(biāo)簽控件Label屬性
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
中Caption 后邊改為籍貫,標(biāo)簽控件Label5屬性中Caption 后邊改為車(chē)主姓名,標(biāo)簽控件Label6屬性中Caption 后邊改為證件有效期,標(biāo)簽控件Label7屬性中Caption 后邊改為駕駛年齡,標(biāo)簽控件Label8屬性中Caption 后邊改為證件號(hào),標(biāo)簽控件Label9屬性中Caption 后邊改為出生日期,標(biāo)簽控件Label10屬性中Caption 后邊改為發(fā)證日期,公共屬性Font字體設(shè)置為宋體2號(hào)字體,Alignment設(shè)置為2-Center,Autosize設(shè)置為T(mén)rue.BackStyle選擇為0-Transparent.文本控件Text1對(duì)應(yīng)車(chē)牌號(hào)標(biāo)簽,文本控件Text2對(duì)應(yīng)車(chē)輛類(lèi)型標(biāo)簽,文本控件Text3對(duì)應(yīng)車(chē)主姓名標(biāo)簽,文本控件Text4對(duì)應(yīng)性別標(biāo)簽,文本控件Text5對(duì)應(yīng)出生日期標(biāo)簽,文本控件Text6對(duì)應(yīng)證件有效期標(biāo)簽,文本控件Text7對(duì)應(yīng)籍貫標(biāo)簽,文本控件Text8對(duì)應(yīng)駕駛年齡標(biāo)簽,文本控件Text9對(duì)應(yīng)發(fā)證日期標(biāo)簽,文本控件Text10對(duì)應(yīng)證件號(hào)標(biāo)簽。公用屬性設(shè)置中把Text對(duì)應(yīng)的名字刪除,字體選擇宋體常規(guī)三號(hào)字體。
按鈕控件Command1屬性中Caption 后邊改為查詢(xún), 按鈕控件Command2屬性中Caption 后邊改為返回 ,公用屬性Font字體設(shè)置為宋體三號(hào)字體。
按鈕控件Command3屬性中Caption 后邊改為添加 按鈕控件Command4屬性中Caption 后邊改為修改 ,按鈕控件Command5屬性中Caption 后邊改為刪除,按鈕控件Command6屬性中Caption 后邊改為返回 ,公用屬性Font字體設(shè)置為宋體三號(hào)字體。Visible設(shè)置為False。Style設(shè)置1-Graphical,BackColor可以設(shè)置想要的顏色。
車(chē)主,年檢,保險(xiǎn),違章,事故。六個(gè)按鈕控件屬性設(shè)置是相同的其他窗體出現(xiàn)不再贅述。標(biāo)簽控件和文本控件的公用屬性相同在其他窗體不再贅述。
ADO控件的操作與上邊的數(shù)據(jù)連接操作相同只有表記錄選擇改變,ADO控件記錄選擇車(chē)主屬性頁(yè)如圖3-27所示。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
圖3-27車(chē)主屬性頁(yè)
3.5年檢信息管理窗體
3.5.1年檢信息表
年檢信息:包括從購(gòu)車(chē)到現(xiàn)在所有的年間信息,年檢信息E-R圖如圖3-28所示。
圖3-28年檢信息E-R圖
年檢記錄表的設(shè)計(jì)為文本屬性,年檢記錄表設(shè)計(jì)視圖如圖3-29所示。
圖3-29年檢記錄表設(shè)計(jì)視圖
年檢記錄的數(shù)據(jù)輸入之后,年檢記錄數(shù)據(jù)表視圖如圖3-30所示。
圖3-30年檢記錄數(shù)據(jù)表視圖
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
3.5.2年檢記錄窗體設(shè)計(jì)
年檢記錄窗體的控件布局,年檢記錄窗體設(shè)計(jì)視圖如圖3-31所示。
圖3-31年檢記錄窗體設(shè)計(jì)視圖
年檢信息窗體包括七個(gè)標(biāo)簽控件,七個(gè)文本控件,六個(gè)按鈕控件,一個(gè)ADO控件,一個(gè)DataGrid控件。
選擇Form窗體在屬性中把Caption改為年檢記錄。
標(biāo)簽控件Label1屬性中Caption 后邊改為車(chē)牌號(hào),標(biāo)簽控件Label2屬性中Caption 后邊改為檢查日期,標(biāo)簽控件Label3屬性中Caption 后邊改為檢查日期,標(biāo)簽控件Label4屬性中Caption 后邊改為檢查日期,標(biāo)簽控件Label5屬性中Caption 后邊改為備注,標(biāo)簽控件Label6屬性中Caption 后邊改為備注,標(biāo)簽控件Label7屬性中Caption后邊 改為備注。
文本控件Text1對(duì)應(yīng)車(chē)牌號(hào)標(biāo)簽,文本控件Text2對(duì)應(yīng)檢查日期標(biāo)簽,文本控件Text3對(duì)應(yīng)檢查日期標(biāo)簽,文本控件Text4對(duì)應(yīng)檢查日期標(biāo)簽,文本控件Text5對(duì)應(yīng)備注標(biāo)簽,文本控件Text6對(duì)應(yīng)備注標(biāo)簽,文本控件Text7對(duì)應(yīng)備注標(biāo)簽。
ADO控件的操作與上邊的數(shù)據(jù)連接操作相同只有表記錄選擇改變,ADO控件記錄選擇年檢屬性頁(yè)如圖3-32所示。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
圖3-32年檢屬性頁(yè)
3.6事故信息管理窗體
3.6.1事故信息表
事故信息:包括事故的時(shí)間,地點(diǎn),原因。對(duì)方姓名,對(duì)方的車(chē)號(hào),處理方式,責(zé)任認(rèn)定等信息。事故信息E-R圖如圖3-33所示。
圖3-33事故信息E-R圖
事故信息的數(shù)據(jù)屬性設(shè)置,事故信息設(shè)計(jì)視圖如圖3-34所示。
圖3-34事故信息設(shè)計(jì)視圖
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
事故信息輸入數(shù)據(jù),事故信息數(shù)據(jù)表視圖如圖3-35所示。
圖3-35事故信息數(shù)據(jù)表視圖
3.6.2事故信息窗體設(shè)計(jì)
事故窗體的控件布局,事故窗體設(shè)計(jì)視圖如圖3-36所示。
圖3-36事故窗體設(shè)計(jì)視圖
事故信息窗體包括九個(gè)標(biāo)簽控件,九個(gè)文本控件,六個(gè)按鈕控件,一個(gè)ADO控件,一個(gè)DataGrid控件。
選擇Form窗體在屬性中把Caption改為事故記錄。
標(biāo)簽控件Label1屬性中Caption 后邊改為車(chē)牌號(hào),標(biāo)簽控件Label2屬性中Caption 后邊改為事故時(shí)間,標(biāo)簽控件Label3屬性中Caption 后邊改為事故地點(diǎn),標(biāo)簽控件Label4屬性中Caption后邊改為事故原因,標(biāo)簽控件Label5屬性中Caption 后邊改為對(duì)方車(chē)號(hào),標(biāo)簽控件Label6屬性中Caption 后邊改為對(duì)方姓名,標(biāo)簽控件Label7屬性中Caption 后邊改為處理方式,標(biāo)簽控件Label8屬性中Caption后邊 改為責(zé)任認(rèn)定,標(biāo)簽控件Label9屬性中Caption后邊改為賠付內(nèi)容, 文本控件Text1對(duì)應(yīng)車(chē)牌號(hào)標(biāo)簽,文本控件Text2對(duì)應(yīng)事故時(shí)間標(biāo)簽,文本控件Text3對(duì)應(yīng)事故地點(diǎn)標(biāo)簽,文本控件Text4對(duì)應(yīng)事故原因標(biāo)簽,文本控件Text5對(duì)應(yīng)對(duì)方車(chē)號(hào)標(biāo)簽,文本控件Text6對(duì)應(yīng)對(duì)方姓名標(biāo)簽,文本控件Text7對(duì)應(yīng)處理方式標(biāo)簽,文本控件Text8對(duì)應(yīng)責(zé)任認(rèn)定標(biāo)簽,文本控件Text9對(duì)應(yīng)賠付內(nèi)容標(biāo)簽。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
ADO控件的操作與上邊的數(shù)據(jù)連接操作相同只有表記錄選擇改變,ADO控件記錄選擇事故屬性頁(yè)如圖3-37所示。
圖3-37事故屬性頁(yè)
3.7違章信息管理窗體
3.7.1違章信息表
違章信息:包括違章的原因,處罰,時(shí)間,扣分情況,處理情況等等均在本模塊顯示。違章信息E-R圖如圖3-38所示:
圖3-38違章信息E-R圖
違章信息的數(shù)據(jù)屬性設(shè)置,違章信息表設(shè)計(jì)視圖如圖3-39所示。
圖3-39違章信息表設(shè)計(jì)視圖
違章信息輸入數(shù)據(jù)后數(shù)據(jù)表視圖,違章信息數(shù)據(jù)表視圖如圖3-40所示。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
圖3-40違章信息數(shù)據(jù)表視圖
3.7.2違章信息窗體設(shè)計(jì)
違章信息窗體的控件布局設(shè)置,違章信息窗體設(shè)計(jì)視圖如圖3-41所示。
圖3-41違章信息窗體設(shè)計(jì)視圖
違章信息窗體包括六個(gè)標(biāo)簽控件,六個(gè)文本控件,六個(gè)按鈕控件,一個(gè)ADO控件,一個(gè)DataGrid控件。
選擇Form窗體在屬性中把Caption改為違章記錄。
標(biāo)簽控件Label1屬性中Caption 后邊改為車(chē)牌號(hào),標(biāo)簽控件Label2屬性中Caption 后邊改為違章原因,標(biāo)簽控件Label3屬性中Caption 后邊改為違章時(shí)間,標(biāo)簽控件Label4屬性中Caption 后邊改為處罰,標(biāo)簽控件Label5屬性中Caption 后邊改為扣分,標(biāo)簽控件Label6屬性中Caption 后邊改為備注, 文本控件Text1對(duì)應(yīng)車(chē)牌號(hào)標(biāo)簽,文本控件Text2對(duì)應(yīng)違章原因標(biāo)簽,文本控件Text3對(duì)應(yīng)違章時(shí)間標(biāo)簽,文本控件Text4對(duì)應(yīng)處罰標(biāo)簽,文本控件Text5對(duì)應(yīng)扣分標(biāo)簽,文本控件Text6對(duì)應(yīng)備注標(biāo)簽。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
ADO控件的操作與上邊的數(shù)據(jù)連接操作相同只有表記錄選擇改變,ADO控件記錄選擇,違章屬性頁(yè)如圖3-42所示。
圖3-42違章屬性頁(yè)
3.8保險(xiǎn)信息管理窗體
3.8.1保險(xiǎn)信息表
保險(xiǎn)信息:這里主要包括了保險(xiǎn)日期,類(lèi)型,備注生效情況。保險(xiǎn)信息E-R圖如圖3-43所示。
圖3-43保險(xiǎn)信息E-R圖
保險(xiǎn)信息表數(shù)據(jù)屬性的設(shè)置,保險(xiǎn)信息表設(shè)計(jì)視圖如圖3-44所示。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
圖3-44保險(xiǎn)信息設(shè)計(jì)視圖
數(shù)據(jù)屬如之后的數(shù)據(jù)表視圖,數(shù)據(jù)表視圖如圖3-45所示。
圖3-45數(shù)據(jù)表視圖
3.8.2保險(xiǎn)信息查詢(xún)窗體設(shè)計(jì)
保險(xiǎn)信息窗體的控件布局設(shè)置視圖,保險(xiǎn)信息設(shè)計(jì)視圖如圖3-46所示。
圖3-46保險(xiǎn)信息設(shè)計(jì)視圖
保險(xiǎn)信息窗體包括四個(gè)標(biāo)簽控件,四個(gè)文本控件,六個(gè)按鈕控件,一個(gè)ADO控件,一個(gè)DataGrid控件。
選擇Form窗體在屬性中把Caption改為保險(xiǎn)記錄。
標(biāo)簽控件Label1屬性中Caption 后邊改為車(chē)牌號(hào),標(biāo)簽控件Label2屬性中Caption 后邊改為保險(xiǎn)日期,標(biāo)簽控件Label3屬性中Caption 后邊改為保險(xiǎn)類(lèi)型,標(biāo)簽控件Label4屬性中Caption 后邊改為備注, 文本控件Text1對(duì)應(yīng)車(chē)牌號(hào)標(biāo)簽,文本控件Text2對(duì)應(yīng)保險(xiǎn)日期標(biāo)簽,文本控件Text3對(duì)應(yīng)保險(xiǎn)類(lèi)型標(biāo)簽,文本控件Text4對(duì)應(yīng)備注標(biāo)簽。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
ADO控件的操作與上邊的數(shù)據(jù)連接操作相同只有表記錄選擇改變,ADO控件記錄選擇保險(xiǎn)屬性頁(yè)如圖3-47所示。
圖3-47保險(xiǎn)屬性頁(yè)
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
第四章系統(tǒng)的具體實(shí)現(xiàn)與結(jié)論
通過(guò)第三章的設(shè)計(jì)和制作,車(chē)輛信息管理系統(tǒng)以設(shè)計(jì)完成。現(xiàn)在進(jìn)行系統(tǒng)功能的演示。本章重點(diǎn):對(duì)軟件調(diào)試,生成應(yīng)用程序,程序功能的演示與注釋。
4.1軟件調(diào)試
打開(kāi)工程之后,點(diǎn)擊任務(wù)欄上的運(yùn)行,啟動(dòng)進(jìn)行程序調(diào)試圖如圖4-1所示。
圖4-1調(diào)試圖
當(dāng)所有程序運(yùn)行正常時(shí)。點(diǎn)擊任務(wù)欄的運(yùn)行結(jié)束運(yùn)行,點(diǎn)擊文件下拉列表里邊有生成應(yīng)用程序。保存文件名稱(chēng)為車(chē)輛信息管理系統(tǒng),保存到桌面成工程界面如圖4-2生所示。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
圖4-2生成工程界面
生成桌面應(yīng)用程序桌面圖如圖4-3所示,到此設(shè)計(jì)全部完成。
圖4-3桌面圖
4.2系統(tǒng)演示
4.2.1系統(tǒng)注冊(cè)與登錄
1,系統(tǒng)注冊(cè)演示:打開(kāi)車(chē)輛信息管理應(yīng)用程序,點(diǎn)擊注冊(cè)按鈕即可進(jìn)入系統(tǒng)注冊(cè)窗體如圖4-4所示。通過(guò)注冊(cè)窗體用戶(hù)可以注冊(cè)新用戶(hù)使用本系統(tǒng),點(diǎn)擊注冊(cè)會(huì)有注冊(cè)成功的提示并且跳轉(zhuǎn)到登錄窗體,返回可以返回到登錄窗體。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
圖4-4系統(tǒng)注冊(cè)窗體
2,系統(tǒng)登錄演示:打開(kāi)車(chē)輛信息管理程序首先是系統(tǒng)登陸窗體,登錄窗體實(shí)現(xiàn)對(duì)帳號(hào)密碼的判定,如果輸入為空則提示重新輸入,登錄成功若是普通用戶(hù)即進(jìn)入普通用戶(hù)窗體,若是管理員用戶(hù)則進(jìn)入管理員窗體。注冊(cè)按鈕可以進(jìn)入注冊(cè)窗體。系統(tǒng)登陸窗體如圖4-5所示。
圖4-5系統(tǒng)登陸窗體
4.2.2普通用戶(hù)窗體
普通用戶(hù)登陸進(jìn)入普通用戶(hù)窗體,該窗體有菜單欄按鈕,包括車(chē)主信息,年檢記錄,保險(xiǎn)記錄,事故記錄,違章記錄,退出系統(tǒng)選項(xiàng)??梢赃M(jìn)入對(duì)應(yīng)的窗體,退出系統(tǒng)可退出系統(tǒng)。界面上的車(chē)主信息按鈕可以進(jìn)入車(chē)主信息查詢(xún)窗體,年檢記錄按鈕可以進(jìn)入年
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
檢記錄查詢(xún)窗體,保險(xiǎn)記錄可以進(jìn)入保險(xiǎn)記錄查詢(xún)窗體,事故記錄按鈕可以進(jìn)入事故記錄查詢(xún)按鈕,違章記錄按鈕可以進(jìn)圖違章記錄查詢(xún)窗體,退出按鈕就是退出程序,普通用戶(hù)窗體運(yùn)行圖如圖4-6所示。
圖4-6普通用戶(hù)窗體
車(chē)主信息查詢(xún)窗體可以對(duì)車(chē)輛的類(lèi)型,車(chē)主姓名,性別,籍貫,出生日期,證件號(hào),發(fā)證日期,證件有效期,駕駛年齡等信息進(jìn)行查詢(xún)。車(chē)主信息查詢(xún)窗體運(yùn)行程序如圖4-7所示。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
圖4-7車(chē)主信息查詢(xún)窗體
年檢記錄查詢(xún)窗體可以對(duì)車(chē)輛近幾年的年檢記錄日期和備注信息進(jìn)行查詢(xún),年檢記錄查詢(xún)窗體運(yùn)行程序如圖4-8所示。
圖4-8年檢記錄查詢(xún)窗體
保險(xiǎn)記錄查詢(xún)窗體可以對(duì)車(chē)輛的保險(xiǎn)日期,保險(xiǎn)類(lèi)型,保險(xiǎn)備注信息進(jìn)行查詢(xún)。保險(xiǎn)記錄查詢(xún)窗體運(yùn)行程序如圖4-9所示。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
圖4-9保險(xiǎn)記錄查詢(xún)窗體
事故記錄查詢(xún)窗體可以對(duì)車(chē)輛的事故時(shí)間,地點(diǎn),原因,對(duì)方車(chē)號(hào),對(duì)方姓名,處理方式,責(zé)任認(rèn)定,賠付內(nèi)容進(jìn)行查詢(xún)。事故記錄查詢(xún)窗體運(yùn)行程序如圖4-10所示。
圖4-10事故記錄查詢(xún)窗體
違章記錄查詢(xún)窗體可以對(duì)車(chē)輛的違章原因,時(shí)間,處罰,扣分,備注信息查詢(xún)。違章記錄查詢(xún)窗體程序運(yùn)行如圖4-11所示。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
圖4-11違章記錄查詢(xún)窗體
4.2.3管理員窗體
管理員登錄管理員窗體。管理員窗體有菜單欄按鈕,包括車(chē)主信息管理,年檢記錄管理,保險(xiǎn)記錄管理,事故記錄管理,違章記錄管理,用戶(hù)信息管理,界面切換管理,退出系統(tǒng)選項(xiàng)??梢赃M(jìn)入對(duì)應(yīng)的窗體,退出系統(tǒng)可退出系統(tǒng)。界面上的車(chē)主信息管理按鈕可以進(jìn)入車(chē)主信息管理窗體,年檢記錄管理按鈕可以進(jìn)入年檢記錄管理窗體,保險(xiǎn)記錄管理可以進(jìn)入保險(xiǎn)記錄管理窗體,事故記錄管理按鈕可以進(jìn)入事故記錄管理按鈕,違章記錄管理按鈕可以進(jìn)圖違章記錄管理窗體,切換普通界面就是切換至普通用戶(hù)窗體,管理員窗體視圖窗體程序運(yùn)行如圖4-12所示。
圖4-12管理員窗體
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
車(chē)主信息管理窗體可以對(duì)車(chē)輛的類(lèi)型,車(chē)主姓名,性別,籍貫,出生日期,證件號(hào),發(fā)證日期,證件有效期,駕駛年齡等信息進(jìn)行查詢(xún),修改,添加和刪除操作。車(chē)主信息管理窗體程序運(yùn)行如圖如圖4-13所示。
圖4-13車(chē)主信息管理窗體
年檢記錄管理窗體可以對(duì)對(duì)車(chē)輛近幾年的年檢記錄日期和備注信息進(jìn)行查詢(xún),添加修改和刪除操作,年檢記錄管理窗體運(yùn)行程序如圖4-14所示。
圖4-14年檢記錄管理窗體
保險(xiǎn)記錄管理窗體可以對(duì)車(chē)輛的保險(xiǎn)日期,保險(xiǎn)類(lèi)型,保險(xiǎn)備注信息進(jìn)行查詢(xún),添加,修改,刪除操作。保險(xiǎn)記錄管理窗體運(yùn)行程序如圖4-15所示。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
圖4-15保險(xiǎn)記錄管理窗體
事故記錄管理窗體可以對(duì)車(chē)輛的事故時(shí)間,地點(diǎn),原因,對(duì)方車(chē)號(hào),對(duì)方姓名,處理方式,責(zé)任認(rèn)定,賠付內(nèi)容進(jìn)行查詢(xún),添加,修改,刪除操作。事故記錄管理窗體程序運(yùn)行如圖4-16所示。
圖4-16事故記錄管理窗體
違章記錄管理窗體可以對(duì)車(chē)輛的違章原因,時(shí)間,處罰,扣分,備注信息查詢(xún),添加,修改和刪除操作。違章記錄管理窗體程序運(yùn)行如圖4-17所示。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
圖4-17違章記錄管理窗體
用戶(hù)信息管理窗體可以對(duì)用戶(hù)的信息進(jìn)行查詢(xún),設(shè)置管理員,刪除用戶(hù)操作。用戶(hù)信息管理窗體程序運(yùn)行如圖4-18所示。
圖4-18用戶(hù)信息管理窗體
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
第五章結(jié)論
本次設(shè)計(jì)是車(chē)輛信息管理系統(tǒng)的設(shè)計(jì),車(chē)輛信息管理系統(tǒng)是對(duì)車(chē)輛信息信息進(jìn)行有效的管理的最高效的處理工具。信息管理學(xué)系統(tǒng)發(fā)展到今天,其技術(shù)已經(jīng)成熟。但是對(duì)于我們還沒(méi)踏出校門(mén)的大學(xué)生來(lái)說(shuō)。其中的設(shè)計(jì)思想還是值得我們?nèi)W(xué)習(xí)和研究的。
對(duì)于本設(shè)計(jì)的車(chē)輛信息管理系統(tǒng)來(lái)說(shuō),其特點(diǎn)是管理信息覆蓋所有車(chē)輛相關(guān)的信息,系統(tǒng)的整體設(shè)計(jì)條理清晰,分層次分模塊設(shè)計(jì)。三個(gè)層次登錄,主窗體,子查詢(xún)窗體和子管理窗體。登錄部分包括登錄和注冊(cè),主窗體部分包括普通用戶(hù)窗體和管理員窗體。子查詢(xún)窗體包括普通用戶(hù)可以對(duì)車(chē)輛的相關(guān)信息進(jìn)行查詢(xún),子管理窗體可以對(duì)信息進(jìn)行處理操作。五個(gè)模塊分別是車(chē)主信息,年檢信息,違章信息,事故信息,保險(xiǎn)信息。另外我還在各個(gè)窗體上添加了時(shí)間的顯示控件,可以讓我們使用程序可以很方便的看到時(shí)間,除了在文本控件中顯示信息之外,我還在窗體控件中添加了表格。在我們進(jìn)行查詢(xún)和修改時(shí)可以更加的直觀去了解車(chē)輛相關(guān)信息。
緊張忙碌的畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,我所設(shè)計(jì)的車(chē)輛信息管理系統(tǒng)也已經(jīng)完成。經(jīng)過(guò)這次畢業(yè)設(shè)計(jì)我發(fā)現(xiàn)信息管理系統(tǒng)是通用的,不僅僅是車(chē)輛信息管理對(duì)于以后我們進(jìn)入公司也可以制作相應(yīng)員工信息管理系統(tǒng),進(jìn)出場(chǎng)物料信息管理系統(tǒng)等等。都可以稍加更改即可開(kāi)發(fā)成功。另外本系統(tǒng)還可以與車(chē)牌號(hào)識(shí)別系統(tǒng)進(jìn)行結(jié)合做成小型社區(qū)門(mén)禁系統(tǒng)。在小型社區(qū)車(chē)輛信息管理方面能得到廣泛的應(yīng)用。但是由于畢業(yè)設(shè)計(jì)的時(shí)間較短,用戶(hù)界面還不夠完美,系統(tǒng)的反應(yīng)速度不是很快。開(kāi)始設(shè)計(jì)資料查找出錯(cuò)浪費(fèi)了好多時(shí)間,這些在以后的工作中都要避免。
經(jīng)過(guò)本次為期半年的畢業(yè)設(shè)計(jì),使自主學(xué)習(xí)的能力有了很大的提升,并且與同學(xué)之間的團(tuán)結(jié)協(xié)作能力也有了很大的提高。我相信在以后的工作當(dāng)中,我一定可以吧所學(xué)的知識(shí)融入到工作當(dāng)中去,理論聯(lián)系實(shí)踐。把所學(xué)的理論知識(shí)充分的發(fā)揮,學(xué)以致用。為社會(huì)主義的建設(shè)貢獻(xiàn)自己的一份力量。
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
參考文獻(xiàn)
[1]:王世迪.Visual Basic程序設(shè)計(jì)教程[M].重慶:重慶大學(xué)出版社,2002.26-106 [2]:蔡翠平.Visual Basic程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002.1-24 [3]:任芳芳,姚建軍,陳江等.圖解精通ACCESS2007中文版[M].北京:中國(guó)水利水電出版社,2008.26-28 [4]:明日科技.Visual Basic管理信息系統(tǒng)完整項(xiàng)目實(shí)例剖析[M].北京:人民郵電出版社,2006.36-48 [5]:白鵬.Visual Basic編程實(shí)例與技巧[M].北京:科學(xué)出版社,2003.48-58 [6]:李言照.Visual Basic 程序設(shè)計(jì)教程[M].北京:中國(guó)農(nóng)業(yè)出版社,2007.70-104 [7]:李雁翎.Visual Basic程序設(shè)計(jì) [M].北京:清華大學(xué)出版社,2005.60-90 [8]:羅朝盛.Visual Basic 6.0程序設(shè)計(jì)教程[M].北京:人民郵電出版社,2005.50-70 [9]:唐大仕.Visual Basic 程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2004.20-50 [10]:王樵民.ACCESS2003數(shù)據(jù)庫(kù)開(kāi)發(fā)典型范例[M].北京:人民郵電出版社,2006.40-80
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)
致謝
為期一個(gè)學(xué)期的畢業(yè)設(shè)計(jì)即將就要結(jié)束了。在本次畢業(yè)設(shè)計(jì)中,我從指導(dǎo)老師張濤老師身上學(xué)到了很多東西。他循循善誘的指導(dǎo)給予我很大的啟迪,他在學(xué)習(xí)工作中嚴(yán)謹(jǐn)細(xì)致,一絲不茍的工作作風(fēng)將一直是我學(xué)習(xí)的榜樣。張濤老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神更和深厚的理論水平都使我受益頗深。無(wú)論在理論還是實(shí)踐上都給予我很大的幫助,讓我得到了很大的提高。這對(duì)我以后的工作和學(xué)習(xí)都是巨大的幫主,感謝他耐心的指導(dǎo),及華北水水電大學(xué)為我們提供的設(shè)計(jì)環(huán)境。并感謝我們一組的其他同學(xué)從他們身上我學(xué)到了很多東西并且培養(yǎng)團(tuán)隊(duì)合作的精神。最后我還要感謝我的父母是他們一直在背后默默地支持我。畢業(yè)設(shè)計(jì)做為大學(xué)的最后一個(gè)教學(xué)環(huán)節(jié)。是對(duì)我們動(dòng)手實(shí)踐能力,理論結(jié)合實(shí)踐的能力一個(gè)很好的檢驗(yàn)方法。在這次的畢業(yè)設(shè)計(jì)過(guò)程中,我通過(guò)自己的努力學(xué)習(xí),在老師的細(xì)心指導(dǎo)下,加上本小組同學(xué)的探討。讓我不僅在知識(shí)水平和解決實(shí)際問(wèn)題的能力上有了很大的提高,認(rèn)識(shí)到綜合掌握知識(shí)和合理運(yùn)用知識(shí)解決實(shí)際問(wèn)題的重要性。
第二篇:學(xué)生信息管理系統(tǒng)全套(VB+ACCESS)
學(xué)生信息管理系統(tǒng)全套(VB+ACCESS)
[ 作者:Admin 來(lái)源:博景源 點(diǎn)擊數(shù):
學(xué)生信息管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建
2464 更新時(shí)間:2008-1-11 ]
立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。
經(jīng)過(guò)分析,我們使用MICROSOFT公司的VISUAL BASIC開(kāi)發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_(kāi)發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡(jiǎn)潔操縱數(shù)據(jù)庫(kù)的智能化對(duì)象,首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶(hù)滿(mǎn)意的可行系統(tǒng)。
關(guān)鍵字:控件、窗體、域、數(shù)據(jù)庫(kù)。
–––––––––––––––––前 言–––––––––––––––––
隨著學(xué)校的規(guī)模不斷擴(kuò)大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成倍增長(zhǎng)。面對(duì)龐大的信息量需要有學(xué)生管理系統(tǒng)來(lái)提高學(xué)生管理工作的效率。通過(guò)這樣的系統(tǒng)可以做到信息的規(guī)范管理、科學(xué)統(tǒng)計(jì)和快速查詢(xún)、修改、增加、刪除等,從而減少管理方面的工作量。
本系統(tǒng)主要用于學(xué)校學(xué)生信息管理,總體任務(wù)是實(shí)現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動(dòng)化,其主要任務(wù)是用計(jì)算機(jī)對(duì)學(xué)生各種信息進(jìn)行日常管理,如查詢(xún)、修改、增加、刪除,另外還考慮到學(xué)生選課,針對(duì)這些要求設(shè)計(jì)了學(xué)生信息管理系統(tǒng)本系統(tǒng)主要用于學(xué)校學(xué)生信息管理,總體任務(wù)是實(shí)現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動(dòng)化,其主要任務(wù)是用計(jì)算機(jī)對(duì)學(xué)生各種信息進(jìn)行日常管理,如查詢(xún)、修改、增加、刪除,另外還考慮到學(xué)生選課,針對(duì)這些要求設(shè)計(jì)了學(xué)生信息管理系統(tǒng)。本系統(tǒng)主要包括學(xué)生信息查詢(xún)、教務(wù)信息維護(hù)和學(xué)生選課三部分。其功能主要有: ⒈有關(guān)學(xué)籍等信息的輸入,包括輸入學(xué)生基本信息、所在班級(jí)、所學(xué)課程和成績(jī)等。⒉學(xué)生信息的查詢(xún),包括查詢(xún)學(xué)生基本信息、所在班級(jí)、已學(xué)課程和成績(jī)等。⒊學(xué)生信息的修改。
⒋班級(jí)管理信息的輸入,包括輸入班級(jí)設(shè)置、年級(jí)信息等。⒌班級(jí)管理信息的查詢(xún)。⒍班級(jí)管理信息的修改。
⒎學(xué)生課程的設(shè)置和修改。
目 錄
前言
第一章 Visual Basic 概述
1.1 Visual Basic 語(yǔ)言的特點(diǎn)
1.2 Visual Basic 系統(tǒng)幾個(gè)程序應(yīng)用中的常用名詞 第二章 Windows 下的Visual Basic 編程環(huán)境簡(jiǎn)介 2.1 面對(duì)對(duì)象的編程 2.2 實(shí)現(xiàn)菜單選項(xiàng) 2.3 實(shí)現(xiàn)工具欄
第三章 怎樣開(kāi)發(fā)一個(gè)學(xué)生信息管理系統(tǒng)的查詢(xún)模塊3.1 學(xué)生信息系統(tǒng)的設(shè)計(jì)分析 3.2 編程環(huán)境的選擇 3.3 關(guān)系型數(shù)據(jù)庫(kù)的實(shí)現(xiàn) 3.4 二者的結(jié)合(DBA)第四章 使用Access2000 創(chuàng)建數(shù)據(jù)庫(kù) 4.1 數(shù)據(jù)庫(kù)的概念 4.2 新建一個(gè)數(shù)據(jù)庫(kù) 4.3 修改已建的數(shù)據(jù)庫(kù) 第五章 可行性分析 第六章 系統(tǒng)總體規(guī)劃 6.1 系統(tǒng)功能 6.2 系統(tǒng)流程圖 第七章 系統(tǒng)具體實(shí)現(xiàn) 7.1 各功能的實(shí)現(xiàn) 7.1.1 課程管理
7.1.2 打印統(tǒng)計(jì) 結(jié)束語(yǔ) 后記 主要參考文獻(xiàn)
第一章 Visual Basic 概述 1.1 Visual Basic 語(yǔ)言的特點(diǎn)
Visual Basic 語(yǔ)言用其設(shè)計(jì)應(yīng)用程序時(shí)具有兩個(gè)基本特點(diǎn):可視化設(shè)計(jì)和事件驅(qū)動(dòng)編程。(1)可視化設(shè)計(jì):表現(xiàn)在VB在設(shè)計(jì)應(yīng)用于程序界面時(shí)有“所見(jiàn)即所得”的處理功能。
(2)事件驅(qū)動(dòng)編程:在設(shè)計(jì)應(yīng)用程序時(shí),把對(duì)象添加到窗體中,在用戶(hù)與程序進(jìn)行交互時(shí),用戶(hù)基本上是通過(guò)鼠標(biāo)、鍵盤(pán)與應(yīng)用程序進(jìn)行交互的,那些對(duì)象就必須對(duì)鼠標(biāo)和鍵盤(pán)操作所引發(fā)的事件做出響應(yīng),來(lái)執(zhí)行一段應(yīng)用程序。
1.2 Visual Basic 系統(tǒng)幾個(gè)在程序應(yīng)用中的常用名詞
Visual Basic 系統(tǒng)除了一般高級(jí)語(yǔ)言所具有的一些名詞術(shù)語(yǔ)外,還有幾個(gè)系統(tǒng)常用的名詞。其基本含義如下:
(1)視窗(Form)
視窗是進(jìn)行人機(jī)交互的界面或接口,也叫窗體。VB系統(tǒng)的人機(jī)交互界面或接口,無(wú)論是在設(shè)計(jì)時(shí)或是在運(yùn)行時(shí),都是Windows 系統(tǒng)的標(biāo)準(zhǔn)視窗。(2)對(duì)象(Object)
對(duì)象是VB系統(tǒng)內(nèi)部提供給設(shè)計(jì)者可以直接使用的處理輸出的控制工具。本程序所應(yīng)用到的對(duì)象類(lèi)型有標(biāo)簽框(Label Box),文本框(Text Box),命令按扭(Command Button),網(wǎng)格(Data Grid),ADO控件(Adodc1)等。當(dāng)把這些工具放置到用戶(hù)界面對(duì)應(yīng)的窗體上時(shí),被稱(chēng)為對(duì)象或控件。用戶(hù)可以通過(guò)設(shè)置對(duì)象的“屬性”和“方法”,便于對(duì)象適應(yīng)自己所設(shè)計(jì)應(yīng)用程序的輸入輸出內(nèi)容,對(duì)象的生成過(guò)程及結(jié)構(gòu)都被封裝起來(lái)。正確使用對(duì)象可以減少程序和開(kāi)發(fā)時(shí)間,提高程序設(shè)計(jì)者的工作效率。(3)屬性(Properties)
屬性是VB系統(tǒng)提供的有關(guān)對(duì)象的參數(shù)或數(shù)據(jù)接口。用戶(hù)通過(guò)適當(dāng)?shù)卦O(shè)置或改變對(duì)象的屬性來(lái)確定對(duì)象的外觀及性能特征,從而有效地使用系統(tǒng)提供的對(duì)象。比如,對(duì)象的名稱(chēng)、在屏幕上顯示的位置、大小、顏色、接收或容納的數(shù)據(jù)內(nèi)容及數(shù)據(jù)的表現(xiàn)格式等。(4)事件(Events)
事件是指用戶(hù)或操作者對(duì)計(jì)算機(jī)進(jìn)行的某一操作(如擊鍵、單擊或移動(dòng)鼠標(biāo)等)的行為或系統(tǒng)狀態(tài)發(fā)生的變化。VB系統(tǒng)常用事件來(lái)引導(dǎo)計(jì)算機(jī)執(zhí)行一段程序。程序所用的鍵盤(pán)事件有KeyPress(按鍵)事件,KeyDown事件和KeyUp事件;鼠標(biāo)事件有Click(單擊鼠標(biāo))事件,DbDlicd(雙擊鼠標(biāo))。(5)方法(Method)
方法主要是指對(duì)一個(gè)對(duì)象使用某種作用的過(guò)程。它是在程序執(zhí)行的過(guò)程中要計(jì)算機(jī)執(zhí)行的某種操作。其程序的方法有Show(顯示)方法,Hide(隱藏)方法,Refresh(刷新)方法。(6)過(guò)程(Procedure)
過(guò)程是指經(jīng)過(guò)定義或說(shuō)明的,或基于某一對(duì)象對(duì)應(yīng)的事件所引發(fā)的程序段。(7)模塊(Module)
模塊是指一些運(yùn)算量或過(guò)程進(jìn)行聲明或定義的一個(gè)集合。系統(tǒng)程序大體可分成四個(gè)模塊:數(shù)據(jù)輸入、根據(jù)查詢(xún)、數(shù)據(jù)打印和通訊。
第二章 Windows下的Visual Basic 編程環(huán)境簡(jiǎn)介 2.1 面對(duì)對(duì)象的編程
面向?qū)ο蟮脑O(shè)計(jì)方法(OOP, Objected Programming)從應(yīng)用領(lǐng)域內(nèi)的問(wèn)題著手,以直觀自然的方式描述客觀世界的實(shí)體。Visual Basic 作為一種面向?qū)ο蟮木幊谭椒?,把程序和?shù)據(jù)封裝起來(lái)作為一個(gè)對(duì)象,并為每個(gè)對(duì)象賦予相應(yīng)的屬性。在設(shè)計(jì)對(duì)象時(shí),不必編寫(xiě)建立和描述每個(gè)對(duì)象的程序代碼,而是用工具畫(huà)在界面上,由 Visual Basic 自動(dòng)生成對(duì)象的程序代碼并封裝起來(lái)。Visual Basic 應(yīng)用程序基本的構(gòu)建塊是用戶(hù)所創(chuàng)建的對(duì)象,每一個(gè)對(duì)象都具有一些特性和行為(屬性、事件和方法)。開(kāi)發(fā)人員可以最有效利用所創(chuàng)建的每一個(gè)對(duì)象。使用應(yīng)用程序具有可通用性可說(shuō)擴(kuò)展性和強(qiáng)有力的功能。
Visual Basic 應(yīng)用由一系列對(duì)象組成,包括有函數(shù)、菜單、函數(shù)、結(jié)構(gòu)和數(shù)據(jù)窗口、用戶(hù)對(duì)象、用戶(hù)事件等等,對(duì)象中又包含若干控件如命令按鈕、單行編輯器等這些對(duì)象和控件都可在許多應(yīng)用中重復(fù)使用。2.2 實(shí)現(xiàn)菜單選項(xiàng)
菜單是程序最重要的特性之一,大多數(shù)程序都依賴(lài)一個(gè)定義良好的菜單使程序易于使用和維護(hù),Visual Basic 也提供了強(qiáng)大的創(chuàng)建菜單功能是程序更加標(biāo)準(zhǔn)。
本系統(tǒng)使用 Visual Basic 的菜單編輯器建立菜單或者修改已經(jīng)存在的菜單,您也可以使用Visual Basic 的Application Wizard 來(lái)操作。2.3 實(shí)現(xiàn)工具欄
CoolBar控件與Office2000 中看到的CoolBar是類(lèi)似的。CoolBar就是一個(gè)可以在窗體上浮動(dòng)的工具,同時(shí)也是其他ActiveX的容器。通過(guò)在CoolBar中遷入其他空間你也可以向用戶(hù)提供更好的靈活性和義用性。選擇“工程”下拉菜單中的“部件”選項(xiàng),顯示“部件”對(duì)話(huà)框。在“控件”選項(xiàng)卡列表中選擇“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。
本系統(tǒng)就用了Cool工具中的Statubar控件,在系統(tǒng)這一界面中,添加了狀態(tài)欄,在第一個(gè)欄中,在樣式這一欄中選擇了文本,在第二個(gè)欄中,選擇了系統(tǒng)日期,第三個(gè)欄中選擇了系統(tǒng)時(shí)間,這樣,任何時(shí)候操作本系統(tǒng),都可以看到當(dāng)前的時(shí)間和日期。
第三章 怎樣開(kāi)發(fā)一個(gè)學(xué)生信息管理系統(tǒng)的查詢(xún)模塊? 3.1查詢(xún)模塊的設(shè)計(jì)分析
根據(jù)實(shí)際情況,我們使用原型法(Rapid Prototyping)即以少量代價(jià)快速地構(gòu)造一個(gè)可執(zhí)行的軟件模型。使用戶(hù)可以較快地確定需求,然后采用循環(huán)進(jìn)化的開(kāi)發(fā)方式,對(duì)系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具備的性質(zhì)逐漸增加上去,直到所有的性質(zhì)全部滿(mǎn)足。此時(shí)模塊也發(fā)展成為最終產(chǎn)品了。3.2編程環(huán)境的選擇
微軟公司的Visual Basic 6.0是Windows應(yīng)用程序開(kāi)發(fā)工具,使目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_(kāi)發(fā)工具。Visual Basic提供了大量的控件,這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功能,減少了編程人員的工作量,也簡(jiǎn)化了界面設(shè)計(jì)過(guò)程,從而有效的提高了應(yīng)
用程序的運(yùn)行效率和可*性。故而,實(shí)現(xiàn)本系統(tǒng)VB是一個(gè)相對(duì)較好的選擇。3.3關(guān)系型數(shù)據(jù)庫(kù)的實(shí)現(xiàn)
Access2000就是關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,數(shù)據(jù)庫(kù)能匯集各種信息以供查詢(xún)、存儲(chǔ)和檢索。Access的優(yōu)點(diǎn)在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類(lèi)似于Excel的電子表格,可以使數(shù)據(jù)庫(kù)一目了然。另外,Access允許創(chuàng)建自定義報(bào)表用于打印或輸出數(shù)據(jù)庫(kù)中的信息。Access也提供了數(shù)據(jù)存儲(chǔ)庫(kù),可以使用桌面數(shù)據(jù)庫(kù)文件把數(shù)據(jù)庫(kù)文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他用戶(hù)共享數(shù)據(jù)庫(kù)。Access 是一種關(guān)系數(shù)據(jù)庫(kù)工具,關(guān)系數(shù)據(jù)庫(kù)是已開(kāi)發(fā)的最通用的數(shù)據(jù)庫(kù)之一。如上所述,Access作為關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)具備了許多優(yōu)點(diǎn),可以在一個(gè)數(shù)據(jù)包同時(shí)擁有桌面數(shù)據(jù)庫(kù)的便利和關(guān)系數(shù)據(jù)庫(kù)的強(qiáng)大功能。3.4二者的結(jié)合(DBA)微軟的JET數(shù)據(jù)庫(kù)引擎提供了與數(shù)據(jù)庫(kù)打交道的途徑,我們是通過(guò)它以及Visual Basic來(lái)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)并對(duì) 5 其進(jìn)行各種操作。Visual Basic、Access以及其他微軟的軟件產(chǎn)品都是通過(guò)共用JET數(shù)據(jù)庫(kù)引擎,從而給用戶(hù)提供了豐富的數(shù)據(jù)類(lèi)型。
ADODC控件在數(shù)據(jù)庫(kù)中的信息與將信息顯示給用戶(hù)看的Visual Basic 程序之間架起了一座橋梁。我們可以設(shè)置ADODC控件的各個(gè)屬性,告訴它要調(diào)用那個(gè)數(shù)據(jù)庫(kù)的哪個(gè)部分。缺省情況下,ADODC控件根據(jù)數(shù)據(jù)庫(kù)中的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)表建立一個(gè)dynaset-type(動(dòng)態(tài)集合)類(lèi)型的記錄集合。一個(gè)記錄集合是動(dòng)態(tài)的也就意味著,當(dāng)原來(lái)的數(shù)據(jù)表中的容改變了以后,該記錄集合中的記錄也會(huì)隨之改變。將ADODC控件放置在窗體中之后,我們還必須在該控件與要處理的數(shù)據(jù)庫(kù)之間建立聯(lián)系。
第四章 使用Access2000創(chuàng)建數(shù)據(jù)庫(kù) 4.1數(shù)據(jù)庫(kù)的概念
數(shù)據(jù)庫(kù)是一種存儲(chǔ)數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行操作的工具。數(shù)據(jù)庫(kù)的作用在于組織和表達(dá)信息,簡(jiǎn)而言之,數(shù)據(jù)庫(kù)就是信息的集合。計(jì)算機(jī)的數(shù)據(jù)庫(kù)可以分為兩類(lèi):非關(guān)系數(shù)據(jù)庫(kù)(flat-file)和關(guān)系數(shù)據(jù)庫(kù)(relational)。關(guān)系數(shù)據(jù)庫(kù)中包含了多個(gè)數(shù)據(jù)表的信息,數(shù)據(jù)庫(kù)含有各個(gè)不同部分的術(shù)語(yǔ),象記錄、域等。4.2新建一個(gè)數(shù)據(jù)庫(kù)
創(chuàng)建任何一個(gè)數(shù)據(jù)庫(kù)的第一步是仔細(xì)的規(guī)劃數(shù)據(jù)庫(kù),設(shè)計(jì)必須是靈活的、有邏輯的。創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)的過(guò)程被認(rèn)為是數(shù)據(jù)模型設(shè)計(jì)。1. 標(biāo)識(shí)需要的數(shù)據(jù);
2. 收集被子標(biāo)識(shí)的字段到表中; 3. 標(biāo)識(shí)主關(guān)鍵字字段; 4. 規(guī)范數(shù)據(jù);
5. 標(biāo)識(shí)指定字段的信息;
4.3修改已建的數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)的修改分為;添加、編輯和刪除記錄。這三種操作均可由Visual Basic創(chuàng)建的程序來(lái)完成,下面的章節(jié)將詳細(xì)描述實(shí)現(xiàn)的具體方法 第五章 可行性分析
學(xué)生信息,作為一個(gè)學(xué)校,就有一定的工作量存在,而學(xué)生信息,它的工作量可能是其它信息工作量的幾倍,班級(jí)的增加、班級(jí)的查找、班級(jí)的修改;學(xué)生檔案;課程管理;成績(jī)管理;繳費(fèi)管理;統(tǒng)計(jì)等等,每個(gè)信息的數(shù)據(jù)都在不斷地變化著,如果采用人工的方式進(jìn)行操作,那么,一天的工作量,足以讓人覺(jué) 6 得比較繁瑣,吃不消。針對(duì)這樣的情況,采用讓數(shù)據(jù)的查詢(xún)變得簡(jiǎn)單化,數(shù)據(jù)變的更讓每個(gè)人都在任何時(shí)刻都可以了解到。
學(xué)生信息管理系統(tǒng)是為本校開(kāi)發(fā)的,本系統(tǒng)所采用的語(yǔ)言是Visual Basic,用Microsoft Access 2000數(shù)據(jù)庫(kù)完成。該系統(tǒng)總體有四部分組成,包括學(xué)生信息查詢(xún)、教務(wù)信息維護(hù)、學(xué)生選課及用戶(hù)管理。通過(guò)本系統(tǒng),把本校內(nèi)部查詢(xún)學(xué)生信息、教務(wù)信息、學(xué)生選課各個(gè)環(huán)節(jié)進(jìn)行有效地計(jì)劃、組織和控制。通過(guò)本校內(nèi)部的信息,依據(jù)統(tǒng)一數(shù)據(jù)信息進(jìn)行管理,把任何一塊信息所產(chǎn)生的數(shù)據(jù)變動(dòng)及時(shí)地反映給其它相關(guān)信息,做到數(shù)據(jù)共享。
本系統(tǒng)主要信息流程為:教務(wù)信息維護(hù)接受學(xué)生的信息,學(xué)生信息查詢(xún)根據(jù)教務(wù)信息維護(hù)的學(xué)生信息做出對(duì)所接收的信息合理性進(jìn)行判斷,并交于信息維護(hù)進(jìn)行相應(yīng)的修改,再把信息存入數(shù)據(jù)庫(kù)中。學(xué)生選課是對(duì)學(xué)生進(jìn)行相應(yīng)選擇自己相關(guān)的課程。最后進(jìn)行打印。
采用本系統(tǒng),能夠使整個(gè)系統(tǒng)內(nèi)部所有信息的工作簡(jiǎn)化,提高工作效益。由于采用統(tǒng)一的數(shù)據(jù)信息,使相關(guān)資料能夠快速地查詢(xún)所需的數(shù)據(jù)、資料及其它信息的,使信息快速高效運(yùn)行。
本系統(tǒng)中使用到的數(shù)據(jù)表主要有班級(jí)表、成績(jī)表、繳費(fèi)表、課程表、學(xué)生檔案、用戶(hù)資料,由這六個(gè)表,組成了名為信息的數(shù)據(jù)庫(kù)(如圖一)。其中學(xué)生檔案是本系統(tǒng)主要的(圖一)
一張表,所有信息都是根據(jù)這張學(xué)生檔案進(jìn)行有關(guān)的操作,主要的字段有:學(xué)號(hào)、姓名、年級(jí)、專(zhuān)業(yè)、性別、出生年月、民族、籍貫、政治面貌、家庭地址、郵政編碼、聯(lián)系電話(huà)、入學(xué)時(shí)間、備注。其中日期的數(shù)據(jù)類(lèi)型為日期/時(shí)間天型,其它的數(shù)據(jù)類(lèi)型為文本型;成績(jī)表中字段為:學(xué)號(hào)、姓名、年級(jí)、專(zhuān)業(yè)、學(xué)期、考試時(shí)間、考試科目、考試地點(diǎn)、課程性質(zhì)、科目分?jǐn)?shù)、違紀(jì)類(lèi)型、備注;課程表中字段為:專(zhuān)業(yè)、年級(jí)、學(xué)期、課程名稱(chēng)、教材、任課老師、課時(shí)、上課地點(diǎn)、課程性質(zhì)、考試性質(zhì);用戶(hù)資料中的字段包括:用戶(hù)名、密碼、身份。
數(shù)據(jù)庫(kù)與VB的連接:本系統(tǒng)的數(shù)據(jù)鏈接采用的是ADO方法,打開(kāi)控制面板,打開(kāi)ODBC數(shù)據(jù)源圖標(biāo),選擇“系統(tǒng)DSN”標(biāo)簽,點(diǎn)擊“添加”按鈕,在彈出的“創(chuàng)建新數(shù)據(jù)源”對(duì)話(huà)框中選擇名稱(chēng)為“Microsoft Access Drive(*.mdb)”,點(diǎn)擊“完成”按鈕,在ODBC Microsoft Access 安裝對(duì)話(huà)框中在數(shù)據(jù)源名中輸入信息,在數(shù)據(jù)庫(kù)這個(gè)框中,單擊“選擇”按鈕,在彈出的選擇數(shù)據(jù)庫(kù)這一對(duì)話(huà)框架中,在驅(qū)動(dòng)器下拉列表框中選擇本系統(tǒng)數(shù)據(jù)庫(kù)所在驅(qū)動(dòng)器,在目錄中選擇庫(kù)所在的文件夾,在文件類(lèi)型中選擇選“Access數(shù)據(jù)庫(kù)(*.mdb)”,在數(shù)據(jù)庫(kù)名中選擇本系統(tǒng)的數(shù)據(jù)庫(kù),點(diǎn)擊“確定”按鈕即完成數(shù)據(jù)鏈接。
在VB中,用ADODC鏈接數(shù)據(jù)庫(kù),用DataGrid或DATA將庫(kù)中的數(shù)據(jù)在界面中顯示出來(lái),本系統(tǒng)采用 7 DataGrid。在界面上右擊Adodc控制,在彈出的快捷菜單中選擇屬性,在屬性對(duì)話(huà)框中,在“屬性”這一標(biāo)簽中,選中單選框“Use ODBC Data Source Name”,并在下拉文本框中選擇已經(jīng)配置好的數(shù)據(jù)源名信息,再在“RecordSoure”標(biāo)簽中,在Commard Text(SQL)文本框中輸入查詢(xún)語(yǔ)句,如:select * from 學(xué)生檔案。同時(shí),將桌面的DataGrid控件選中,在屬性框中,將它的Datasoure設(shè)為Adodc。
我們可以設(shè)置DataGrid控件的外觀:選中該控件,右擊,在彈出的快捷菜單中選擇“檢索字段”,在彈出的對(duì)話(huà)框中單擊“確定”,這時(shí),表格中出現(xiàn)了表的字段。然后再右擊,同樣,在彈出的快捷菜單中選擇“編輯”,我們就可以所在的表格的寬度進(jìn)行調(diào)整。第六章 系統(tǒng)(查詢(xún)模塊)總體規(guī)劃 6.1系統(tǒng)功能(查詢(xún)模塊)1. 查詢(xún)信息的情況; 2. 判斷信息是否符合要求; 3. 將符合條件的信息進(jìn)行打??; 6.2流程圖
[1] [2] [3] [4] [5] 下一頁(yè)
學(xué)生注冊(cè) 基本信息輸入 學(xué)籍信息管理 班級(jí)管理 班級(jí)課程設(shè)置 課程基本信息 班級(jí)課程管理 成績(jī)信息輸入 成績(jī)信息管理 班級(jí)設(shè)置
第七章 系統(tǒng)具體實(shí)現(xiàn)
7.1各功能的實(shí)現(xiàn)
7.1.1課程管理:課程設(shè)置(如:界面如圖二)(圖二)
運(yùn)行程序后,進(jìn)入課程管理模塊,課程管理模塊的第一塊是課程設(shè)置,在這模塊中可以把專(zhuān)業(yè)、年級(jí)、學(xué)期、課程名稱(chēng)、教材、任課老師、課時(shí)、上課地點(diǎn)、課程性質(zhì)和考試性質(zhì)等信息輸入,以便使用。下面為其代碼:
Private Sub Command1_Click()Dim myCon As New ADODB.Connection Dim myRs As New ADODB.Recordset Dim ZhuanYe, NianJi, XueQi, KeCheng, JiaoCai, RenKLS, KeShi, ShangKeDD, KeChengXZ, KaoShiXZ As String ZhuanYe = Text1.Text NianJi = Text2.Text XueQi = DTPicker1.Value KeCheng = Text4.Text JiaoCai = Text5.Text RenKLS = Text6.Text KeShi = Text7.Text ShangKeDD = Text8.Text KeChengXZ = Combo1.Text KaoShiXZ = Combo2.Text If Trim(ZhuanYe)= “" Or Trim(NianJi)= ”“ Or Trim(XueQi)= ”“ Or Trim(KeCheng)= ”“ Or Trim(JiaoCai)= ”“ Or Trim(RenKLS)= ”“ Or Trim(KeShi)= ”“ Or Trim(ShangKeDD)= ”“ Or Trim(KeChengXZ)= ”“ Or Trim(KaoShiXZ)= ”“ Then MsgBox ”請(qǐng)?zhí)顚?xiě)要修改課程資料的內(nèi)容!“ Combo1.Text = ”“ Combo2.Text = ”“ Exit Sub End If myCon.Open ”dsn=信息“ myRs.Open ”select * from 課程表 where 專(zhuān)業(yè)='“ & Text1.Text & ”'“, myCon, 3, 2 myRs!年級(jí) = Text2.Text myRs!學(xué)期 = DTPicker1.Value myRs!課程名稱(chēng) = Text4.Text myRs!教材 = Text5.Text myRs!任課老師 = Text6.Text myRs!課時(shí) = Text7.Text myRs!上課地點(diǎn) = Text8.Text myRs!課程性質(zhì) = Combo1.Text myRs!考試性質(zhì) = Combo2.Text myRs.Update myRs.Close myCon.Close MsgBox ”您確定要修改嗎?“, vbYesNo, ”提示“ Frm_UpdateGrean.Adodc1.Refresh Frm_UpdateGrean.DataGrid1.Refresh
Text1.Text = ”“ Text2.Text = ”“ 'Text3.Text = ”“ Text4.Text = ”“ Text5.Text = ”“ Text6.Text = ”“ Text7.Text = ”“ Text8.Text = ”“ Combo1.Text = ”“ Combo2.Text = ”“ End Sub Private Sub Command2_Click()Unload Me End Sub
Private Sub Command3_Click()Unload Me Frm_FindGrean.Show 1 End Sub
Private Sub DataGrid1_Click()'Frm_UpdateGrean.Adodc1.RecordSource = ”select * from 課程表 where 專(zhuān)業(yè) = '“ & Trim(DataGrid1.Row)& ”'“ 'Text1.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(”專(zhuān)業(yè)“)'Text2.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(”年級(jí)“)'Text3.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(”學(xué)期“)'Text4.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(”課程名稱(chēng)“)'Text5.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(”教材“)'Text6.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(”任課老師“)'Text7.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(”課時(shí)“)'Text8.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(”上課地點(diǎn)“)'Combo1.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(”課程性質(zhì)“)'Combo2.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(”考試性質(zhì)“)End Sub
Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)End Sub
Private Sub Form_Activate()Frm_FindGrean.Adodc1.RecordSource = strTiaoJian Frm_FindGrean.Adodc1.Refresh Set DataGrid1.DataSource = Frm_FindGrean.Adodc1 End Sub
Private Sub Form_Load()Combo1.AddItem(”必修“)Combo1.AddItem(”選修“)Combo1.AddItem(”自開(kāi)“)Combo2.AddItem(”考試“)Combo2.AddItem(”查考“)Text1.Text = ”“ Text2.Text = ”“ 'Text3.Text = ”“ Text4.Text = ”“ Text5.Text = ”“ Text6.Text = ”“ Text7.Text = ”“ Text8.Text = ”“ Combo1.Text = ”“ Combo2.Text = ”“ End Sub
Private Sub Text1_Change()End Sub
Private Sub Text2_Change()End Sub
Private Sub Text8_Change()End Sub 課程管理:課程查詢(xún)(如:界面如圖三)(圖三)
當(dāng)輸入查詢(xún)類(lèi)別、運(yùn)算符和條件后可以查找到所需要的課程設(shè)置,或按查詢(xún)時(shí)間來(lái)查詢(xún),輸入所要查找的時(shí)間段,就可查到所要的課程設(shè)置。代碼如下: Dim sqlstr As String
Private Sub Combo1_Change()End Sub
Private Sub Combo2_Change()End Sub
Private Sub Combo4_Change()End Sub
Private Sub Combo5_Change()End Sub
Private Sub Combo7_Change()End Sub
Private Sub Command1_Click()Dim a As String Dim KCCX1 As String Dim KCCX2 As String Dim str1 As String Dim str2 As String
If Option3.Value = True Then a = Trim(Combo2)Select Case a Case ”=“ KCCX1 = ”“ & Combo1.Text & ” “ & Combo2.Text & ” '“ & Trim(Text1)& ”'“ Case ”like“ KCCX1 = ”Instr(1,“ & Combo1.Text & ”,'“ & Trim(Text1.Text)& ”')<>0 “ End Select
a = Trim(Combo4)Select Case a Case ”=“ KCCX2 = ”“ & Combo3.Text & ” “ & Combo4.Text & ” '“ & Trim(Text2)& ”'“ Case ”like“ KCCX2 = ”Instr(1,“ & Combo3.Text & ”,'“ & Trim(Text2.Text)& ”')<>0 “ End Select
If Option1.Value = True Then If KCCX1 = ”“ Then strTiaoJian = ”select * from 課程表 where “ & KCCX2 ElseIf KCCX2 = ”“ Then & 上一頁(yè) [1] [2] [3] [4] [5] 下一頁(yè)
bsp;strTiaoJian = ”select * from 課程表 where “ & KCCX1
Else strTiaoJian = ”select * from 課程表 where “ & KCCX1 & ”and “ & KCCX2 End If ElseIf Option2.Value = True Then If KCCX1 = ”“ Then strTiaoJian = ”select * from 課程表 where “ & KCCX2 ElseIf KCCX2 = ”“ Then strTiaoJian = ”select * from 課程表 where “ & KCCX1 Else strTiaoJian = ”select * from 課程表 where “ & KCCX1 & ”or “ & KCCX2 End If Else If KCCX1 = ”“ Then strTiaoJian = ”select * from 課程表 where “ & KCCX2 ElseIf KCCX2 = ”“ Then strTiaoJian = ”select * from 課程表 where “ & KCCX1 Else MsgBox ”請(qǐng)選擇連接方式!“, vbOKOnly, ”警告“ Exit Sub End If End If
If(KCCX1 & KCCX2)= ”“ Then MsgBox ”請(qǐng)輸入查詢(xún)類(lèi)別!“, vbOKOnly, ”警告“ Exit Sub Else 15 Unload Me Frm_UpdateGrean.Show 1 End If End If
If Option4.Value = True Then If Val(Combo6)> Val(Combo9)Then MsgBox ”請(qǐng)正確選擇年份!“, vbOKOnly + vbExclamation, ”信息提示“ Combo6.SetFocus Exit Sub Else If Val(Combo6)= Val(Combo9)Then If Val(Combo7)> Val(Combo10)Then MsgBox ”請(qǐng)正確選擇月份!“, vbOKOnly + vbExclamation, ”信息提示“ Combo7.SetFocus Exit Sub Else If Val(Combo7)= Val(Combo10)Then If Val(Combo8)> Val(Combo11)Then MsgBox ”請(qǐng)正確選擇日期!“, vbOKOnly + vbExclamation, ”信息提示“ Combo8.SetFocus Exit Sub End If End If End If End If End If
If Combo6.Text = ”“ Or Combo7.Text = ”“ Or Combo8.Text = ”“ Or Combo9.Text = ”“ Or Combo10.Text = ”“ Or Combo11.Text = ”“ Then MsgBox ”請(qǐng)輸入完整的日期“, vbOKOnly, ”警告“ Exit Sub End If
str1 = Trim(Combo6)& ”-“ & Trim(Combo7)& ”-“ & Trim(Combo8)str2 = Trim(Combo9)& ”-“ & Trim(Combo10)& ”-“ & Trim(Combo11)str1 = Format(str1, ”yyyy-mm-dd“)str2 = Format(str2, ”yyyy-mm-dd“)
If sqlstr = ”“ Then sqlstr = ”“ & Trim(Combo5.Text)& ”>=#“ & Format(str1, ”yyyy-mm-dd“)& ”# and “ & Trim(Combo5.Text)& ”<= #“ & Format(str2, ”yyyy-mm-dd“)& ”#“ Else sqlstr = sqlstr & ” and “ & Trim(Combo5.Text)& ”>=#“ & Format(str1, ”yyyy-mm-dd“)& ”# and “ & Trim(Combo5.Text)& ”<= #“ & Format(str2, ”yyyy-mm-dd“)& ”#“ End If
If sqlstr = ”“ Then MsgBox ”請(qǐng)先輸入查找時(shí)間!“ Exit Sub End If
strTiaoJian = ”select 專(zhuān)業(yè),年級(jí),學(xué)期,課程名稱(chēng),教材,任課老師,課時(shí),上課地點(diǎn),課程性質(zhì),考試性質(zhì) from 課程表 where “ & sqlstr Unload Me Frm_UpdateGrean.Show 1 End If
If Option3.Value <> True And Option4.Value <> True Then MsgBox ”請(qǐng)選擇查詢(xún)方式!“, vbOKOnly, ”警告“ Exit Sub End If End Sub
Private Sub Command3_Click()Unload Me End Sub
Private Sub Form_Load()Dim i, j As Integer For i = 1999 To 2010 Combo6.AddItem i Combo9.AddItem i Next i Combo6.ListIndex = 0 Combo9.ListIndex = 0
For i = 1 To 12 Combo7.AddItem i Combo10.AddItem i Next i Combo7.ListIndex = 0 Combo10.ListIndex = 0 For i = 1 To 31 Combo8.AddItem i Combo11.AddItem i Next i Combo8.ListIndex = 0 Combo11.ListIndex = 0 Combo1.AddItem(”專(zhuān)業(yè)“)Combo1.AddItem(”年級(jí)“)Combo1.AddItem(”課程名稱(chēng)“)Combo1.AddItem(”教材“)Combo1.AddItem(”任課老師“)'Combo1.AddItem(”課時(shí)“)Combo1.AddItem(”課程性質(zhì)“)Combo1.AddItem(”考試性質(zhì)“)Combo2.AddItem(”=“)Combo3.AddItem(”專(zhuān)業(yè)“)Combo3.AddItem(”年級(jí)“)Combo3.AddItem(”課程名稱(chēng)“)Combo3.AddItem(”教材“)Combo3.AddItem(”任課老師“)'Combo3.AddItem(”課時(shí)“)Combo3.AddItem(”課程性質(zhì)“)Combo3.AddItem(”考試性質(zhì)“)Combo4.AddItem(”=“)Combo5.AddItem(”學(xué)期“)Combo1.Text = ”“ Combo2.Text = ”“ Text1.Text = ”“ Combo3.Text = ”“ Combo4.Text = ”“ Text2.Text = ”“ Combo5.Text = ”“ Combo6.Text = ”“ Combo7.Text = ”“ Combo8.Text = ”“ Combo9.Text = ”“ Combo10.Text = ”“ Combo11.Text = ”“ End Sub
7.1.2 打印統(tǒng)計(jì)
運(yùn)行打印統(tǒng)計(jì)后可以按條件把符合條件的各種信息以報(bào)表形式羅列出來(lái),各種信息還可以以打印出來(lái)或以報(bào)表形式保存。打印統(tǒng)計(jì)包括班級(jí)統(tǒng)計(jì)分析、檔案統(tǒng)計(jì)分析、課程統(tǒng)計(jì)分析、成績(jī)統(tǒng)計(jì)分析和交費(fèi)統(tǒng)計(jì)分析五類(lèi)。
班級(jí)統(tǒng)計(jì)分析(如:界面如圖四)(圖四)代碼如下:
Private Sub Command1_Click()Dim SQLoriginal As String Dim SQLadd As String Dim SQLorder As String Dim strSql As String SQLoriginal = ”SELECT 年級(jí),專(zhuān)業(yè),人數(shù),輔導(dǎo)員,備注 FROM 班級(jí)表 “ SQLadd = ”WHERE 年級(jí)=年級(jí) AND 專(zhuān)業(yè)=專(zhuān)業(yè) “ SQLorder = ”“
If Check1.Value = 1 And IsNumeric(Text1)Then SQLadd = SQLadd + ”and 年級(jí)='“ + Text1 + ”'“ End If If Check2.Value = 1 And Not IsNull(Text2)Then SQLadd = SQLadd + ”and 專(zhuān)業(yè)='“ + Text2 + ”'“ End If
If Check3.Value = 1 And IsNumeric(Text3)Then SQLadd = SQLadd + ”and 人數(shù)='“ + Text3 + ”'“ End If
If Check4.Value = 1 And Not IsNull(Text4)Then SQLadd = SQLadd + ”and 輔導(dǎo)員='“ + Text4 + ”'“ End If
strSql = SQLoriginal + SQLadd + SQLorde If Dat_Main.rsDat_Class.State = 1 Then Dat_Main.rsDat_Class.Close End If Dat_Main.rsDat_Class.Open strSql Dat_Class.Show vbModal Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ Text4.Text = ”“ End Sub
Private Sub Command2_Click()&n
上一頁(yè) [1] [2] [3] [4] [5] 下一頁(yè)
sp;Unload Me
End Sub
Private Sub Form_Load()Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ Text4.Text = ”“ End Sub
Private Sub Text1_Change()End Sub
Private Sub Text3_Change()End Sub 檔案分析統(tǒng)計(jì)(如:界面如圖五)(圖五)代碼如下:
Private Sub Command1_Click()Dim SQLoriginal As String Dim SQLadd As String Dim SQLorder As String Dim strSql As String On Error Resume Next SQLoriginal = ”SELECT * FROM 學(xué)生檔案 “ SQLadd = ”WHERE 學(xué)號(hào)=學(xué)號(hào) AND 姓名=姓名 “ SQLorder = ”“
If Check1.Value = 1 And IsNumeric(Text1)Then SQLadd = SQLadd + ”and 學(xué)號(hào)='“ + Text1 + ”'“ End If If Check2.Value = 1 And Not IsNull(Text2)Then SQLadd = SQLadd + ”and 姓名='“ + Text2 + ”'“ End If
If Check3.Value = 1 And Not IsNull(Text3)Then SQLadd = SQLadd + ”and 專(zhuān)業(yè)='“ + Text3 + ”'“ End If
If Check4.Value = 1 And IsDate(DTPicker1)Then SQLadd = SQLadd + ” and 出生年月= # “ & DTPicker1.Value & ”#“ End If
strSql = SQLoriginal + SQLadd + SQLorde If Dat_Main.rsDat_Strudent.State = 1 Then Dat_Main.rsDat_Strudent.Close End If Dat_Main.rsDat_Strudent.Open strSql Dat_Strudent.Show vbModal Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ End Sub
Private Sub Command2_Click()Unload Me End Sub
Private Sub Form_Load()'Combo1.AddItem(”男“)'Combo1.AddItem(”女“)Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ End Sub
Private Sub Text1_Change()End Sub 課程統(tǒng)計(jì)分析(如:界面如圖六)(圖六)
代碼如下:
Private Sub Command1_Click()Dim SQLoriginal As String Dim SQLadd As String Dim SQLorder As String Dim strSql As String SQLoriginal = ”SELECT * FROM 課程表 “ SQLadd = ”WHERE 專(zhuān)業(yè)=專(zhuān)業(yè) AND 課程名稱(chēng)=課程名稱(chēng) “ SQLorder = ”“
If Check1.Value = 1 And Not IsNull(Text1)Then SQLadd = SQLadd + ”and 專(zhuān)業(yè)='“ + Text1 + ”'“ End If If Check2.Value = 1 And Not IsNull(Combo1)Then SQLadd = SQLadd + ”and 課程性質(zhì)='“ + Combo1 + ”'“ End If
'If Check3.Value = 1 And Not IsNumeric(Text2)Then 'SQLadd = SQLadd + ”and 課時(shí)='“ + Text2 + ”'“ 'End If If Check4.Value = 1 And Not IsNull(Text3)Then SQLadd = SQLadd + ”and 課程名稱(chēng)='“ + Text3 + ”'“ End If
strSql = SQLoriginal + SQLadd + SQLorde If Dat_Main.rsDat_Grean.State = 1 Then Dat_Main.rsDat_Grean.Close End If Dat_Main.rsDat_Grean.Open strSql Dat_Grean.Show vbModal Text1.Text = ”“ Combo1.Text = ”“ 'Text2.Text = ”“ Text3.Text = ”“ End Sub
Private Sub Command2_Click()Unload Me End Sub
Private Sub Form_Load()Text1.Text = ”“ 'Text2.Text = ”“ Text3.Text = ”“ Combo1.Text = ”“ Combo1.AddItem(”必修“)Combo1.AddItem(”選修“)Combo1.AddItem(”自開(kāi)“)End Sub Private Sub Text3_Change()End Sub 成績(jī)統(tǒng)計(jì)分析(如:界面如圖七)(圖七)代碼如下:
Private Sub Command1_Click()Dim SQLoriginal As String Dim SQLadd As String Dim SQLorder As String Dim strSql As String On Error Resume Next SQLoriginal = ”SELECT * FROM 成績(jī)表 “ SQLadd = ”WHERE 學(xué)號(hào)=學(xué)號(hào) AND 姓名=姓名 “ SQLorder = ”“
If Check1.Value = 1 And IsNumeric(Text1)Then SQLadd = SQLadd + ”and 學(xué)號(hào)='“ + Text1 + ”'“ End If If Check2.Value = 1 And Not IsNull(Text2)Then SQLadd = SQLadd + ”and 姓名='“ + Text2 + ”'“ End If
If Check3.Value = 1 And Not IsNull(Text3)Then SQLadd = SQLadd + ”and 考試科目='“ + Text3 + ”'“ End If
If Check4.Value = 1 Then SQLadd = SQLadd + ”and 科目分?jǐn)?shù)<60“ End If
strSql = SQLoriginal + SQLadd + SQLorde If Dat_Main.rsDat_ChengJ.State = 1 Then Dat_Main.rsDat_ChengJ.Close End If Dat_Main.rsDat_ChengJ.Open strSql Dat_ChengJ.Show vbModal Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ End Sub
Private Sub Command2_Click()Unload Me End Sub
Private Sub Form_Load()Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ 'Text4.Text = ”“ End Sub
Private Sub Text1_Change()End Sub 交費(fèi)統(tǒng)計(jì)分析(如:界面如圖八)(圖八)代碼如下:
Private Sub Command1_Click()Dim SQLoriginal As String Dim SQLadd As String Dim SQLorder As String Dim strSql As String SQLoriginal = ”SELECT 學(xué)號(hào),姓名,學(xué)期,本學(xué)期應(yīng)交費(fèi)用,實(shí)際交費(fèi),本次欠費(fèi) FROM 交費(fèi)表 “ SQLadd = ”WHERE 學(xué)號(hào)=學(xué)號(hào) AND 姓名=姓名 “ SQLorder = ”“
If Check1.Value = 1 And IsNumeric(Text1)Then SQLadd = SQLadd + ”and 學(xué)號(hào)='“ + Text1 + ”'“ End If If Check2.Value = 1 And Not IsNull(Text2)Then SQLadd = SQLadd + ”and 姓名='“ + Text2 + ”'“ End If
If Check3.Value = 1 And IsNumeric(Text3)Then SQLadd = SQLadd + ”and 實(shí)際交費(fèi)='“ + Text3 + ”'“ End If
If Check4.Value = 1 And IsNumeric(Text4)Then SQLadd = SQLadd + ”and 本次欠費(fèi)='“ + Text4 + ”'“ End If
strSql = SQLoriginal + SQLadd + SQLorde If Dat_Main.rsDat_JiaoF.State = 1 Then Dat_Main.rsDat_JiaoF.Close End If Dat_Main.rsDat_JiaoF.Open strSql Dat_JiaoF.Show vbModal Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ Text4.Text = ”“ End Sub
Private Sub Command2_Click()Unload Me End Sub
Private Sub Form_Load()Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ Text4.Text = ”" End Sub
Private Sub Text1_Change()End Sub
結(jié)束語(yǔ)
學(xué)生信息管理系統(tǒng)(課程設(shè)置和打印統(tǒng)計(jì))的完成,它在審核這一功能中能夠?qū)Σ煌闆r的資料進(jìn)行設(shè)置和打印,針對(duì)需要的信息進(jìn)行設(shè)置和打印。
后記
本系統(tǒng)能夠順利完成,非常感謝指導(dǎo)老師陳志衛(wèi)老師,同時(shí),也感謝和我一起合作完成本系統(tǒng)的另兩位同學(xué)。對(duì)于本人來(lái)說(shuō),通過(guò)這次畢業(yè)設(shè)計(jì),也是對(duì)自己在這三年學(xué)習(xí)的一個(gè)檢驗(yàn)和平時(shí)學(xué)習(xí)的一種結(jié)累,可以在學(xué)習(xí)中提高自己,也充分體現(xiàn)學(xué)有所用,學(xué)以致用的學(xué)習(xí)倡導(dǎo)。在此,我對(duì)三年來(lái)輔導(dǎo)過(guò)我的各位任課老師深表感謝
主要參考文獻(xiàn)
本系統(tǒng)的過(guò)程中,主要的參考文獻(xiàn)有:
《Visual Basic6.0》 林陳雷 人民郵電出版社 《面向?qū)ο蟪绦蛟O(shè)計(jì)系列教材》
上一頁(yè) [1] [2] [3] [4] [5] 下一頁(yè)
龔沛曾 高等教育出版社
《Visual Basic6.0編程實(shí)例精解》 何文俊
《學(xué)用Visual Basic 編程》 潭 浩 西安電子科技大學(xué)出版社《Visual Basic6.0 數(shù)據(jù)庫(kù)開(kāi)發(fā)與專(zhuān)業(yè)應(yīng)用》 敬 錚 國(guó)防工業(yè)出版社 《Visual Basic6.0 數(shù)據(jù)庫(kù)程序設(shè)計(jì)高手》 溫賢發(fā) 科學(xué)出版社
第三篇:車(chē)輛信息管理系統(tǒng)實(shí)驗(yàn)報(bào)告新
課程設(shè)計(jì)報(bào)告格式
面向?qū)ο蟪绦蛟O(shè)計(jì)I
課程設(shè)計(jì)報(bào)告
題目:車(chē)輛信息管理系統(tǒng) 學(xué)院:計(jì)算機(jī)科學(xué)與工程學(xué)院 專(zhuān)業(yè):軟件工程專(zhuān)業(yè) 班級(jí): 學(xué)號(hào): 姓名: 指導(dǎo)老師:
設(shè)計(jì)日期:2014.12.17-12.23
于文件的格式的實(shí)現(xiàn)。了解system函數(shù)對(duì)于命令行指令的調(diào)用,cls指令實(shí)現(xiàn)清屏及color指令改變控制臺(tái)的前景色和背景。
還應(yīng)用了左對(duì)齊setiosflags(ios::left),設(shè)置域?qū)抯etw()等函數(shù)。
3.鏈表這種數(shù)據(jù)結(jié)構(gòu)相關(guān)增刪改查基本功能實(shí)現(xiàn)相關(guān)知識(shí)。3.功能設(shè)計(jì)或算法設(shè)計(jì)
車(chē)輛信息管理系統(tǒng)由兩個(gè)子系統(tǒng)構(gòu)成,它的主要功能如下: <1>.轎車(chē)信息管理系統(tǒng) 1.添加車(chē)輛信息
主要添加的車(chē)輛信息包括5各方面,分別是:橋車(chē)的車(chē)牌號(hào)(編號(hào)不唯一),車(chē)輛名字,車(chē)輛的價(jià)格,車(chē)輛的生產(chǎn)日期,車(chē)輛的生產(chǎn)地等。2.修改車(chē)輛信息 輸入車(chē)輛的編號(hào),就會(huì)顯示全部車(chē)輛信息,然后根據(jù)提示寫(xiě)出修改信息,并會(huì)保存在相應(yīng)的文件中。3.刪除車(chē)輛信息 輸入要?jiǎng)h除的車(chē)輛編號(hào),就會(huì)將此車(chē)輛信息從相應(yīng)的文件中刪除,示用戶(hù)車(chē)輛信息已刪除。并提
4.查詢(xún)車(chē)輛信息 輸入查詢(xún)車(chē)輛的編號(hào),就會(huì)從文件中調(diào)取記錄,顯示信息。5.顯示所有車(chē)輛信息
顯示文件中所有車(chē)輛信息。6.清除所有車(chē)輛信息 清除所有車(chē)輛信息。7.總的轎車(chē)車(chē)輛數(shù) 利用類(lèi)中的變量count來(lái)計(jì)算車(chē)輛數(shù),通過(guò)文件讀取存入,也會(huì)在運(yùn)用面向?qū)ο蟮乃枷?,直接將?wèn)題抽象成對(duì)象,運(yùn)用類(lèi)的派生,實(shí)現(xiàn)了代碼的復(fù)用,運(yùn)用類(lèi)的多態(tài)性生成多個(gè)實(shí)例,實(shí)現(xiàn)對(duì)同一事物的不同響應(yīng)。功能結(jié)構(gòu)圖
類(lèi)圖
4.程序定義的類(lèi)及函數(shù)說(shuō)明
1.(主要部分)轎車(chē)信息管理系統(tǒng):
將轎車(chē)信息定義為一個(gè)car類(lèi),在類(lèi)中包含私有數(shù)據(jù)成員string name String number string price string date string place,分別表示車(chē)名,車(chē)輛編號(hào),車(chē)輛價(jià)格,買(mǎi)車(chē)時(shí)間及車(chē)輛的價(jià)格。add_car(),modify_car(),delete_car(),search_car(),show_all(),clear_all(),save_all(),count_all(),分別用來(lái)添加車(chē)輛信息,修改車(chē)輛信息,刪除車(chē)輛信息,查詢(xún)車(chē)輛信息,顯示車(chē)輛信息,清除所有車(chē)輛信息和統(tǒng)計(jì)總的轎車(chē)車(chē)輛數(shù)。
然后定義一個(gè)menu()菜單函數(shù),使功能菜單顯示在運(yùn)行窗口以提
數(shù)據(jù)結(jié)構(gòu)采用鏈表實(shí)現(xiàn)對(duì)類(lèi)中數(shù)據(jù)的管理。
5.程序清單
#include
car();void add_car();void modify_car();void delete_car();void search_car();
112
} cin>>date;fflush(stdin);cout<
ofstream outData(“temp.txt”,ios::out);ifstream inData(“l(fā)ittlecar.txt”,ios::in);if(!outData ||!inData){
} cout< } } cout< } } { } out.close();in.close();cout<<“ 此車(chē)輛信息已修改.”< ofstream out(“temp.txt”,ios::out);;ifstream in(“l(fā)ittlecar.txt”,ios::in);cout<<“ 你要?jiǎng)h除的車(chē)輛編號(hào):”;bool flag=true;string s;cin>>s;fflush(stdin);string record;while(in>>number) 價(jià)格“<<” } } { } out.close();in.close();ofstream out(“l(fā)ittlecar.txt”,ios::out);ifstream in(“temp.txt”,ios::in);if(!out ||!in){ } while(getline(in,record)){ } out.close();in.close();cout<<“ 已經(jīng)刪除了!”< 0 價(jià)格“<<” } if(flag){ cout<<“ 無(wú)此車(chē)輛信息!”< cout<<“ ”< aa< } //轎車(chē)車(chē)輛信息登陸界面 void login_car(){ system(“color 0a”);system(“cls”);cout<<“ -------------------------轎車(chē)管理信息FILE *fp = fopen(”count.txt“,”r“);int a;fscanf(fp,”%d“,&a);fclose(fp);return a;} aa.close();------------------------”< 查詢(xún)車(chē) 清除所 退出轎車(chē)車(chē)輛 } c1.add_car();c1.count=c1.count_car()+1;ofstream out(“count.txt”,ios::out);out< } else if(a==4){ } c1.search_car();c1.delete_car();c1.count=c1.count_car()-1;ofstream out(“count.txt”,ios::out);out< } } else if(a==8)break;/*************************************************/ //全局?jǐn)?shù)據(jù),對(duì)象 double Cge;//客車(chē)的基本維護(hù)費(fèi)用 double Sge;//小轎車(chē)的基本維護(hù)費(fèi)用 double Mge;//卡車(chē)的基本工資 int ID;//車(chē)輛編號(hào)(要保證唯一)class Emcar //車(chē)輛種類(lèi) { protected: int Num;//編號(hào) char Pname[20];//車(chē)牌號(hào) char Compa[10];//車(chē)輛公司 int Borntime;//買(mǎi)車(chē)時(shí)間 int Age;//車(chē)齡 int Duty;//車(chē)型 8{ private: double Wload;//耗油量 public: Pascar(char ID,char *Ename,char *Esex,int Eborntime,int Eduty,double Eworkload):Emcar(ID,Ename,Esex,Eborntime,Eduty) { } double GetWload(){ } void SetWload(double Amount){ } void Calcge(){ Fee=Cge+Wload*2000;this->Wload=Amount;return Wload;this->Wload=Eworkload; 0 return Wload;} void SetWload(double Amount){ this->Wload=Amount;} void Calcge(){ Fee=Sge+Wload*20+1000;//20為油價(jià) } void Output(){ Getage(); Calcge();cout< 年cout< *Esex,int Eborntime,int Eduty):Emcar(ID,Ename,Esex,Eborntime,Eduty){} void Calcge(){ } void Output(){ Getage();Calcge(); 年Fee=2500;//火車(chē)的耗油量固定 cout< } p=p->next;delete Cker;Cker=p;Cker=0;double Awge();//計(jì)算平均費(fèi)用 double Aage();//計(jì)算平均車(chē)齡 void Add();//增加車(chē)輛信息 void Modify();//修改車(chē)輛信息 void Delete();//刪除車(chē)輛信息 void Query();//查詢(xún)車(chē)輛信息 void Set();//基礎(chǔ)數(shù)據(jù)設(shè)置 void Count();//簡(jiǎn)單統(tǒng)計(jì)信息 void Save();//數(shù)據(jù)存入磁盤(pán)(包括基礎(chǔ)數(shù)據(jù),車(chē)輛數(shù)據(jù))void Load();//數(shù)據(jù)載入內(nèi)存(包括基礎(chǔ)數(shù)據(jù),車(chē)輛數(shù)據(jù))};void Company::Clear()//清除內(nèi)存中車(chē)輛數(shù)據(jù)(內(nèi)部使用){ Emcar *p=Cker; cout<<“輸入車(chē)輛牌號(hào):”;cin>>Pname;cout<<“輸入制造公司:”;cin>>Compa;cout<<“輸入買(mǎi)車(chē)時(shí)間:”;cin>>Borntime;cout<<“輸入車(chē)型(1:客車(chē) 2:轎車(chē) 3:卡車(chē) 4:火車(chē)):”;cin>>Duty;while(Duty!=1&&Duty!=2&&Duty!=3&&Duty!=4){ } if(Duty!=4){ } //創(chuàng)建新汽車(chē)的結(jié)點(diǎn) switch(Duty){ case 1:p=new Pascar(ID,Pname,Compa,Borntime,Duty,Wload);break;case 2:p=new Limou(ID,Pname,Compa,Borntime,Duty,Wload);break;cout<<“耗油量:”;cin>>Wload;cout<<“輸入有誤,請(qǐng)重新輸入:”< } cout<<“新增車(chē)輛成功!”< void Company::Modify(){ int Num;//編號(hào) char Pname[20];//車(chē)牌號(hào) char Compa[10];//汽車(chē)制造公司 int Borntime;//買(mǎi)車(chē)時(shí)間 int Duty;//車(chē)型 double Wload;//耗油量 cout< //查找要修改的結(jié)點(diǎn) Emcar *p1,*p2;p1=Cker;while(p1){ if(p1->Num==Num)break;else 0 //創(chuàng)建新汽車(chē)結(jié)點(diǎn) Emcar *p3;switch(Duty){ case 1:p3=new Pascar(p1->Num,Pname,Compa,Borntime,Duty,Wload);break;case 2:p3=new Limou(p1->Num,Pname,Compa,Borntime,Duty,Wload);break;case 3:p3=new Truck(p1->Num,Pname,Compa,Borntime,Duty,Wload);break;case 4:p3=new Train(p1->Num,Pname,Compa,Borntime,Duty);break; } ((Limou ((Truck ((Pascar } } } cout<<“修改車(chē)輛信息成功!n”;else //未找到結(jié)點(diǎn) { } cout<<“錯(cuò)誤:未找到該車(chē)輛信息!n”;void Company::Delete()//刪除車(chē)輛信息 { int Num;cout<<“n***********刪除車(chē)輛***********n”;cout<<“ID:”;cin>>Num;//查找要?jiǎng)h除的結(jié)點(diǎn) Emcar *p1,*p2;p1=Cker;while(p1){ if(p1->Num==Num) } cout<<“找到并刪除n”;} else //未找到結(jié)點(diǎn) { cout<<“錯(cuò)誤:未找到該車(chē)輛信息!n”;} } void Company::Query(){ int check,count(0);cout<<“n**********查詢(xún)車(chē)輛信息**********:n”;cout<<“編號(hào)t”<<“車(chē)牌號(hào)t”<<“制造公司”<<“車(chē)齡”<<“ ”<<“t”<<“車(chē)型t”<<“總費(fèi)用(元/月)”< } } } { } else if(p4->Duty==4){ }((Train *)p4)->Output();count++;break;((Truck *)p4)->Output();count++;break;else { } p4=p4->next;if(count==0)cout<<“錯(cuò)誤:未找到該車(chē)輛信息!”< } } Averwge=sum1/Totalnum;//計(jì)算平均費(fèi)用 cout<<“平均費(fèi)用為:”< int Totalnum=0;//車(chē)輛總數(shù) while(p){ } Average=sum2/Totalnum;//計(jì)算平均車(chē)齡 cout<<“平均車(chē)齡為:”< 0- VB+Access學(xué)生公寓管理系統(tǒng)-論文 中文摘要 隨著電腦的普及與使用,現(xiàn)在的管理也提升了一個(gè)檔次,漸漸實(shí)現(xiàn)了無(wú)紙化辦公,即從原來(lái)的人工記錄管理模式轉(zhuǎn)變?yōu)殡娔X一體化管理。高校是科研的陣地,后勤的公寓管理也應(yīng)該一改傳統(tǒng)的人工管理,更加信息化,時(shí)代化,節(jié)省人力物力,提高效率。基于這一點(diǎn),開(kāi)發(fā)此學(xué)生公寓管理軟件。學(xué)生公寓管理軟件,是以高校的管理方式為實(shí)例而設(shè)計(jì)的一種實(shí)用型管理系統(tǒng)。本系統(tǒng)最大的特點(diǎn)是通用性、簡(jiǎn)單操作性,適用于同行業(yè)以及一些同類(lèi)型的企業(yè)管理。隨著學(xué)校寄宿人員的增多,公寓管理人員的負(fù)擔(dān)越來(lái)越重,為了讓所有公寓管理人員能從繁重的工作中解脫出來(lái),實(shí)現(xiàn)無(wú)紙化辦公;使工作更有條理,更方便,更有效率而開(kāi)發(fā)出這套公寓管理軟件。軟件從對(duì)學(xué)生的分房開(kāi)始到最后的公寓管理全部電腦化。它主要包括:公寓、寢室的配置、住宿人員登記、衛(wèi)生檢查、公寓資產(chǎn)、學(xué)生違紀(jì)、值班老師記錄以及對(duì)學(xué)生住宿情況查詢(xún),可以更快地了解到每個(gè)學(xué)生的住宿情況,使公寓的管理效率更高,做的更好! 關(guān)鍵字:配置、登記、檢查 Abstract With the popularization and use of the computer, present management has been promoted much, more and more jobs have been done by computer.It namely changes the original artificial record management mode into computer''s integrating and managing.The university is the position of scientific research, the apartment management should change traditional managing artificially too, for the efficiency.So , develop the management software of student''s apartment.Student Apartment Management System is a utility management system based on the managing mode of many universities and colleges.Universal and easy-operating are the greatest features of the system ,which is also applicable for enterprises of the same type.Apartment keepers bear a increasingly heavy burden because of the gradually added number of roomers.In order to free apartment keepers from the heave work,and make the work more convienent and efficient.The apartment management system is developed.The system computerized all the processes concerning the apartment management which include apartment,dormitory distribution,roomer registration,santitation examination,and the query for apartment property,students'' violation of discipline,teachers'' records and rooming situation.It makes the apartment management more efficient and much better.Key word: dispose、register、check 目錄 引言...4 第一章系統(tǒng)分析...5 1.1開(kāi)發(fā)工具簡(jiǎn)介及系統(tǒng)運(yùn)行環(huán)境...5 1.2開(kāi)發(fā)的必要性...6 1.3系統(tǒng)開(kāi)發(fā)的可行性...7 1.4數(shù)據(jù)來(lái)源...8 1.5新系統(tǒng)數(shù)據(jù)流程圖...9 第二章 數(shù)據(jù)庫(kù)設(shè)計(jì)...12 第三章功能模塊設(shè)計(jì)...16 3.1新系統(tǒng)功能結(jié)構(gòu)圖及運(yùn)行圖如下:...16 3.2系統(tǒng)設(shè)置:.17 3.3公寓管理...18 3.4 衛(wèi)生檢查...19 3.5 公寓資產(chǎn)...20 3.6 記錄查看與記錄刪除...20 3.7值班記錄...20 3.8幫助制作...21 第四章 程序設(shè)計(jì)...22 主程序流程圖...22 4.1 登錄界面...23 4.2 程序主界面...26 4.3系統(tǒng)設(shè)置...32 4.4公寓管理...57 4.5衛(wèi)生檢查...60 4.6 公寓資產(chǎn)...64 4.7記錄查看...66 4.8記錄刪除...74 4.9值班記錄...81 4.10 Help制作...88 第五章 系統(tǒng)測(cè)試...90 總結(jié)...91 參考文獻(xiàn)...92 引言 隨著電腦的普及與應(yīng)用,現(xiàn)在的管理也需要提升一個(gè)檔次。即從原來(lái)的手工記錄管理模式轉(zhuǎn)變?yōu)殡娔X一體化管理。這樣會(huì)給公寓的管理人員帶來(lái)很多好處,讓他們管理的效率更高、效果更好,管理起來(lái)更方便。由此而產(chǎn)生了本管理軟件――學(xué)生公寓管理軟件。學(xué)生公寓管理軟件是用Microsoft Visual Basic 編寫(xiě)完成。由于Visual Basic率先采用了可視化(VISUAL)的程序設(shè)計(jì)方法。所以利用系統(tǒng)提供的大量可視化控件,可以方便的以可視化方式直接繪制用戶(hù)圖形界面,并可直觀,動(dòng)態(tài)的調(diào)整界面的風(fēng)格和樣式,直到滿(mǎn)意為止,從而克服了以前必須用大量代碼去描述界面元素的外觀和位置的傳統(tǒng)編程模式。做起來(lái)方便,使用起來(lái)更為快捷。 作為一個(gè)學(xué)生公寓的管理軟件,要十分全面的貼近以及適合大學(xué)公寓的管理方法。本軟件的參考資料主要有兩種來(lái)源:一是參考本學(xué)校公寓的管理結(jié)構(gòu),管理方法。如各個(gè)公寓的分布特色,以及公寓的各種管理制度。這些資料是本軟件的主要依據(jù),也可以說(shuō)這些資料來(lái)源于普通的生活,比較真實(shí)一些。二是來(lái)源于網(wǎng)絡(luò)上的各種同類(lèi)軟件,通過(guò)這些軟件可以看出一個(gè)公寓最低需要哪些管理與設(shè)置,在這些軟件中,有些軟件功能比較齊全,但是在管理上顯的非常的不方便,使用起來(lái)十分麻煩、繁瑣,有些雖然簡(jiǎn)單,但是功能上又不是十分完善,對(duì)這些軟件首先要進(jìn)行取其精華,棄其糟粕,從而進(jìn)行編寫(xiě)。 本軟件主要包括以下方面:系統(tǒng)設(shè)置、公寓管理、衛(wèi)生檢查、公寓資產(chǎn)、記錄查看、記錄刪除、值班記錄、幫助制作。 學(xué)生公寓管理軟件目前版本為1.0.1,為一個(gè)測(cè)試版本。它目前在功能上,以及操作的簡(jiǎn)便上有很大的改進(jìn)。但是還是存在一些不足,在有些功能的實(shí)現(xiàn)上還不是十分的理想,這也是本人在時(shí)間和精力上留下的遺憾。但是相信這些會(huì)在以后的版本中得到完善,使這個(gè)軟件成為一個(gè)功能上最全,使用上最簡(jiǎn)捷方便的管理軟件。431 [10]...>> 第一章系統(tǒng)分析 系統(tǒng)采用MICROSOFT公司的 VISUAL BASIC語(yǔ)言編寫(xiě)的學(xué)生公寓管理系統(tǒng),本系統(tǒng)在研制開(kāi)發(fā)過(guò)程中,嚴(yán)格遵循軟件工程方法,完全采用結(jié)構(gòu)化程序設(shè)計(jì)方法。 本系統(tǒng)的主要功能可以方便的對(duì)學(xué)生公寓進(jìn)行管理,系統(tǒng)采用ACCESS數(shù)據(jù)庫(kù)使數(shù)據(jù)具有較強(qiáng)的完整性、較好的數(shù)據(jù)安全性等特點(diǎn)以及提供了標(biāo)準(zhǔn)的幫助,使用戶(hù)方便的獲得所需的幫助。界面友好、操作簡(jiǎn)單、功能齊全、具有較好的人機(jī)接口界面是本系統(tǒng)的最大優(yōu)點(diǎn)。1.1開(kāi)發(fā)工具簡(jiǎn)介及系統(tǒng)運(yùn)行環(huán)境 1.1.1 VB6簡(jiǎn)介 本軟件的開(kāi)發(fā)工具為VISUAL BASIC,作為一種開(kāi)發(fā)語(yǔ)言,VISUAL BASIC率先采用了可視化(VISUAL)的程序設(shè)計(jì)方法。利用系統(tǒng)提供的大量可視化控件,可以方便的以可視化方式直接繪制用戶(hù)圖形界面,并可直觀、動(dòng)態(tài)的調(diào)整界面的風(fēng)格和樣式,直到滿(mǎn)意為止,從而克服了以前必須用大量代碼去描述界面元素的外觀和位置的傳統(tǒng)編程模式。 它還擁有面向?qū)ο蟮木幊谭椒?。面向?qū)ο蟮某绦蛟O(shè)計(jì)是伴隨WIDNOWS圖形界面的誕生而產(chǎn)生的一種新的程序設(shè)計(jì)思想,與傳統(tǒng)程序設(shè)計(jì)有著較大的區(qū)別,VISUAL BASIC采用了面向?qū)ο蟮某绦蛟O(shè)計(jì)思想。所謂“對(duì)象”就是現(xiàn)實(shí)生活中的每個(gè)一人,每一個(gè)可見(jiàn)的實(shí)體。同樣,在VISUAL BASIC中,用來(lái)構(gòu)成用戶(hù)圖形界面的可視化控件,也可視為是一個(gè)對(duì)象。不同的對(duì)象,在程序中所賦給它的功能是不同的,比如,在圖形界面上有兩個(gè)命令按鈕,一個(gè)用來(lái)實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)計(jì)計(jì)算,另一個(gè)用來(lái)實(shí)現(xiàn)數(shù)據(jù)的打印,這兩個(gè)按鈕就可視為是兩個(gè)不同的對(duì)象,為了實(shí)現(xiàn)這兩個(gè)對(duì)象各自不同的功能,接下來(lái)就應(yīng)該分別針對(duì)這兩個(gè)對(duì)象編寫(xiě)程序代碼,這種編程的思想和方法即為所謂的“面向?qū)ο蟮某绦蛟O(shè)計(jì)”。它還支持第三方軟件商為其開(kāi)發(fā)的可視化控制對(duì)象,如本例中就用到了一個(gè)。這些可視化控件對(duì)應(yīng)的文件擴(kuò)展名這OCX。只要擁有控件的OCX文件,就可將其加入到VB系統(tǒng)中,從而大大增強(qiáng)VB的編程實(shí)力。使軟件做起來(lái)會(huì)更加得心應(yīng)手。1.1.2 HELP 制作 制作help文檔需要一個(gè)專(zhuān)業(yè)制作軟件,本人使用的是破解版的QuickCHM,此軟件無(wú)論在功能上還在是操作上用起來(lái)都是很方便。它屬于一個(gè)傻瓜型的制作軟件,利用它可以快速的制作出各種你所需要的幫助文檔。但是如果想制作出幫助文檔,就需要使用制作網(wǎng)頁(yè)的軟件把內(nèi)容先做成html形式,本人使用Dreamweaver制作的網(wǎng)頁(yè),然后在用此軟件進(jìn)行加載,最后生成chm文檔。1.2開(kāi)發(fā)的必要性 信息資源已成為各個(gè)部門(mén)的重要財(cái)富和資源,建立一個(gè)滿(mǎn)足各級(jí)部門(mén)信息處理需要的信息系統(tǒng),也一個(gè)企業(yè)或組織生存越來(lái)越重要的信息資源。長(zhǎng)期以來(lái),使用傳統(tǒng)人工的方法管理高校公寓,這種管理方式存在著許多缺點(diǎn),如:效率低。而且時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新、維護(hù)都帶來(lái)了不少的困難。 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮越來(lái)越重要的作用。學(xué)生公寓管理軟件,是以高校的管理方式為實(shí)例而設(shè)計(jì)的一種實(shí)用型管理軟件。 本系統(tǒng)最大的特點(diǎn)是通用性、簡(jiǎn)單操作性。隨著學(xué)校寄宿人員的增多,公寓管理人員的負(fù)擔(dān)越來(lái)越重,為了讓所有公寓管理人員能從繁重的工作中解脫出來(lái),實(shí)現(xiàn)無(wú)紙化辦公,使工作更有條理、更方便、更有效率,而開(kāi)發(fā)出這套公寓管理軟件。1.3系統(tǒng)開(kāi)發(fā)的可行性 1.3.1 技術(shù)上的可行性 我們正走進(jìn)一個(gè)信息時(shí)代,信息技術(shù)將從根本上改變?nèi)祟?lèi)社會(huì)的生產(chǎn)方式和生活方式,各行各業(yè)的業(yè)務(wù)管理現(xiàn)在都已經(jīng)相繼使用計(jì)算機(jī)來(lái)處理,可以說(shuō)用計(jì)算機(jī)進(jìn)行信息管理是一個(gè)總趨勢(shì)。學(xué)生公寓管理軟件主要是對(duì)公寓、寢室的配置、住宿人員登記、衛(wèi)生檢查、公寓資產(chǎn)、學(xué)生違紀(jì)、值班老師記錄以及對(duì)學(xué)生住宿情況查詢(xún),修改,更新等??梢愿斓亓私獾矫總€(gè)學(xué)生的住宿情況。開(kāi)發(fā)一個(gè)學(xué)生公寓管理系統(tǒng)可以達(dá)到事半功倍的效果。隨著數(shù)據(jù)庫(kù)管理系統(tǒng)的普及以及可視化編程軟件的出現(xiàn),使數(shù)據(jù)庫(kù)管理信息系統(tǒng)的開(kāi)發(fā)變得更為簡(jiǎn)單,因此開(kāi)發(fā)一個(gè)學(xué)生公寓管理系統(tǒng)是完全可行的。1.3.2 經(jīng)濟(jì)上的可行性 本單位有自己的微機(jī)室可以使用,不必重新購(gòu)置計(jì)算機(jī),不需要花費(fèi)大量資金,是一個(gè)節(jié)約人力物力的好辦法。 1.3.3 組織管理上的可行性 本單位的領(lǐng)導(dǎo)干部具有較高的素質(zhì),它們對(duì)管理現(xiàn)代化有較高的認(rèn)識(shí)水平,并且有各級(jí)領(lǐng)導(dǎo)的大力支持和重視。 綜上所述,建立一個(gè)學(xué)生公寓管理軟件與人工操作相比具有速度更快,操作更準(zhǔn)確,更節(jié)約開(kāi)支等有利之處,因此建立一個(gè)學(xué)生公寓管理軟件是必要可行。 1.4數(shù)據(jù)來(lái)源 作為一個(gè)學(xué)生公寓的管理軟件,要十分全面的貼近以及適合大學(xué)公寓的管理方法。本軟件的參考資料主要有兩種來(lái)源:一是參考本學(xué)校公寓的管理結(jié)構(gòu),管理方法,這些資料是本軟件的主要依據(jù),也可以說(shuō)這些資料來(lái)源于普通的生活,比較真實(shí)一些。二是來(lái)源于網(wǎng)絡(luò)上的各種同類(lèi)軟件,通過(guò)這些軟件可以看出一個(gè)公寓最低需要哪些管理與設(shè)置,在這些軟件中,有些軟件功能比較齊全,但是在管理上顯的非常的不方便,使用起來(lái)十分麻煩、繁瑣,有些雖然簡(jiǎn)單,但是功能上又不是十分完善,對(duì)這些軟件首先要進(jìn)行取其精華,棄其糟粕,從而進(jìn)行編寫(xiě)。 [10]...>> 1.5新系統(tǒng)數(shù)據(jù)流程圖 圖1.1數(shù)據(jù)流程圖 數(shù)據(jù)字典 圖1.2 數(shù)據(jù)元素 注:其它數(shù)據(jù)元素略 圖1.3 數(shù)據(jù)流 注:其它數(shù)據(jù)流略 圖1.4 加工 注:其它加工略 注:其它數(shù)據(jù)存儲(chǔ)略 第二章 數(shù)據(jù)庫(kù)設(shè)計(jì) 1、E-R圖 圖2.1 E-R圖 2、信息的數(shù)量越來(lái)越大,數(shù)據(jù)庫(kù)的作用越發(fā)突出,所以數(shù)據(jù)庫(kù)的建立是系統(tǒng)施實(shí)的主要部分之一,它關(guān)系到整個(gè)系統(tǒng)的運(yùn)行情況,是整個(gè)系統(tǒng)的重要組成部分。本系統(tǒng)數(shù)據(jù)庫(kù)為db.mdb,在數(shù)據(jù)庫(kù)中包括十個(gè)表。分別是:用戶(hù)表、公寓表、班級(jí)表、寢室表、衛(wèi)生等級(jí)表、學(xué)生基本情況表、學(xué)生請(qǐng)假情況表、學(xué)生違規(guī)情況表、寢室衛(wèi)生情況表、資產(chǎn)表。下面介紹幾個(gè)主要的表: ⑴ 學(xué)生基本情況表主要是存放學(xué)生的基本情況,字段包括:姓名、性別、學(xué)號(hào)、班級(jí)、公寓、寢室、入學(xué)時(shí)間、年制、寢室電話(huà)、個(gè)人電話(huà)、備注。數(shù)據(jù)結(jié)構(gòu)如下表: 字段名 數(shù)據(jù)類(lèi)型 數(shù)據(jù)長(zhǎng)度 姓名 文本 8 性別 文本 2 學(xué)號(hào) 文本 10 班級(jí) 文本 10 公寓 文本 20 寢室 文本 10 入學(xué)時(shí)間 文本 14 年制 文本 8 個(gè)人電話(huà) 文本 15 備注 備注 ⑵ 學(xué)生請(qǐng)假情況表主要存放學(xué)生請(qǐng)假情況,字段包括:日期、姓名、班級(jí)、公寓、寢室、天數(shù)、原因、老師、備注。數(shù)據(jù)結(jié)構(gòu)如下表: 字段名 數(shù)據(jù)類(lèi)型 數(shù)據(jù)長(zhǎng)度 日期 文本 14 姓名 文本 8 班級(jí) 文本 10 公寓 文本 20 寢室 文本 10 天數(shù) 文本 10 原因 備注 老師 文本 8 備注 備注 ⑶ 學(xué)生違規(guī)情況表主要存放學(xué)生違規(guī)情況,字段包括:日期、姓名、班級(jí)、公寓、寢室、原因、程度、處罰、備注。數(shù)據(jù)結(jié)構(gòu)如下表: 字段名 數(shù)據(jù)類(lèi)型 數(shù)據(jù)長(zhǎng)度 日期 文本 14 姓名 文本 8 班級(jí) 文本 10 公寓 文本 20 寢室 文本 10 原因 備注 程度 備注 處罰 備注 備注 備注 ⑷ 衛(wèi)生情況表主要存放寢室衛(wèi)生情況,字段包括:日期、公寓、寢室、檢查1到 5、得分、減分、等級(jí)、備注。其中檢查1到5是為了在沒(méi)有使用者想輸入的記錄的情況下自己輸入而設(shè)計(jì)的,保證了系統(tǒng)的可修改性、可擴(kuò)展性。數(shù)據(jù)結(jié)構(gòu)如下表: 字段名 數(shù)據(jù)類(lèi)型 數(shù)據(jù)長(zhǎng)度 日期 文本 14 公寓 文本 20 寢室 文本 10 檢查1 文本 40 檢查2 文本 40 檢查3 文本 40 檢查4 文本 40 檢查5 文本 40 得分 文本 4 減分 文本 4 等級(jí) 文本 6 備注 備注 ⑸ 資產(chǎn)表主要存放寢室新增資產(chǎn)情況,字段包括:日期、公寓、名稱(chēng)、數(shù)量、單價(jià)、總價(jià)、用途、備注。數(shù)據(jù)結(jié)構(gòu)如下表: 字段名 數(shù)據(jù)類(lèi)型 數(shù)據(jù)長(zhǎng)度 日期 文本 14 公寓 文本 20 名稱(chēng) 文本 20 數(shù)量 文本 4 單價(jià) 文本 10 總價(jià) 文本 10 用途 備注 備注 備注 第三章功能模塊設(shè)計(jì) 3.1新系統(tǒng)功能結(jié)構(gòu)圖及運(yùn)行圖如下: 1、系統(tǒng)功能結(jié)構(gòu)圖: [10]...>> 圖3.1系統(tǒng)功能結(jié)構(gòu)圖 2、系統(tǒng)功能結(jié)構(gòu)圖運(yùn)行圖: 圖3.2系統(tǒng)功能結(jié)構(gòu)運(yùn)行圖 經(jīng)過(guò)系統(tǒng)分析,確定了本軟件主要包括以下方面:系統(tǒng)設(shè)置、公寓管理、衛(wèi)生檢查、公寓資產(chǎn)、記錄查看、記錄刪除、值班記錄、幫助制作。3.2系統(tǒng)設(shè)置: 主要完成:用戶(hù)管理、公寓設(shè)置、數(shù)據(jù)備份、數(shù)據(jù)轉(zhuǎn)換、退出的功能。運(yùn)行圖如下: 圖3.3系統(tǒng)設(shè)置運(yùn)行圖 3.2.1 用戶(hù)管理 可以進(jìn)行管理人員的添加和修改以及刪除操作。添加人員可以分為兩類(lèi):普通用戶(hù)、管理員。可以視不同人員而添加。管理員擁有所有權(quán)力,對(duì)整個(gè)系統(tǒng)的操作。普通用戶(hù)只有瀏覽、及一些簡(jiǎn)單的添加操作權(quán)力。無(wú)用戶(hù)設(shè)置、公寓設(shè)置及記錄刪除等權(quán)力。3.2.2公寓設(shè)置 分為三個(gè)主要的操作:公寓設(shè)置、寢室設(shè)置、班級(jí)設(shè)置。在這里可以添加學(xué)校所有的公寓、所有班級(jí)、每個(gè)公寓的所有寢室,也可以用此軟件管理一幢公寓。這樣操作起來(lái)會(huì)更簡(jiǎn)單、操作一目了然。3.2.3數(shù)據(jù)備份 這是一個(gè)數(shù)據(jù)管理軟件所必不可少的一部分,利用它可以及時(shí)的備份當(dāng)前的數(shù)據(jù)庫(kù)以及在出現(xiàn)故障后利用已保存的數(shù)據(jù)進(jìn)行恢復(fù)。3.2.4數(shù)據(jù)轉(zhuǎn)換 利用數(shù)據(jù)轉(zhuǎn)換將當(dāng)前數(shù)據(jù)庫(kù)中的表轉(zhuǎn)換成Excel表格的形式,顯示更為直觀,可以進(jìn)行打印等操作。3.3公寓管理 主要完成:學(xué)生請(qǐng)假、學(xué)生違規(guī)、床位設(shè)置的功能。運(yùn)行圖如下: 圖3.4公寓管理運(yùn)行圖 3.3.1學(xué)生請(qǐng)假 主要是對(duì)學(xué)生請(qǐng)假記錄做一個(gè)添加。利用它可以把學(xué)生的基本的請(qǐng)假資料保存起來(lái)。3.3.2學(xué)生違規(guī) 主要是對(duì)學(xué)生違規(guī)記錄做一個(gè)添加。利用它可以把學(xué)生的基本的違規(guī)資料保存起來(lái)。3.3.3床位設(shè)置 通過(guò)床位設(shè)置可以簡(jiǎn)單查看每個(gè)公寓每個(gè)寢室的床位使用情況以及床位剩余情況。還可以通過(guò)詳細(xì)查看,查看到某個(gè)公寓某個(gè)寢室住宿人員的人數(shù),以及具體的住宿人員的名字。3.4 衛(wèi)生檢查 主要完成:添加檢查記錄的功能。衛(wèi)生檢查可以對(duì)衛(wèi)生檢查的結(jié)果進(jìn)行記錄。這里的衛(wèi)生標(biāo)準(zhǔn)一共有五項(xiàng)可以填寫(xiě),在每一項(xiàng)里已經(jīng)基本設(shè)置了所不合標(biāo)準(zhǔn)的記錄,你可以在下拉列表框中進(jìn)行選擇即可,但是如果沒(méi)有你想輸入的記錄的話(huà),也可以自己輸入。運(yùn)行圖如下: 圖3.5衛(wèi)生檢查運(yùn)行圖 3.5 公寓資產(chǎn) 主要完成:添加新增物品的功能??梢詫?duì)公寓資產(chǎn)的收入或其它物品的入庫(kù)進(jìn)行記錄。運(yùn)行圖如下: 圖3.6公寓資產(chǎn)運(yùn)行圖 3.6 記錄查看與記錄刪除 主要是對(duì)學(xué)生請(qǐng)假、學(xué)生違規(guī)、衛(wèi)生記錄,公寓資產(chǎn)等記錄所進(jìn)行的操作,利用這兩個(gè)功能可以對(duì)任一記錄進(jìn)行查看與刪除。運(yùn)行圖如下: 圖3.7記錄查看 圖3.8記錄刪除運(yùn)行圖 3.7值班記錄 它的功能主要是針對(duì)值班人員開(kāi)發(fā)出來(lái)的,在這里可以讓值班人員對(duì)當(dāng)天值班情況進(jìn)行一個(gè)小記,以便日后查看。運(yùn)行圖如下: 圖3.9值班記錄運(yùn)行圖 3.8幫助制作 對(duì)于一個(gè)稍顯正規(guī)的軟件來(lái)說(shuō)幫助的制作都是必不可少的內(nèi)容,本程序也不例外,制作了此幫助文檔。在程序中可以按F1或點(diǎn)擊幫助菜單來(lái)顯示此help.Chm文檔。以便對(duì)本軟件進(jìn)行快速操作。運(yùn)行圖如下: 圖3.10幫助運(yùn)行圖 第四章 程序設(shè)計(jì) 主程序流程圖 4.1 登錄界面 此界面是由Photoshop制作而成。在做這個(gè)登錄面的時(shí)候想了很多,最后選擇了這種,感覺(jué)它看起來(lái)干凈,整齊。又不失其莊雅。加上本單位最有特色的建筑,會(huì)讓人一目了然。 4.1.1 登錄圖片顯示 圖4.1登錄界面 4.1.2 界面制作與實(shí)現(xiàn) 在這個(gè)界面中,主要處理的是判斷當(dāng)前用戶(hù)輸入的信息是否正確。如果正確,那么它屬于哪種類(lèi)型用戶(hù)。因?yàn)榇斯芾碥浖诘卿浐蟛煌?lèi)型的用戶(hù)顯示的窗體與實(shí)現(xiàn)的功能都不是一樣的,它們會(huì)有所差別!(1)浮動(dòng)按鈕的實(shí)現(xiàn) 確定和取消兩個(gè)按鈕在鼠標(biāo)沒(méi)有放上去之前看上去只是一個(gè)普通的平面字效果,但是當(dāng)你把鼠標(biāo)放在這幾個(gè)字上面后,它會(huì)顯示凸出的效果,按下后呈現(xiàn)凹陷的效果??傮w實(shí)現(xiàn)立體的感覺(jué)。原理主要是在鼠標(biāo)mousemove事件與線(xiàn)的顏色變化組合來(lái)實(shí)現(xiàn)。主要代碼如下: 在窗體中的鼠標(biāo)移動(dòng)過(guò)程中,以及在窗體初始化的時(shí)候,要把添加的線(xiàn)的.Visible 屬性設(shè)置為 False,只有在鼠標(biāo)按下的時(shí)候在改變其顏色即 [10]...>> 可。 Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)Line1.Visible = False Line2.Visible = False Line3.Visible = False Line4.Visible = False Line5.Visible = False Line6.Visible = False Line7.Visible = False Line8.Visible = False End Sub 鼠標(biāo)按下的時(shí)候設(shè)置線(xiàn)條的顏色如下: Private Sub Label3_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)Line1.BorderColor = &H808080 Line2.BorderColor = &H808080 Line3.BorderColor = &HE0E0E0 Line4.BorderColor = &HE0E0E0 End Sub 鼠標(biāo)移動(dòng)到標(biāo)簽的時(shí)候設(shè)置線(xiàn)條的顏色如下: Private Sub Label3_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)Line1.BorderColor = &HE0E0E0 Line2.BorderColor = &HE0E0E0 Line3.BorderColor = &H808080 Line4.BorderColor = &H808080 Line1.Visible = True Line2.Visible = True Line3.Visible = True Line4.Visible = True End Sub(2)用戶(hù)類(lèi)型判斷 在數(shù)據(jù)庫(kù)中建了一人yonghu表。在添加管理人員時(shí)有兩種默認(rèn)級(jí)別。管理員、普通用戶(hù)。管理員擁有對(duì)數(shù)據(jù)庫(kù)操作的一切權(quán)限。普通用戶(hù)只有普通的查看,數(shù)據(jù)轉(zhuǎn)換等。沒(méi)有刪除等操作功能。前用戶(hù)成功登錄后,會(huì)在主窗體的狀態(tài)欄中顯示出當(dāng)前用戶(hù)及其用戶(hù)類(lèi)型。主要代碼如下: 設(shè)置當(dāng)前控件連接的數(shù)據(jù)庫(kù) Dim provider As String Dim datasource As String provider = “provider=Microsoft.jet.oledb.4.0” datasource = “data source=” & App.Path & “DB.mdb” With Adodc1.Mode = adModeReadWrite.ConnectionString = provider & “;” & datasource.CommandType = adCmdTable.RecordSource = “yonghu”.Refresh.Recordset.MoveFirst End With 對(duì)用戶(hù)進(jìn)行判斷 If Text1.Text = “" Then MsgBox ”請(qǐng)輸入用戶(hù)名!“, 48, ”提示“ Exit Sub End If Adodc1.Recordset.Find ”用戶(hù)=''“ & Text1.Text & ”''“ If Adodc1.Recordset.EOF = False And Text2.Text = Trim(Adodc1.Recordset.Fields(”pass“))Then main.Text1.Text = Adodc1.Recordset.Fields(”級(jí)別“)main.Text2.Text = Adodc1.Recordset.Fields(”用戶(hù)“)main.Show Unload Me Else Text1.Text = ”“ Text2.Text = ”“ MsgBox ”登錄不成功,請(qǐng)重新登錄!“, 48, ”提示“ End If 4.2 程序主界面 程序主界面為本軟件的顯示的核心部分。一切主要操作及顯示都通過(guò)這里完成。整個(gè)界面主要由五部分組成。菜單部分、工具欄、左側(cè)操作欄、右側(cè)顯示欄以及狀態(tài)欄。①界面效果圖如下: 圖4.2程序主界面 菜單欄的詳見(jiàn)附錄內(nèi)容,這里就不提了。左側(cè)操作欄和右側(cè)顯示欄會(huì)在下面的內(nèi)容中做介紹,現(xiàn)在只簡(jiǎn)單介紹一下工具欄和狀態(tài)欄,以及主窗體的各個(gè)事件。 工具欄主要是由coolbar制作而成。由它制做的工具欄的顯示效果會(huì)更有立體感一些。這里只列出了幾個(gè)常用的按鈕。其中的添加按鈕是用來(lái)對(duì)公寓住宿人員進(jìn)行添加,修改也是對(duì)所住宿人員進(jìn)行修改,想要進(jìn)行修改時(shí)必須顯示所有記錄時(shí)才可以進(jìn)行。在這里值得一提的是刪除DataGrid的操作,由于不知道它的當(dāng)前數(shù)據(jù)源是哪個(gè),所以在刪除前要確定它的數(shù)據(jù)源,也就是它所鏈接的adodc1的數(shù)據(jù)源,或者是其它ado控件對(duì)它的數(shù)據(jù)源進(jìn)行重新綁定后的數(shù)據(jù)庫(kù)表,也有可能是經(jīng)過(guò)一個(gè)查詢(xún)后得到的記錄。②它的實(shí)現(xiàn)方法如下所示: Dim o As Adodc Set o = DataGrid1.datasource o.Recordset.Delete o.Recordset.Update 這里主要是用到了ado對(duì)像的方法。用這個(gè)方法得到數(shù)據(jù)源。 下面是整個(gè)工具欄運(yùn)行時(shí)代碼: Select Case Button.Index Case 1 sel.Show 1 Case 3 add.Show 1 Case 5 On Error GoTo next2 Dim s As Adodc Set s = DataGrid1.datasource If s.RecordSource = ”users“ Then edit.Show 1 End If next2: Case 7 On Error Resume Next Dim o As Adodc Set o = DataGrid1.datasource o.Recordset.Delete o.Recordset.Update Case 9 back.Show 1 Case 11 With Adodc1.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdTable.RecordSource = ”users“ ''.Refresh End With Set DataGrid1.datasource = Adodc1 DataGrid1.Refresh Call dx Case 13 Unload Me End Select 狀態(tài)欄分四個(gè)部分。第一個(gè)為固定顯示當(dāng)前所用軟件名稱(chēng)及作者。其中第二個(gè)和第三部分為動(dòng)態(tài)顯示的,它會(huì)顯示出每次用戶(hù)登錄名稱(chēng)及其管理模式。由上圖可以看出,lf為本軟件管理員。第四部分為日期與時(shí)間的顯示。其中第三部分的代碼實(shí)現(xiàn)如下: main.Text1.Text = Adodc1.Recordset.Fields(”級(jí)別“)main.Text2.Text = Adodc1.Recordset.Fields(”用戶(hù)“)StatusBar1.Panels(2).Text = ”當(dāng)前用戶(hù):“ & Text2.Text StatusBar1.Panels(3).Text = ”用戶(hù)模式:“ & Text1.Text StatusBar1.Panels(4).Text = Date & ” “ & Time ''設(shè)置普通用戶(hù)模式 If Text1.Text = ”普通用戶(hù)“ Then yhgl.Visible = False g1.Visible = False jlsc.Visible = False gysz.Visible = False Toolbar1.Buttons(5).Visible = False Toolbar1.Buttons(6).Visible = False Toolbar1.Buttons(7).Visible = False Toolbar1.Buttons(8).Visible = False End If 主窗體在程序運(yùn)行中會(huì)遇到不斷改變其大小,最小化,最大化,以及用鼠標(biāo)來(lái)改變,這里需要在窗體的Resize事件中添加代碼,讓程序中用到的各個(gè)控件隨時(shí)可以適應(yīng)窗體改變后的大小,在這里改變的控件主要有DataGrid、TreeView系列及Frame控件、StatusBar。下面就是設(shè)置它們大小的程序代碼: DataGrid1.Width = main.WidthStatusBar1.Height750 SSTab1.Height = main.HeightCoolBar1.HeightStatusBar1.Height1200 Frame2.Height = main.HeightCoolBar1.HeightStatusBar1.Height1200 TreeView1.Height=main.HeightCoolBar1.HeightStatusBar1.Height1500 TreeView3.Height=main.HeightCoolBar1.Heightz)/ 4 StatusBar1.Panels(1).Width = u + x StatusBar1.Panels(2).Width = v + x StatusBar1.Panels(3).Width = w + x StatusBar1.Panels(4).Width = m + x 這個(gè)軟件的主要部分都在這里運(yùn)行、查看,所以在主窗體的load事件里要把所用的到的東西都要加載進(jìn)來(lái),例如所在程序運(yùn)行時(shí)所用到的表,左側(cè)treeview部分樹(shù)形顯示的初始化。在這里幾乎用到了所有的表,如下所示: provider = ”provider=Microsoft.jet.oledb.4.0“ datasource = ”data source=“ & App.Path & ”DB.mdb“ With Adodc1.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdTable.RecordSource = ”users“ ''.Refresh End With With Adodc2.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdTable.RecordSource = ”gongyu“.Refresh End With With Adodc3.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdTable.RecordSource = ”class“.Refresh End With With Adodc4.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdTable.RecordSource = ”weisheng“.Refresh End With With Adodc5.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource End With With Adodc6.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdTable.RecordSource = ”dengji“.Refresh End With With Adodc7.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdTable.RecordSource = ”qinshi“.Refresh End With With Adodc9.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdTable.RecordSource = ”zichan“.Refresh End With treeview部分樹(shù)形顯示的初始化在這里已經(jīng)做了幾個(gè)過(guò)程,調(diào)用即可。4.3系統(tǒng)設(shè)置 4.3.1用戶(hù)管理 ①界面效果圖 [10]...>> ② 界面制作與實(shí)現(xiàn)方法 這個(gè)界面總體來(lái)說(shuō)各個(gè)控件比較簡(jiǎn)單,但是作為一個(gè)添加刪除管理員的操作,它已經(jīng)連接到了數(shù)據(jù)庫(kù),與數(shù)據(jù)庫(kù)的yonghu表相聯(lián)。各個(gè)控件也與數(shù)據(jù)庫(kù)中表的字段綁定。在窗體初始化的時(shí)候要判斷當(dāng)前數(shù)據(jù)庫(kù)表中是否有記錄,如果沒(méi)有記錄那么有些按鈕將會(huì)被設(shè)置成為失效狀態(tài),否則會(huì)出現(xiàn)錯(cuò)誤。設(shè)置代碼如下: Dim provider As String Dim datasource As String provider = ”provider=Microsoft.jet.oledb.4.0“ datasource = ”data source=“ & App.Path & ”DB.mdb“ With Adodc1.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdTable.RecordSource = ”yonghu“.Refresh End With Option1.Enabled = False Option2.Enabled = False If Adodc1.Recordset.RecordCount = 0 Then Command2.Enabled = False Command3.Enabled = False Command5.Enabled = False Command6.Enabled = False End If Text2.Text = Text3.Text 上一條與下一條的功能一目了然,它們可以對(duì)當(dāng)前表進(jìn)行上一條記錄或下一條記錄依次查看。當(dāng)找到記錄后,可以對(duì)其進(jìn)行相對(duì)的刪除、修改等操作。上一條記錄與下一條的記錄在查看時(shí)有一個(gè)判斷。當(dāng)表中記錄移到最前面(BOF)或最后面(EOF)時(shí),會(huì)把上一條或下一條其中的一個(gè)按鈕的enable屬性設(shè)置為true。即不可以前查看或向后查看。上一條與下一條主要代碼如下: Adodc1.Recordset.MovePrevious ''移動(dòng)記錄 Command6.Enabled = True If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst Command5.Enabled = False End If Adodc1.Recordset.MoveNext ''移動(dòng)記錄 Command5.Enabled = True If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Command6.Enabled = False End If 添加用戶(hù)可以添加使用該管理軟件的用戶(hù)。添加的時(shí)候可以選擇所添加人物的級(jí)別。軟件默認(rèn)為兩個(gè)級(jí)別:管理員、普通用戶(hù)。管理員擁有對(duì)此軟件管理操作等一切的權(quán)力。普通用戶(hù),只有普通的查看、查詢(xún)、備份、添加等權(quán)力。沒(méi)有對(duì)記錄刪除等權(quán)力。在添加用戶(hù)時(shí)你可以選擇一個(gè)且必須選擇一個(gè)。然后輸入此用戶(hù)的用戶(hù)名和密碼即可!添加用戶(hù)主要代碼: If Command1.Caption = ”添加“ Then Command2.Enabled = False Command5.Enabled = False Command6.Enabled = False Command1.Caption = ”確定“ Command3.Caption = ”取消“ Adodc1.Recordset.AddNew Option1.Enabled = True Option2.Enabled = True Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True Text2.Text = ”“ ElseIf Text1.Text = ”“ Then MsgBox ”用戶(hù)名不能為空!“, 48, ”提示“ ElseIf Text2.Text = ”“ Then MsgBox ”密碼不能為空!“, 48, ”提示“ ElseIf Text2.Text <> Text3.Text Then MsgBox ”密碼兩次需一致!“, 48, ”提示“ ElseIf Text4.Text = ”“ Then MsgBox ”請(qǐng)選擇所建用戶(hù)類(lèi)型!“, 48, ”提示“ Else Command2.Enabled = True Command3.Enabled = True Command5.Enabled = True Command6.Enabled = True Command3.Caption = ”編輯“ Command1.Caption = ”添加“ Adodc1.Recordset.Update Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Option1.Value = False Option2.Value = False Option1.Enabled = False Option2.Enabled = False End If 刪除操作可以把當(dāng)前記錄刪除掉。一經(jīng)刪除即不可以在恢復(fù)。所以在操作前要想好。刪除操作部分代碼: If Adodc1.Recordset.RecordCount = 1 Then Command2.Enabled = False End If If(MsgBox(”你真的想刪除當(dāng)前記錄嗎?“, vbOKCancel, ”系統(tǒng)提示“))= vbOK Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveFirst Adodc1.Refresh End If 編輯操作可以對(duì)當(dāng)前所選擇的用戶(hù)進(jìn)行編輯,可以修改其用戶(hù)名與密碼。當(dāng)當(dāng)前用戶(hù)感覺(jué)自己用戶(hù)名稱(chēng)或密碼有泄露時(shí),可以進(jìn)行修改。修改記錄即更新表中的某一條記錄。編輯操作主要代碼如下: Command2.Enabled = False Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True Text4.Enabled = True Option1.Enabled = True Option2.Enabled = True Command1.Caption = ”確定“ ElseIf Command3.Caption = ”取消“ Then Command3.Caption = ”編輯“ Command1.Caption = ”添加“ Command2.Enabled = True Command5.Enabled = True Command6.Enabled = True Text2.Text = Text3.Text Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Option1.Value = False Option2.Value = False Option1.Enabled = False Option2.Enabled = False End If 4.3.2 公寓設(shè)置 公寓設(shè)置可以說(shuō)是本程序中一關(guān)鍵部分。因?yàn)樗械脑O(shè)置都在此進(jìn)行。包括公寓添加、修改、刪除。寢室的添加、修改、刪除以及班級(jí)的添加、修改和刪除操作。只有正確的對(duì)這些設(shè)置進(jìn)行添加修改,才能輸入正確的記錄。這里主要涉及到的問(wèn)題是datagrid的顯示,以及treeview及時(shí)形成新的結(jié)構(gòu)。還有一些就是對(duì)表記錄的復(fù)雜操作。在點(diǎn)擊sstab各版的時(shí)候,要在這時(shí)重新生成寢室設(shè)置中的樹(shù)型結(jié)構(gòu),Select Case PreviousTab Case 0 Call startree1 Case 1 Combo1.Clear Dim I As Integer I = 1 If Adodc1.Recordset.RecordCount <> 0 Then Adodc1.Recordset.MoveFirst Do While I < Adodc1.Recordset.RecordCount Combo1.AddItem(Adodc1.Recordset.Fields(”公寓名稱(chēng)“)) Adodc1.Recordset.MoveNext I = I + 1 Loop End If Call startree1 Case 2 Call startree1 End Select End Sub(1)公寓設(shè)置 ① 公寓設(shè)置效果圖 圖4.4公寓設(shè)置 ② 界面制作與實(shí)現(xiàn)方法 在這個(gè)界面中主要用到了一個(gè)Sstab控件與一個(gè)顯示表中內(nèi)容的Datagrid控件。以及起到美觀作用的Frame控件。 在右下角的文本框中可以輸入想要添加的公寓名稱(chēng)。然后點(diǎn)擊添加即可完成添加操作。Datagrid中會(huì)立即刷新顯示更新內(nèi)容。要修改某條記錄時(shí),要先對(duì)所要修改的記錄進(jìn)行選擇,確認(rèn)選擇后,點(diǎn)擊下面的修改按鈕,會(huì)在下面的文本中顯示出所要修改公寓的名稱(chēng),此時(shí)即可輸入要修改的名字。然后點(diǎn)擊更新就會(huì)完成此操作。Datagrid也會(huì)即時(shí)更新其內(nèi)容。刪除操作更為簡(jiǎn)單,選擇想要?jiǎng)h除的公寓名稱(chēng),點(diǎn)擊刪除,確認(rèn)后完成此操作。但是刪除后不會(huì)影響其它表中的數(shù)據(jù)。其它表的有關(guān)此公寓的信息還會(huì)存在。在進(jìn)行所有操作前,先要確定數(shù)據(jù)庫(kù)已連接。 在添加前要判斷所寫(xiě)公寓名稱(chēng)是否正確,即是否輸入名稱(chēng),該記錄不能為空,不為空則對(duì)數(shù)據(jù)庫(kù)表進(jìn)行查找,判斷當(dāng)前輸入記錄是否已在表中存在,如果已存在,則會(huì)給出提示,不存在,添加成功。 Adodc1.Recordset.Find ”公寓名稱(chēng)=''“ & Text2.Text & ”''“ If Adodc1.Recordset.EOF = False Then MsgBox ”此公寓已存在“, , ”提示“ Adodc1.Recordset.MoveFirst Exit Sub End If Text3.Text = ”“ If Text2.Text = ”“ Then MsgBox ”輸入所要添加公寓的名稱(chēng)“, , ”提示“ Exit Sub End If 添加: Adodc1.Recordset.AddNew Adodc1.Recordset.Fields(”公寓名稱(chēng)“)= Text2.Text Adodc1.Recordset.Update Adodc1.RecordSource = ”gongyu“ Text2.Text = ”“ Set DataGrid2.datasource = Adodc1 DataGrid2.Refresh 修改公寓名稱(chēng): If Text3.Text = ”“ Then MsgBox ”選擇要修改的公寓“, , ”提示“ Exit Sub End If If Command12.Caption = ”修改“ Then Text2.Text = Text3.Text Label6.Caption = ”輸入想要修改的公寓名稱(chēng)“ Command12.Caption = ”更新“ Command3.Enabled = False Command7.Enabled = False ElseIf Command12.Caption = ”更新“ Then Command3.Enabled = True Command7.Enabled = True Label6.Caption = ”輸入想要添加的公寓名稱(chēng)“ Adodc1.Recordset.Fields(”公寓名稱(chēng)“)= Text2.Text Adodc1.Recordset.Update Adodc2.Recordset.ActiveConnection.Execute ”update qinshi set 公寓名稱(chēng)=''“ & Text2.Text & ”'' where 公寓名稱(chēng)=''“ & Trim(Text3.Text)& ”''“ Adodc2.Recordset.Update Command12.Caption = ”修改“ End If Set DataGrid2.datasource = Adodc1 DataGrid2.Refresh Adodc5.Recordset.Update Set main.DataGrid1.datasource = Adodc5 main.DataGrid1.Refresh 刪除公寓名稱(chēng) If Text3.Text = ”“ Then MsgBox ”選擇所要?jiǎng)h除公寓的名稱(chēng)“, , ”提示“ Exit Sub End If If(MsgBox(”你真的想刪除公寓名稱(chēng)為 “ & Text3.Text & ” 的記錄嗎?“, vbOKCancel, ”系統(tǒng)提示“))= vbOK Then Adodc1.Recordset.Delete Adodc1.Recordset.Update End If Text3.Text = ”“ Set DataGrid2.datasource = Adodc1 DataGrid2.Refresh(2)寢室設(shè)置 ①寢室設(shè)置效果圖 圖4.5寢室設(shè)置 ②界面制作與實(shí)現(xiàn)方法 此界面實(shí)現(xiàn)相對(duì)比公寓設(shè)置來(lái)說(shuō)相對(duì)復(fù)雜一些。用到的控件主要是Sstab與Treeview。但是在程序方面比較復(fù)雜。 在添加一個(gè)寢室前先要選擇所要添加寢室所在的公寓。這個(gè)公寓可以點(diǎn)擊下面的樹(shù)中的節(jié)點(diǎn),也可以在列表框中選擇。樹(shù)中的節(jié)點(diǎn)在點(diǎn)擊后會(huì)把父節(jié)點(diǎn)顯示在選擇公寓后面的列表框中,而選中的節(jié)點(diǎn)會(huì)出現(xiàn)在寢室名稱(chēng)里。你也可以自己進(jìn)行添寫(xiě),確認(rèn)公寓后即可添加完成了。添加后會(huì)把Treeview重新刷新一下。以顯示更新后的記錄。添加源碼: Adodc1.Refresh Adodc1.Recordset.Find ”公寓名稱(chēng)=''“ & Combo1.Text & ”''“ If Adodc1.Recordset.EOF = True Then MsgBox ”此公寓不存在“, , ”提示“ Adodc1.Recordset.MoveFirst Exit Sub End If If Combo1.Text = ”“ Or Text1.Text = ”“ Then MsgBox ”請(qǐng)輸入所要添加的寢室及其所屬公寓“, , ”提示“ Exit Sub End If With Adodc2.Recordset.AddNew.Recordset.Fields(0).Value = Combo1.Text.Recordset.Fields(1).Value = Text1.Text.Recordset.Update End With Combo1.Text = ”“ Text1.Text = ”“ Call startree1 修改操作可以把當(dāng)前選中的寢室進(jìn)行名稱(chēng)修改與其所屬公寓進(jìn)行修改。當(dāng)要對(duì)名稱(chēng)進(jìn)行修改時(shí),先要選擇所要修改的寢室名,選擇后會(huì)在寢室名稱(chēng)里顯示出來(lái),把當(dāng)前寢室名稱(chēng)改成要修改的寢室名稱(chēng),然后點(diǎn)擊修改即完成名稱(chēng)修改操作。當(dāng)要對(duì)當(dāng)前寢室的所屬公寓進(jìn)行修改時(shí),需要先選擇所要修改的寢室,然后在上面的公寓名稱(chēng)后填寫(xiě)所要修改的寢室名稱(chēng)。點(diǎn)擊修改后完成此操作。但是這種操作不是常見(jiàn)。修改源碼: Adodc1.Refresh Adodc1.Recordset.Find ”公寓名稱(chēng)=''“ & Combo1.Text & ”''“ If Adodc1.Recordset.EOF = True Then MsgBox ”此公寓不存在“, , ”提示“ Adodc1.Recordset.MoveFirst Exit Sub End If Dim sql As String On Error Resume Next If Combo1.Text = ”“ Or Text1.Text = ”“ Then MsgBox ”請(qǐng)?jiān)谙旅孢x擇所要修改的寢室“, , ”提示“ Exit Sub End If ''sql = ”select * form qinshi where 公寓名稱(chēng)=''“ & Trim(Combo1.Text)& ”'' and 寢室=''“ & Trim(Text1.Text)& ”''“ Adodc2.Recordset.ActiveConnection.Execute ”update qinshi set 寢室=''“ & Text1.Text & ”'',公寓名稱(chēng)=''“ & Trim(Combo1.Text)& ”''where 寢室=''“ & Trim(Text6.Text)& ”''and 公寓名稱(chēng)=''“ & Trim(Text7.Text)& ”''“ Adodc2.Recordset.Update Combo1.Text = ”“ Text1.Text = ”“ Call startree1 刪除操作可以刪除掉當(dāng)前樹(shù)型顯示中的任何一個(gè)子節(jié)點(diǎn),也就是這個(gè)樹(shù)型節(jié)點(diǎn)中的寢室名稱(chēng),注意的是,刪除后這個(gè)記錄只在qinshi表中刪除,其相關(guān)記錄不會(huì)被刪除掉的,如果想刪除,還需要人工操作。實(shí)現(xiàn)的方法主要是對(duì)qinshi表操作,先對(duì)其進(jìn)行查詢(xún),查詢(xún)當(dāng)前想要被刪除的表是否存在,如果不存在,則給出提示,如果存在這條記錄,則在表中把它刪除掉,刪除后調(diào)用生成樹(shù)過(guò)程,把當(dāng)前寢室設(shè)置中的樹(shù)型結(jié)構(gòu)重新生成,更新記錄。實(shí)現(xiàn)的部分代碼如下所示: If Combo1.Text = ”“ Or Text1.Text = ”“ Or Combo1.Text = ”公寓管理系統(tǒng)“ Then MsgBox ”選擇所要?jiǎng)h除的寢室“, , ”提示“ Exit Sub End If If(MsgBox(”你真的想刪除 “ & Combo1.Text & ” “ & ”寢室為“ & Text1.Text & ” 的記錄嗎?“, vbOKCancel, ”系統(tǒng)提示“))= vbOK Then Adodc2.Refresh [10]...>> Adodc2.Recordset.ActiveConnection.Execute ”delete from qinshi where 公寓名稱(chēng)=''“ & Trim(Combo1.Text)& ”'' and 寢室=''“ & Trim(Text1.Text)& ”''“ Adodc2.Recordset.Update End If Combo1.Text = ”“ Text1.Text = ”“ Call startree1 在treeview點(diǎn)擊的時(shí)候,上面的文本框中會(huì)顯示相應(yīng)的記錄,這主要是對(duì)treeview進(jìn)行了設(shè)置,代碼如下: Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)On Error Resume Next Text1.Text = TreeView1.SelectedItem.Text Combo1.Text = TreeView1.SelectedItem.Parent Text6.Text = TreeView1.SelectedItem.Text Text7.Text = TreeView1.SelectedItem.Parent End Sub(3)班級(jí)設(shè)置 ①班級(jí)設(shè)置效果圖 圖4.6班級(jí)設(shè)置 ②界面制作與實(shí)現(xiàn)方法 此界面制作與公寓設(shè)置基本一致。在這個(gè)界面中主要用到了一個(gè)Sstab控件與一個(gè)顯示表中內(nèi)容的Datagrid控件。以及起到美觀作用的Frame控件。 在右下角的文本框中可以輸入想要添加的班級(jí)名稱(chēng)。然后點(diǎn)擊添加即可完成添加操作。Datagrid中會(huì)立即刷新顯示更新內(nèi)容。要修改某條記錄時(shí),要先對(duì)所要修改的記錄進(jìn)行選擇,確認(rèn)選擇后,點(diǎn)擊下面的修改按鈕,會(huì)在下面的文本中顯示出所要修改班級(jí)的名稱(chēng),此時(shí)即可輸入要修改的名字。然后點(diǎn)擊更新就會(huì)完成此操作。Datagrid也會(huì)即時(shí)更新其內(nèi)容。刪除操作更為簡(jiǎn)單,選擇想要?jiǎng)h除的班級(jí)名稱(chēng),點(diǎn)擊刪除,確認(rèn)后完成此操作。添加班級(jí)源碼: Adodc3.Recordset.Find ”class=''“ & Text4.Text & ”''“ If Adodc3.Recordset.EOF = False Then MsgBox ”此班級(jí)已存在“, , ”提示“ Adodc3.Recordset.MoveFirst Exit Sub End If Text5.Text = ”“ If Text4.Text = ”“ Then MsgBox ”輸入所要添加班級(jí)的名稱(chēng)“, , ”提示“ Exit Sub End If Adodc3.Recordset.AddNew Adodc3.Recordset.Fields(”class“)= Text4.Text Adodc3.Recordset.Update Adodc3.RecordSource = ”class“ Text4.Text = ”“ Set DataGrid3.datasource = Adodc3 DataGrid3.Refresh 修改班級(jí)源碼: If Command10.Caption = ”修改“ Then Text4.Text = Text5.Text Label6.Caption = ”輸入想要修改的班級(jí)名稱(chēng)“ Command10.Caption = ”更新“ Command6.Enabled = False Command9.Enabled = False ElseIf Command10.Caption = ”更新“ Then Command9.Enabled = True Command6.Enabled = True Label6.Caption = ”輸入想要添加的班級(jí)名稱(chēng)“ Adodc3.Recordset.Fields(”class“)= Text4.Text Adodc3.Recordset.Update Command10.Caption = ”修改“ End If 刪除班級(jí)源碼: If Text5.Text = ”“ Then MsgBox ”選擇所要?jiǎng)h除班級(jí)的名稱(chēng)“, , ”提示“ Exit Sub End If If(MsgBox(”你真的想刪除班級(jí)名稱(chēng) 為 “ & Text5.Text & ” 的記錄嗎?“, vbOKCancel, ”系統(tǒng)提示“))= vbOK Then Adodc3.Recordset.Delete Adodc3.Recordset.Update End If Text5.Text = ”“ Set DataGrid3.datasource = Adodc3 DataGrid3.Refresh End Sub 4.3.3數(shù)據(jù)備份: 數(shù)據(jù)備份是一個(gè)數(shù)據(jù)庫(kù)軟件必不可少的一部分,利用它可以把當(dāng)前數(shù)據(jù)庫(kù)表進(jìn)行全面的備份,以備以后使用。因?yàn)樵诓僮髦锌赡軙?huì)導(dǎo)致數(shù)據(jù)遭到破壞,或者是系統(tǒng)的原因使數(shù)據(jù)庫(kù)損壞,或者是一些其它的人為原因,這樣你可以用此功能把數(shù)據(jù)恢復(fù)到最后一次備份的狀態(tài),使損失做到最少,經(jīng)常備份,操作起來(lái)更有安全感。①數(shù)據(jù)備份效果圖 圖4.7數(shù)據(jù)備份效果圖 ② 功能實(shí)現(xiàn) 界面制作相對(duì)程序來(lái)說(shuō)比較簡(jiǎn)單,用到的是coolbar控件,點(diǎn)擊按鈕可以選擇備份路徑。然后點(diǎn)擊數(shù)據(jù)備份即可。窗體初始化部分代碼如下: Dim cnn1 As ADODB.Connection Dim rstschema As ADODB.Recordset Dim strcnn As String Set cnn1 = New ADODB.Connection strcnn = ”provider=Microsoft.jet.oledb.4.0;“ & ”data source=“ & App.Path & ”db.mdb“ cnn1.Open strcnn Set rstschema = cnn1.OpenSchema(adSchemaTables)Do Until rstschema.EOF temp = rstschema!Table_Name If Left(temp, 1)<> ”M“ Then End If rstschema.MoveNext Loop cnn1.Close On Error GoTo err PathName = App.Path & ”db.MDB“ dbasize = FileLen(PathName)err: Exit Sub 數(shù)據(jù)備份部分在本程序中用到了一個(gè)模塊,在模塊中有一個(gè)方法,dobackup。點(diǎn)擊備份按鈕后開(kāi)始備份,代碼如下: If txtDestination <> ”“ Then DoBackup PathName, txtDestination MsgBox ”備份成功!“, , ”提示“ ElseIf txtDestination = ”“ Then MsgBox ”You must specify a distination for the backup“, vbCritical 其中DoBackup為模塊中已定義的方法,在這里進(jìn)行調(diào)用。Dobackup實(shí)現(xiàn)方法代碼如下所示: Dim lFileOp As Long Dim lresult As Long Dim lFlags As Long Dim SHFileOp As SHFILEOPSTRUCT Dim strSourceDir As String Dim strDestinationDir As String Screen.MousePointer = vbHourglass BackupFolderName = strDestinationPath MkDir BackupFolderName & ”Backup“ & Format(Date, ”yyyy.mm.dd“)& vbNullChar .fFlags = lFlags End With lresult = SHFileOperation(SHFileOp)Screen.MousePointer = vbDefault frmBackupDba.lblStatus = ”Backup Complete“ 在備份分前先要選擇一個(gè)備份路徑,點(diǎn)擊…那個(gè)按鈕開(kāi)始進(jìn)行選擇,實(shí)現(xiàn)方法如下: Dim strTemp As String strTemp = fBrowseForFolder(Me.hwnd, ”Select backup path“)If strTemp <> ”“ Then txtDestination = strTemp End If 數(shù)據(jù)恢復(fù)界面同上,它的功能主要是在當(dāng)前數(shù)據(jù)庫(kù)遭到破壞后,可以利用它來(lái)進(jìn)行數(shù)據(jù)恢復(fù),在數(shù)據(jù)恢復(fù)前要選擇所要恢復(fù)的數(shù)據(jù)庫(kù)路徑,如下: Dim strTemp As String strTemp = fBrowseForFolder(Me.hwnd, ”Restore From“)If strTemp <> ”“ Then txtSource = strTemp dbasize2 = FileLen(txtSource & ”db.MDB“) lblSelectedDba = ”Selected Backup Database is : “ & Format((dbasize2 / 1024)/ 1024, ”standard“)& ”MB.“ cmdRestore.Enabled = True End If Erro: Select Case err.Number Case 53 ''File Not Found lblSelectedDba = ”No Backup at this location“ Toolbar2.Enabled = False End Select 它主要是查看數(shù)據(jù)庫(kù)是否存在,如果所恢復(fù)的數(shù)據(jù)不存在,則會(huì)提示錯(cuò)誤。數(shù)據(jù)恢復(fù)也用到了一個(gè)方法,在模塊中也已經(jīng)定義了該方法DoRestore。數(shù)據(jù)恢復(fù)代碼如下: If MsgBox(”Restoring database from location “ & txtSource & ” will replace existing database files.Do you want to Contunue“, vbYesNo)= vbYes Then DoRestore txtSource.Text, App.Path If NoDba = True Then MsgBox ”Database Restored Click Ok to Exit Program“ frmRestoreDba.Hide Unload frmRestoreDba End If Else lblStatus.Caption = ”Database Restore Canceled“ End If 其中DoRestore實(shí)現(xiàn)的功能源碼如下所示: DEFSOURCE = ”P(pán)ROVIDER=Microsoft.jet.oledb.4.0;Persist Security Info=False;Data Source=“ DBName = ”db.MDB;Jet OLEDB:Database Password=matrix-se;“ Set Db = New ADODB.Connection Db.Open DEFSOURCE & App.Path & DBName Dim lFileOp As Long Dim lresult As Long Dim lFlags As Long Dim SHFileOp As SHFILEOPSTRUCT Dim strSourceDir As String Dim strDestinationDir As String Db.Close Screen.MousePointer = vbHourglass BackupFolderName = strDestinationPath lFileOp = FO_COPY lFlags = lFlags And Not FOF_SILENT lFlags = lFlags Or FOF_NOCONFIRMATION lFlags = lFlags Or FOF_NOCONFIRMMKDIR lFlags = lFlags Or FOF_FILESONLY With SHFileOp .wFunc = lFileOp .pFrom = strSourcePath & ”db.MDB“ & vbNullChar .pTo = strDestinationPath & vbNullChar .fFlags = lFlags End With lresult = SHFileOperation(SHFileOp)Set Db = New ADODB.Connection Db.Open DEFSOURCE & App.Path & DBName Screen.MousePointer = vbDefault frmRestoreDba.lblStatus = ”Restore Complete“ 說(shuō)明:本程序中此部分內(nèi)容參考了網(wǎng)上的同類(lèi)型代碼,對(duì)其進(jìn)行修改后得到此成型作品,從功能上來(lái)講,它已經(jīng)實(shí)現(xiàn)了它所要完成的工作,經(jīng)過(guò)測(cè)試已經(jīng)沒(méi)有問(wèn)題,但是實(shí)現(xiàn)的源代碼,也只有部分掌握。這實(shí)屬本人精力與能力有限所置。4.3.4 數(shù)據(jù)轉(zhuǎn)換 這個(gè)功能可以把當(dāng)前列表框中的任何一個(gè)表轉(zhuǎn)換成excel形式,轉(zhuǎn)換后你可以看到表中的內(nèi)容,也可以對(duì)表進(jìn)行操作,保存,修改,打印等。①界面效果圖 圖4.8數(shù)據(jù)轉(zhuǎn)換效果圖 ②實(shí)現(xiàn)方法 在這里用到了一個(gè)顯示gif圖片的控件。選擇左面list中的一個(gè)表后,點(diǎn)擊導(dǎo)出后即可完成,進(jìn)度條中顯示當(dāng)前轉(zhuǎn)換進(jìn)度程度。 首先要在list中加載各表名。以便進(jìn)行選擇轉(zhuǎn)換。添加表名部分在load進(jìn)行加載,其中的導(dǎo)出與取消按鈕是由coolbar制作而成。Form的load事件處理內(nèi)容如下: TMaxAni1.FileName = App.Path & ”iconfind.gif“ TMaxAni1.ShowGif Dim cnn1 As ADODB.Connection Dim rstschema As ADODB.Recordset Dim strcnn As String Set cnn1 = New ADODB.Connection strcnn = ”provider=Microsoft.jet.oledb.4.0;“ & ”data source=“ & App.Path & ”db.mdb“ cnn1.Open strcnn Set rstschema = cnn1.OpenSchema(adSchemaTables)Do Until rstschema.EOF temp = rstschema!Table_Name If Left(temp, 1)<> ”M“ Then List2.AddItem temp End If rstschema.MoveNext Loop cnn1.Close List2.ListIndex = 0 On Error GoTo err PathName = App.Path & ”db.MDB“ dbasize = FileLen(PathName)數(shù)據(jù)轉(zhuǎn)換成excel用到了一個(gè)部件,在引用中用到了Microsoft Excel9.0 Object library。轉(zhuǎn)換代碼如下: Select Case Button.Index Case 1 Dim provider As String Dim datasource As String provider = ”provider=Microsoft.jet.oledb.4.0“ datasource = ”data source=“ & App.Path & ”DB.mdb“ With Adodc1.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdTable.RecordSource = List2.Text.Refresh End With ProgressBar1.Max = Adodc1.Recordset.RecordCount ProgressBar1.Min = 0 ''開(kāi)始轉(zhuǎn)換 Dim Irow, Icol As Integer Dim Irowcount, Icolcount As Integer Dim Fieldlen() Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Set xlApp = CreateObject(”Excel.Application“) Set xlBook = xlApp.Workbooks.add Set xlSheet = xlBook.Worksheets(1)With Adodc1.Recordset .MoveLast If.RecordCount < 1 Then MsgBox(”Error!“) Exit Sub End If Irowcount =.RecordCount Icolcount =.Fields.Count ReDim Fieldlen(Icolcount) .MoveFirst For Irow = 1 To Irowcount + 1 For Icol = 1 To Icolcount Select Case Irow Case 1 xlSheet.Cells(Irow, Icol).Value =.Fields(Icol1))= True Then Fieldlen(Icol)= LenB(.Fields(Icol1)) End If xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol) xlSheet.Cells(Irow, Icol).Value =.Fields(Icol1)) If Fieldlen(Icol)< Fieldlen1 Then xlSheet.Columns(Icol).ColumnWidth = Fieldlen1 Fieldlen(Icol)= Fieldlen1 Else xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol) End If xlSheet.Cells(Irow, Icol).Value =.Fields(Icol1)).Font.Name = ”黑體“ .Range(.Cells(1, 1),.Cells(1, Icol1)).Borders.LineStyle = xlContinuous End With xlApp.Visible = True '' xlBook.Save ''xlBook.Close Set xlApp = Nothing Adodc1.Recordset.ActiveConnection = Nothing End With Toolbar4.Buttons(1).Enabled = False Case 2 Unload Me End Select [10]...>> 4.4公寓管理 4.4.1學(xué)生請(qǐng)假 學(xué)生請(qǐng)假與違規(guī)在一個(gè)公寓管理中是最常見(jiàn)的問(wèn)題了,所以在此軟件中加上了這兩項(xiàng)功能。用它們可以隨時(shí)記錄請(qǐng)假記錄。①學(xué)生請(qǐng)假記錄圖片顯示 圖4.9學(xué)生請(qǐng)假效果圖 ② 界面制作與實(shí)現(xiàn) 此界面主要是對(duì)學(xué)生請(qǐng)假記錄做一個(gè)添加。利用它可以把學(xué)生的基本的請(qǐng)假資料保存起來(lái)。其中的日期是系統(tǒng)當(dāng)前的日期,它是不可以進(jìn)行更改的,然后在其它文本框中輸入其它詳細(xì)資料即可以。這里的添加操作用的是Adodc控件,所有的文本框在初始的時(shí)候沒(méi)有同Adodc綁定,而是在代碼中與數(shù)據(jù)庫(kù)中表的字段進(jìn)行的綁定,然后進(jìn)行添加操作。這樣做在使用的時(shí)候有很大的方便之處。第一是窗體在初始化時(shí)不會(huì)顯示任何記錄,不用設(shè)置文本框?yàn)榭盏纫幌盗械牟僮?。第二是?dāng)進(jìn)行記錄輸入時(shí),發(fā)現(xiàn)問(wèn)題不用輸入時(shí),不按添加按鈕記錄就不會(huì)進(jìn)行添加。注意的是,在添加前要確定所有的文本框都要進(jìn)行詳細(xì)填寫(xiě),否則會(huì)提示輸入詳細(xì)信息。添加主要代碼如下: If Text1.Text = ”“ Or Text2.Text = ”“ Or Text3.Text = ”“ Or Text4.Text = ”“ Or Text5.Text = ”“ Or Text6.Text = ”“ Or Text7.Text = ”“ Or Text8.Text = ”“ Or Text9.Text = ”“ Then MsgBox ”請(qǐng)輸入詳細(xì)信息!“, , ”系統(tǒng)提示“ Else With Adodc1.Recordset.AddNew.Recordset.Fields(0).Value = Text1.Text.Recordset.Fields(1).Value = Text2.Text.Recordset.Fields(2).Value = Text3.Text.Recordset.Fields(3).Value = Text4.Text.Recordset.Fields(4).Value = Text5.Text.Recordset.Fields(5).Value = Text6.Text.Recordset.Fields(6).Value = Text7.Text.Recordset.Fields(7).Value = Text8.Text.Recordset.Fields(8).Value = Text9.Text.Recordset.Update End With Set main.DataGrid1.datasource = Adodc1 main.DataGrid1.Refresh End If 4.4.2學(xué)生違規(guī) ①學(xué)生違規(guī)記錄圖片顯示 圖4.10學(xué)生違規(guī)效果圖 此界面與上面的請(qǐng)假記錄差不多。它主要是對(duì)學(xué)生的違規(guī)記錄做一個(gè)添加。其中的日期也是系統(tǒng)當(dāng)前的日期,它是不可以進(jìn)行更改的,然后在其它文本框中輸入其它詳細(xì)資料即可以這里的違規(guī)操作用的也是Adodc控件,所有的文本框在初始的時(shí)候也沒(méi)有同Adodc綁定,它也是在代碼中與數(shù)據(jù)庫(kù)中表的字段進(jìn)行的綁定,然后進(jìn)行添加操作。其它操作同上面基本是一致的,對(duì)于違規(guī)在主界面的左側(cè)并沒(méi)有快速顯示操作,只可以用記錄查看里面的違規(guī)查看進(jìn)行選擇查看。在這里所添寫(xiě)的記錄也要全面一些,主要是為了以后查找更為方便,如果不全,系統(tǒng)會(huì)提示的?、谶`規(guī)部分代碼如下: 在load事件里對(duì)數(shù)據(jù)庫(kù)鏈接的處理,以及日期文本框的設(shè)置,代碼如下: provider = ”provider=Microsoft.jet.oledb.4.0“ datasource = ”data source=“ & App.Path & ”DB.mdb“ With Adodc1.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdTable.RecordSource = ”qingjia“.Refresh End With Text1.Text = Date Text1.Enabled = False 確定無(wú)誤后,進(jìn)行添加,代碼如下: If Text1.Text = ”“ Or Text2.Text = ”“ Or Text3.Text = ”“ Or Text4.Text = ”“ Or Text5.Text = ”“ Or Text6.Text = ”“ Or Text7.Text = ”“ Or Text8.Text = ”“ Or Text9.Text = ”“ Then MsgBox ”請(qǐng)輸入詳細(xì)信息!“, , ”系統(tǒng)提示“ Else With Adodc1.Recordset.AddNew.Recordset.Fields(0).Value = Text1.Text.Recordset.Fields(1).Value = Text2.Text.Recordset.Fields(2).Value = Text3.Text.Recordset.Fields(3).Value = Text4.Text.Recordset.Fields(4).Value = Text5.Text.Recordset.Fields(5).Value = Text6.Text.Recordset.Fields(6).Value = Text7.Text.Recordset.Fields(7).Value = Text8.Text.Recordset.Fields(8).Value = Text9.Text.Recordset.Update End With Set main.DataGrid1.datasource = Adodc1 main.DataGrid1.Refresh 4.5衛(wèi)生檢查 公寓衛(wèi)生可以說(shuō)是一個(gè)公寓管理中最常見(jiàn)到的問(wèn)題了。公寓衛(wèi)生每天要清掃,寢室衛(wèi)生每天要檢查,但是如果這些都用紙來(lái)進(jìn)行填寫(xiě),一定會(huì)十分麻煩,且保存也不是十分方便,在一些評(píng)比中也會(huì)忙的很遭。所以在這個(gè)軟件中編寫(xiě)了此功能。4.5.1 公寓衛(wèi)生添加效果圖 圖4.11公寓衛(wèi)生添加效果圖 ①在這個(gè)界面中主要用到了文本框以及起到美觀作用的frame控件。日期已經(jīng)設(shè)置成只讀屬性,檢查記錄的日期是不能隨便改寫(xiě)的。公寓名稱(chēng)可以在下拉列表框中進(jìn)行選擇,如果在下拉列表框中沒(méi)有發(fā)現(xiàn),可以人工輸入,但是要確定公寓名稱(chēng)的正確性。寢室名稱(chēng)需要自己輸入。這里的衛(wèi)生標(biāo)準(zhǔn)一共有五項(xiàng)可以填寫(xiě),在每一項(xiàng)里已經(jīng)基本設(shè)置了所不全標(biāo)準(zhǔn)的記錄,你可以在下拉列表框中進(jìn)行選擇即可,但是如果沒(méi)有你想輸入的記錄的話(huà),你也可以自己輸入。輸入完成后,在減分后面的文本框中輸入一共要對(duì)此寢室減掉的分?jǐn)?shù),單擊得分后面的文本框會(huì)自動(dòng)算出應(yīng)該得到的分?jǐn)?shù)。然后跟據(jù)得分的分?jǐn)?shù),你要選擇該寢室的衛(wèi)生等級(jí),衛(wèi)生等級(jí)為必選值且為固定值,正確的選擇此項(xiàng)可以在主界面的左側(cè)中快速對(duì)衛(wèi)生等級(jí)進(jìn)行查看。②公寓選擇欄中代碼的實(shí)現(xiàn): Combo3.Clear Dim I As Integer I = 1 If Adodc1.Recordset.RecordCount <> 0 Then Do While I < Adodc1.Recordset.RecordCount Combo3.AddItem(Adodc1.Recordset.Fields(”公寓名稱(chēng)“)) Adodc1.Recordset.MoveNext I = I + 1 Loop End If 衛(wèi)生選擇欄中的代碼實(shí)現(xiàn)基本同上,它也是一個(gè)表中的字段值!Dim J As Integer J = 1 If Adodc4.Recordset.RecordCount <> 0 Then Do While J < Adodc4.Recordset.RecordCount Combo2.AddItem(Adodc4.Recordset.Fields(”等級(jí)“)) Adodc4.Recordset.MoveNext J = J + 1 Loop End If Combo2.Text = ”優(yōu)秀“ 不合標(biāo)準(zhǔn)的衛(wèi)生記錄填寫(xiě)情況如下: Combo4.AddItem(”門(mén)窗不干凈“)Combo4.AddItem(”地面不干凈“)Combo4.AddItem(”陽(yáng)臺(tái)不干凈“)Combo4.AddItem(”床鋪不整齊“)Combo4.AddItem(”不疊被“)Combo4.AddItem(”桌面不整齊“)Combo4.AddItem(”書(shū)柜擺放不整齊“)由于此窗體中涉及到公寓與寢室,在填寫(xiě)時(shí)要確定其名稱(chēng)的正確,所以在添加記錄前要對(duì)它們進(jìn)行檢查,如發(fā)現(xiàn)不存在的記錄,則顯示提示。檢查記錄時(shí)用的是adodc中的find命令。類(lèi)似于用戶(hù)登錄時(shí)的判斷,同樣記錄的輸入也要詳細(xì)。代碼如下: Adodc1.Refresh Adodc1.Recordset.Find ”公寓名稱(chēng)=''“ & Combo3.Text & ”''“ If Adodc1.Recordset.EOF = True Then MsgBox ”查無(wú)此公寓“, , ”提示“ Adodc1.Recordset.MoveFirst Exit Sub End If Adodc3.Refresh Adodc3.Recordset.Find ”寢室=''“ & Text5.Text & ”''“ If Adodc3.Recordset.EOF = True Then MsgBox ”查無(wú)此寢室“, , ”提示“ Adodc3.Recordset.MoveFirst Exit Sub End If If Combo3.Text = ”“ Or Combo2.Text = ”“ Or Text5.Text = ”“ Or Text2.Text = ”“ Or Text3.Text = ”“ Then MsgBox ”請(qǐng)輸入詳細(xì)信息!“, , ”系統(tǒng)提示“ Else 確認(rèn)一切無(wú)誤后,開(kāi)始對(duì)所填寫(xiě)記錄進(jìn)行添加并顯示: With Adodc2.Recordset.AddNew.Recordset.Fields(0).Value = Combo3.Text.Recordset.Fields(1).Value = Text5.Text.Recordset.Fields(2).Value = Combo4.Text.Recordset.Fields(3).Value = Combo5.Text.Recordset.Fields(4).Value = Combo6.Text.Recordset.Fields(5).Value = Combo7.Text.Recordset.Fields(6).Value = Combo8.Text.Recordset.Fields(7).Value = Text2.Text.Recordset.Fields(8).Value = Text3.Text.Recordset.Fields(9).Value = Combo2.Text.Recordset.Fields(10).Value = Text4.Text.Recordset.Fields(11).Value = Text1.Text.Recordset.Update End With Set main.DataGrid1.datasource = Adodc2 main.DataGrid1.Refresh 4.6 公寓資產(chǎn) 公寓資產(chǎn)可以及時(shí)對(duì)公寓里進(jìn)出財(cái)務(wù)進(jìn)行統(tǒng)計(jì),以免遺忘,造成不必要的損失或不必要的麻煩,它的實(shí)現(xiàn)方法基本同上面的衛(wèi)生記錄的添加,相對(duì)比來(lái)說(shuō)比上面的簡(jiǎn)單一些。不足的是目前只做出了入庫(kù)管理,對(duì)于出庫(kù)記錄還沒(méi)有實(shí)現(xiàn)。4.6.1公寓資產(chǎn)添加設(shè)置效果圖 [10]...>> 圖4.12公寓資產(chǎn)添加效果圖 4.6.2 界面制作與實(shí)現(xiàn)方法 日期的設(shè)置同上面一樣,只讀屬性。公寓名稱(chēng)與寢室名稱(chēng)要人工輸入,沒(méi)有選擇,這是因?yàn)榭紤]到它不會(huì)像衛(wèi)生記錄那樣每天要添加一次,每次要添加很多,所以為了減少系統(tǒng)進(jìn)程,它沒(méi)有使用combo,沒(méi)有在窗體中進(jìn)行加載。窗體中的數(shù)量與單價(jià)在填寫(xiě)之后會(huì)自動(dòng)把總價(jià)格計(jì)算出來(lái),類(lèi)似于上圖中的得分一樣。部分代碼如下: If Text5.Text = ”“ Or Text2.Text = ”“ Or Text3.Text = ”“ Then MsgBox ”請(qǐng)輸入詳細(xì)信息!“, , ”提示“ Else With Adodc1.Recordset.AddNew.Recordset.Fields(0).Value = Text1.Text.Recordset.Fields(1).Value = Text8.Text.Recordset.Fields(2).Value = Text2.Text.Recordset.Fields(3).Value = Text3.Text.Recordset.Fields(4).Value = Text4.Text.Recordset.Fields(5).Value = Text5.Text.Recordset.Fields(6).Value = Text6.Text.Recordset.Fields(7).Value = Text7.Text.Recordset.Update End With Set main.DataGrid1.datasource = Adodc1 main.DataGrid1.Refresh Text2.Text = ”“ Text3.Text = ”“ Text4.Text = ”“ Text5.Text = ”“ Text6.Text = ”“ Text7.Text = ”“ End If 4.7記錄查看 記錄查看可以讓你對(duì)已錄入的記錄進(jìn)行各種符合條件的查找,顯示符合條件的記錄。這里主要包括四個(gè)方面的查看:衛(wèi)生查看、請(qǐng)假查看、違規(guī)查看、資產(chǎn)查看。下面分別介紹。4.7.1 衛(wèi)生查看 ①界面效果圖 圖4.13衛(wèi)生查看效果圖 ②界面制作與實(shí)現(xiàn)方法 這是一個(gè)比較簡(jiǎn)單的窗體操作??雌饋?lái)精簡(jiǎn)、小巧。它主要的功能是對(duì)已經(jīng)錄入的衛(wèi)生記錄進(jìn)行符合條件的查詢(xún)。在查詢(xún)類(lèi)別中選擇可以選擇全部查看以及按日期查看。查看全部即顯示所有記錄,選擇按日期查看后在下面的列表框中選擇所要查看的日期,點(diǎn)擊確定后即可以看到該日期的記錄。 在進(jìn)行查詢(xún)前,要對(duì)所操作的表進(jìn)行綁定,代碼如下: Dim s As String provider = ”provider=Microsoft.jet.oledb.4.0“ datasource = ”data source=“ & App.Path & ”DB.mdb“ With Adodc1.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdTable.RecordSource = ”weigui“.Refresh End With 日期后面的下拉列表框中可以顯示出所有已經(jīng)錄入記錄的日期,它是通過(guò)對(duì)當(dāng)前表進(jìn)行分類(lèi)查詢(xún)后得到的結(jié)果,然后將其添加在combo中,實(shí)現(xiàn)代碼如下: s = ”select distinct 日期 from weisheng“ With Adodc2.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdText.RecordSource = s.Refresh End With For I = 1 To Adodc2.Recordset.RecordCount Combo1.AddItem(Adodc2.Recordset.Fields(”日期“))Adodc2.Recordset.MoveNext Next 查看全部,即把當(dāng)前表中的記錄全部賦給當(dāng)前用來(lái)顯示的表格,按日期查看,則是在表中先進(jìn)行查詢(xún),然后對(duì)結(jié)果進(jìn)行重綁定,在賦值。它們的判斷主要是通過(guò)單選框的選取來(lái)完成的,實(shí)現(xiàn)方法如下: s = Combo1.Text If Option1.Value = True Then Set main.DataGrid1.datasource = Adodc1 main.DataGrid1.Refresh ElseIf Option2.Value = True Then sql = ”select * from weisheng where 日期=''“ & Trim(s)& ”''“ With Adodc3.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdText.RecordSource = sql.Refresh End With Set main.DataGrid1.datasource = Adodc3 main.DataGrid1.Refresh End If Unload Me 4.7.2其它記錄查看 在記錄查看中還有其它三項(xiàng)查看方式,分別是請(qǐng)假、違規(guī)、資產(chǎn)三項(xiàng)記錄查看。它們的實(shí)現(xiàn)方法與窗體與上面的衛(wèi)生查看基本相同。①請(qǐng)假查看 圖4.14請(qǐng)假查看效果圖 用它可以對(duì)當(dāng)前所有記錄以及有效日期內(nèi)的記錄進(jìn)行查看。代碼如下: Dim sql As String Dim s As String s = Combo1.Text If Option1.Value = True Then Set main.DataGrid1.datasource = Adodc1 main.DataGrid1.Refresh ElseIf Option2.Value = True Then sql = ”select * from qingjia where 日期=''“ & Trim(s)& ”''“ With Adodc3.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdText.RecordSource = sql.Refresh End With Set main.DataGrid1.datasource = Adodc3 main.DataGrid1.Refresh End If Unload Me 在窗體的load中要設(shè)置已經(jīng)添加的日期,需要對(duì)表進(jìn)行條件查詢(xún),代碼如下: s = ”select distinct 日期 from qingjia“ With Adodc2.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdText.RecordSource = s.Refresh End With For I = 1 To Adodc2.Recordset.RecordCount Combo1.AddItem(Adodc2.Recordset.Fields(”日期“))Adodc2.Recordset.MoveNext Next ②違規(guī)查看 圖4.15違規(guī)查看效果圖 目前此類(lèi)功能還不是十分理想,有些查看方式會(huì)在以后的程序中進(jìn)行升級(jí)。在Load事件設(shè)置了窗體運(yùn)行時(shí)所有需要的東西。代碼如下: Option1.Value = True Dim s As String provider = ”provider=Microsoft.jet.oledb.4.0“ datasource = ”data source=“ & App.Path & ”DB.mdb“ With Adodc1.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdTable.RecordSource = ”weigui“.Refresh End With s = ”select distinct 日期 from weigui“ With Adodc2.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdText.RecordSource = s.Refresh End With For I = 1 To Adodc2.Recordset.RecordCount Combo1.AddItem(Adodc2.Recordset.Fields(”日期“))Adodc2.Recordset.MoveNext Next 查看部分的源代碼如下: Dim sql As String Dim s As String s = Combo1.Text If Option1.Value = True Then Set main.DataGrid1.datasource = Adodc1 main.DataGrid1.Refresh ElseIf Option2.Value = True Then sql = ”select * from weigui where 日期=''“ & Trim(s)& ”''“ With Adodc3.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdText.RecordSource = sql.Refresh End With Set main.DataGrid1.datasource = Adodc3 main.DataGrid1.Refresh End If Unload Me ③資產(chǎn)查看 圖4.16資產(chǎn)查看效果圖 在Load事件設(shè)置了窗體運(yùn)行時(shí)所有需要的東西。代碼如下: On Error Resume Next Option1.Value = True Dim s As String provider = ”provider=Microsoft.jet.oledb.4.0“ datasource = ”data source=“ & App.Path & ”DB.mdb“ With Adodc1.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdTable.RecordSource = ”zichan“.Refresh End With s = ”select distinct 日期 from zichan“ With Adodc3.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdText.RecordSource = s.Refresh End With For I = 1 To Adodc3.Recordset.RecordCount Combo1.AddItem(Adodc3.Recordset.Fields(”日期“))Adodc3.Recordset.MoveNext Next 查看部分代碼如下所示: On Error Resume Next Dim sql As String Dim s As String s = Combo1.Text If Option1.Value = True Then Set main.DataGrid1.datasource = Adodc1 main.DataGrid1.Refresh ElseIf Option2.Value = True Then sql = ”select * from zichan where 日期=''“ & Trim(s)& ”''“ With Adodc2.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdText.RecordSource = sql.Refresh End With Set main.DataGrid1.datasource = Adodc2 main.DataGrid1.Refresh End If Call dx1 Unload Me 4.8記錄刪除 刪除是一個(gè)數(shù)據(jù)庫(kù)軟件中最基本的操作之一。在本軟件的工具欄中也有一個(gè)刪除按鈕,其功能也是將所找到的記錄刪除,但是它每次只能刪除一條記錄,且此刪除記錄的前提是在右側(cè)的顯示中容易找出,即記錄不多的情況下使用。如果一旦數(shù)據(jù)記錄很多,一條條查找比較不方便時(shí),即可以使用此窗體進(jìn)行刪除。這里的刪除也有四個(gè)窗體,分別為衛(wèi)生刪除、請(qǐng)假刪除、違規(guī)刪除、資產(chǎn)刪除。下面分別介紹。4.8.1 衛(wèi)生刪除 ①效果圖 圖4.17衛(wèi)生刪除效果圖 ②界面制作與實(shí)現(xiàn)方法 這個(gè)界面總體來(lái)說(shuō)各個(gè)控件比較簡(jiǎn)單,但是作為一個(gè)刪除操作,它已經(jīng)連接到了數(shù)據(jù)庫(kù),與數(shù)據(jù)庫(kù)的表相聯(lián)。且有三種刪除記錄方式可以選擇。默認(rèn)為單條刪除,選擇此項(xiàng)后需要在日期中選擇所刪除記錄的添加日期,以及所在的公寓與寢室,當(dāng)這三條全部符合要求后,在表中進(jìn)行查找,找到后確認(rèn)刪除。選擇批量刪除后,在下面只有一個(gè)日期可以選擇,這樣將會(huì)把所選日期內(nèi)的所有記錄都將刪除掉,所以稱(chēng)其為批量刪除。全部即是把當(dāng)前表清空,全部刪除掉,建議使用此操作前對(duì)當(dāng)前數(shù)據(jù)庫(kù)進(jìn)行備份處理,否則數(shù)據(jù)將不會(huì)恢復(fù)。首先要進(jìn)行數(shù)據(jù)庫(kù)連接,如上面例子所示,這里就不在介紹,接下來(lái)要對(duì)本窗體中的日期進(jìn)行加載,如下所示: s = ”select distinct 日期 from weisheng“ With Adodc2.Mode = adModeReadWrite.ConnectionString = provider & ”;“ & datasource.CommandType = adCmdText.RecordSource = s.Refresh End With For I = 1 To Adodc2.Recordset.RecordCount Combo1.AddItem(Adodc2.Recordset.Fields(”日期“))Combo2.AddItem(Adodc2.Recordset.Fields(”日期“))Adodc2.Recordset.MoveNext Next Option1.Value = True Frame3.Visible = True Frame5.Visible = False Frame6.Visible = False 在單條刪除前要確定所有條件符合要求,單條刪除操作的代碼主要部分如下: If(MsgBox(”你真的想刪除日期為 “ & Combo1.Text & ” 公寓為 “ & Text1.Text & ” 寢室為 “ & Text2.Text & ” 的記錄嗎?“, vbOKCancel, ”系統(tǒng)提示“))= vbOK Then Adodc1.Refresh Adodc1.Recordset.ActiveConnection.Execute ”delete from weisheng where 日期=''“ & Trim(s)& ”''and 公寓=''“ & Trim(Text1.Text)& ”''and 寢室=''“ & Trim(Text2.Text)& ”''“ '', , adExecuteNoRecords Adodc1.Recordset.Update Combo1.Text = ”“ Text1.Text = ”“ Text2.Text = ”“ MsgBox ”刪除成功“, , ”系統(tǒng)提示“ End If Unload Me 當(dāng)選擇某一日期后進(jìn)行批量刪除代碼如下: If(MsgBox(”你真的想刪除日期為 “ & Combo2.Text & ” 的記錄嗎?“, vbOKCancel, ”系統(tǒng)提示“))= vbOK Then Adodc1.Refresh Adodc1.Recordset.ActiveConnection.Execute ”delete from weisheng where 日期=''“ & Trim(Combo2.Text)& ”''“ Combo2.Text = ”“ MsgBox ”刪除成功“, , ”系統(tǒng)提示“ End If Unload Me 清空數(shù)據(jù)表代碼為: If(MsgBox(”你真的想刪除所有的記錄嗎?一旦刪除即不可恢復(fù)“, vbOKCancel, ”系統(tǒng)提示“))= vbOK Then For I = 1 To Adodc1.Recordset.RecordCount Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext Next I End If MsgBox ”刪除成功“, , ”系統(tǒng)提示“ Unload Me 4.8.2請(qǐng)假記錄 ①效果圖 [10]...>> 圖4.18請(qǐng)假記錄刪除效果圖 ②界面制作與實(shí)現(xiàn)方法 這個(gè)窗體與上面不同的是多了一個(gè)姓名條件,其它的都基本一致。由于在一個(gè)公寓中會(huì)有很多人要得名,但是在某一公寓某一寢室中只會(huì)有一個(gè)人,這也是一個(gè)公寓分配住宿人員時(shí)的基本標(biāo)準(zhǔn),因?yàn)檫@樣也便于公寓本身的管理。此刪除窗體只有單條刪除與上面不同,單條刪除部分代碼如下: If(MsgBox(”你真的想刪除日期為 “ & Combo1.Text & ” 公寓為 “ & Text1.Text & ” 寢室為 “ & Text2.Text & ” 姓名為 “ & Text3.Text & ” 的請(qǐng)假記錄嗎?“, vbOKCancel, ”系統(tǒng)提示“))= vbOK Then Adodc1.Refresh Adodc1.Recordset.ActiveConnection.Execute ”delete from qingjia where 日期=''“ & Trim(s)& ”''and 公寓=''“ & Trim(Text1.Text)& ”''and 寢室=''“ & Trim(Text2.Text)& ”''and 姓名=''“ & Trim(Text3.Text)& ”''“ '', , adExecuteNoRecords Adodc1.Recordset.Update Combo1.Text = ”“ Text1.Text = ”“ Text2.Text = ”“ MsgBox ”刪除成功“, , ”系統(tǒng)提示“ End If 4.8.3 違規(guī)刪除 ①效果圖 圖4.19違規(guī)記錄刪除效果圖 ②界面制作與實(shí)現(xiàn)方法 違規(guī)刪除操作與請(qǐng)假刪除操作基本一致,不同之處只是在于后臺(tái)對(duì)不同的表進(jìn)行處理,前臺(tái)界面大體相同。其實(shí)現(xiàn)方法與上現(xiàn)的也差不太多,這里就不在敘述。單條刪除記錄: Dim sql As String Dim s As String Dim panduan As Boolean If Combo1.Text = ”“ And Text1.Text = ”“ And Text2.Text = ”“ Then MsgBox ”請(qǐng)輸入刪除條件!“, , ”提示“ Exit Sub End If s = Combo1.Text If(MsgBox(”你真的想刪除日期為 “ & Combo1.Text & ” 公寓為 “ & Text1.Text & ” 寢室為 “ & Text2.Text & ” 姓名為 “ & Text3.Text & ” 的違規(guī)記錄嗎?“, vbOKCancel, ”系統(tǒng)提示“))= vbOK Then Adodc1.Refresh Adodc1.Recordset.ActiveConnection.Execute ”delete from weigui where 日期=''“ & Trim(s)& ”''and 公寓=''“ & Trim(Text1.Text)& ”''and 寢室=''“ & Trim(Text2.Text)& ”'' and 姓名=''“ & Trim(Text3.Text)& ”''“ '', , adExecuteNoRecords Adodc1.Recordset.Update Combo1.Text = ”“ Text1.Text = ”“ Text2.Text = ”“ MsgBox ”刪除成功“, , ”系統(tǒng)提示“ End If Unload Me 成批刪除記錄: If(MsgBox(”你真的想刪除日期為 “ & Combo2.Text & ” 的記錄嗎?“, vbOKCancel, ”系統(tǒng)提示“))= vbOK Then Adodc1.Refresh Adodc1.Recordset.ActiveConnection.Execute ”delete from weigui where 日期=''“ & Trim(Combo2.Text)& ”''“ Combo2.Text = ”“ MsgBox ”刪除成功“, , ”系統(tǒng)提示“ End If Unload Me 刪除所有記錄: If(MsgBox(”你真的想刪除所有的記錄嗎?一旦刪除即不可恢復(fù)“, vbOKCancel, ”系統(tǒng)提示“))= vbOK Then For I = 1 To Adodc1.Recordset.RecordCount Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext Next I End If MsgBox ”刪除成功“, , ”系統(tǒng)提示“ Unload Me 4.8.4 資產(chǎn)刪除 ①效果圖 圖4.20資產(chǎn)刪除效果圖 ② 界面制作與實(shí)現(xiàn)方法 與衛(wèi)生記錄刪除不同的是寢室改為了名稱(chēng)。值得注意的是,此處公寓與名稱(chēng)都要人工輸入,所以在輸入的時(shí)候要注意不要有多余字符,否則會(huì)出錯(cuò)刪除不掉的情況。單條刪除部分源碼如下: If(MsgBox(”你真的想刪除日期為 “ & Combo1.Text & ” 公寓為 “ & Text1.Text & ” 名稱(chēng)為 “ & Text2.Text & ” 的資產(chǎn)記錄嗎?“, vbOKCancel, ”系統(tǒng)提示“))= vbOK Then Adodc1.Refresh Adodc1.Recordset.ActiveConnection.Execute ”delete from zichan where 日期=''“ & Trim(s)& ”''and 公寓=''“ & Trim(Text1.Text)& ”''and 名稱(chēng)=''“ & Trim(Text2.Text)& ”''“ '', , adExecuteNoRecords Adodc1.Recordset.Update Combo1.Text = ”“ Text1.Text = ”“ Text2.Text = ”“ MsgBox ”刪除成功“, , ”系統(tǒng)提示“ End If 4.9值班記錄 值班記錄這項(xiàng)可以說(shuō)是此軟件的一個(gè)新增功能。它的界面小巧,并且它可以讓值班人員記錄前天發(fā)生的一些事情,字?jǐn)?shù)在1000字左右??梢哉f(shuō)是一個(gè)小型的日記本。4.9.1 值班記錄 ①值班記錄效果圖 圖4.21值班記錄效果圖 ② 實(shí)現(xiàn)思想與功能 此窗體的功能以及其源代碼是經(jīng)過(guò)修改之后而形成的,源文件是一個(gè)電子記事本,發(fā)現(xiàn)后經(jīng)過(guò)修改后做出一個(gè)日記本。 在上面的日期后面的文本框中,你可以輸入如窗口標(biāo)題后面所示的日期格式后,點(diǎn)擊查看,即可以查看到所選日期的詳細(xì)記錄。這是一種查詢(xún)方法,當(dāng)然你也可以用右面簡(jiǎn)單的上一條與下一條進(jìn)行快速查看,但是它只能查看當(dāng)日日期起開(kāi)始的記錄,如果與你所想要查看的日期相差很遠(yuǎn),那么你就需要使用第一種方法了。這個(gè)日記本還支持修改與刪除功能。當(dāng)你想編輯或刪除某一日期的時(shí)候時(shí),你需要用查看方法找到該記錄,然后對(duì)當(dāng)前記錄使用編輯或刪除即可完成操作。刪除后,記錄即不可恢復(fù),且此日記目前還沒(méi)有備份功能,慎重操作。 如果你今天值班,還沒(méi)有寫(xiě)值班記錄,那么你可以點(diǎn)擊增加按鈕,開(kāi)始寫(xiě)當(dāng)日的值班記錄,說(shuō)明的是,每天只可以寫(xiě)一次記錄。當(dāng)你寫(xiě)完今天記錄后,在點(diǎn)擊增加時(shí)會(huì)提示你今日已寫(xiě)完。但是你可以對(duì)今日記錄進(jìn)行編輯修改。 本程序源碼較為復(fù)雜,主要都是對(duì)文件進(jìn)行操作,并沒(méi)有把記錄添加到數(shù)據(jù)庫(kù)中,所以不支持備份操作,且本窗體中的操作程序還用到了一個(gè)模塊。部分代碼如下: 查看上一條記錄: If giCurrentRecord > 1 Then giCurrentRecord = giCurrentRecord1 Form_Load End If 4.9.2 增加記錄 ①增加記錄效果圖 圖4.22增加記錄效果圖 ② 實(shí)現(xiàn)思想與程序源碼 日期后顯示當(dāng)前日期,但是可以修改。每篇記錄的字?jǐn)?shù)要求在1000字以?xún)?nèi)。支持對(duì)當(dāng)前字符輸入的統(tǒng)計(jì),確定完成本日記錄后,點(diǎn)擊保存即可。部分代碼如下: Dim bSaved As Boolean, bCF If txtDate = ”“ Or txtMemo = ”“ Then Exit Sub '' 如果記錄未填,則退出 If riji.Tag = ”addnew“ Then If giRecordCount >= 1 Then ''新增時(shí),檢查記錄是否重復(fù) gsSql = frminput.txtDate bCF = FindData(gsSql) If bCF Then MsgBox ”今天你已經(jīng)寫(xiě)過(guò)日記了!“, vbExclamation + vbOKOnly, ”每日一記“ txtMemo.SetFocus Exit Sub End If End If giRecordCount = giRecordCount + 1 bSaved = WriteData()ElseIf riji.Tag = ”modify“ Then '' bSaved = ModifyData()End If If bSaved = True Then AddNext = MsgBox(”保存完畢!“, vbExclamation + vbOKOnly, ”每日一記“)End If Unload Me 由于此段代碼中用到了一個(gè)模塊,在模塊中定義了很多過(guò)程,各過(guò)程實(shí)現(xiàn)功能及代碼如下所示: 讀取數(shù)據(jù): Public Sub ReadData(curRecord As Integer)''讀取數(shù)據(jù) On Error Resume Next Dim strcaption$ riji.txtDate = goDiarys(curRecord).fldDate riji.txtMemo = goDiarys(curRecord).fldMemo strcaption = ”每日一記 [“ & Date & ”] “ & Time & ” WeekdayName(Weekday(Date))& “ 記錄:” & giCurrentRecord & “/” & giRecordCount riji.Caption = strcaption End Sub 查詢(xún)數(shù)據(jù): Public Function FindData(sql As String)As Boolean ''查詢(xún)數(shù)據(jù) On Error Resume Next Dim I% For I = 1 To giRecordCount If goDiarys(I).fldDate = sql Then giCurrentRecord = I FindData = True Exit For End If Next ReadData giCurrentRecord End Function 新增數(shù)據(jù): Public Function WriteData()As Boolean ''新增數(shù)據(jù) On Error Resume Next Dim iFreefile%, I% iFreefile = FreeFile() Open gsPath & “DATA.DAT” For Random As #iFreefile Len = en(goDiary) ReDim Preserve goDiarys(giRecordCount) goDiarys(giRecordCount).fldDate = frminput.txtDate goDiarys(giRecordCount).fldMemo = frminput.txtMemo goDiary = goDiarys(giRecordCount) Put #iFreefile, giRecordCount, goDiary giCurrentRecord = giRecordCount ReadData(giCurrentRecord) Close #iFreefile WriteData = True “ & End Function 修改數(shù)據(jù): Public Function ModifyData()As Boolean ''修改數(shù)據(jù) On Error Resume Next Dim iFreefile%, I% iFreefile = FreeFile() Open gsPath & ”DATA.DAT“ For Random As #iFreefile Len =len(goDiary) goDiarys(giCurrentRecord).fldDate = frminput.txtDate goDiarys(giCurrentRecord).fldMemo = frminput.txtMemo goDiary = goDiarys(giCurrentRecord) Put #iFreefile, giCurrentRecord, goDiary ReadData(giCurrentRecord) Close #iFreefile ModifyData = True End Function 刪除數(shù)據(jù): Public Sub DeleteData()''刪除數(shù)據(jù) On Error Resume Next Dim iFreefile%, I%, J% I = 1: J = 1 iFreefile = FreeFile() Open gsPath & ”temp.dat“ For Random As #iFreefile Len = Len(goDiary) goDiarys(giCurrentRecord).fldMemo = ”IWantToKillIt*“ & goDiarys(giCurrentRecord).fldMemo ''加刪除標(biāo)記 For I = 1 To giRecordCount ''無(wú)刪除標(biāo)記的記錄保存到臨時(shí)文件,TEMP.DAT If Left(goDiarys(I).fldMemo, 14)<> ”IWantToKillIt*“ Then goDiary = goDiarys(I) Put #iFreefile, J, goDiary ''在此必須有I,J兩個(gè)變量,因?yàn)槭褂枚M(jìn)制保存文件,J = J + 1 ''從1開(kāi)始到后面,中間如有間隔就會(huì)出現(xiàn)亂碼 End If Next Close #iFreefile Kill gsPath & ”data.dat“ Name gsPath & ”temp.dat“ As gsPath & ”data.dat“ riji.txtDate = ”“ riji.txtMemo = ”“ End Sub 說(shuō)明:由于本人能力有限,對(duì)文件部分還不算是很了解,這個(gè)功能的實(shí)現(xiàn)主要是借用了網(wǎng)上的一個(gè)電子記事本。本人只是對(duì)其做了一些修改,做成了這個(gè)每日一記,但個(gè)人認(rèn)為此功能還算是可以。4.10 Help制作 Help文檔的制作也標(biāo)志著本軟件基本完成。制作help文檔需要一個(gè)專(zhuān)業(yè)制作軟件,本人使用的是破解版的QuickCHM,此軟件無(wú)論在功能上還在是操作上用起來(lái)都是很方便。QuickCHM軟件的界面及其使用如下: [10]...>> 圖4.23 QuickCHM軟件的界面 它屬于一個(gè)傻瓜型的制作軟件,利用它可以快速的制作出各種你所需要的幫助文檔。但是如果想制作出如下圖所示的文檔,那么需要使用制作網(wǎng)頁(yè)的軟件把內(nèi)容先做成html形式,然后在用此軟件進(jìn)行加載,最后生成chm文檔。在制作前要制作出相差的網(wǎng)頁(yè)形式,本人使用Dreamweaver。用它先做出要用到的相差頁(yè)面,大約一共為十個(gè)。然后在用QuickCHM把所有的網(wǎng)頁(yè)添加進(jìn)去,然后對(duì)QuickCHM進(jìn)行各項(xiàng)設(shè)置,最后點(diǎn)擊編譯即可生成help文檔,后綴為.Chm。在本管理軟件中可以按F1或點(diǎn)擊幫助菜單下的幫助主題即可顯示該幫助文檔,調(diào)用的過(guò)程也很簡(jiǎn)單,兩條語(yǔ)句即可以實(shí)現(xiàn)。代碼如下: 在主窗體的load事件中添加下面語(yǔ)句: App.HelpFile = App.Path & ”help.chm“ 在幫助主題的click事件中添加下面語(yǔ)句: SendKeys ”{F1}" 上面這兩條語(yǔ)句即可以實(shí)現(xiàn)調(diào)用幫助文檔的功能。 第五章 系統(tǒng)測(cè)試 編寫(xiě)出的各功能模塊需要進(jìn)行測(cè)試,對(duì)于模塊化應(yīng)用程序,軟件開(kāi)發(fā)的最后一部分便是不斷的測(cè)試程序最終編譯成可執(zhí)行的.exe文件,該階段主要對(duì)系統(tǒng)的正確性及完整性等方面進(jìn)行測(cè)試。主要進(jìn)行:功能確認(rèn)測(cè)試、運(yùn)行測(cè)試、健壯性測(cè)試、安全性測(cè)試以及查錯(cuò)方面的測(cè)試等,系統(tǒng)測(cè)試的測(cè)試人員由測(cè)試組成員(或質(zhì)量保證人員)或測(cè)試組成員與用戶(hù)共同測(cè)試,在整個(gè)系統(tǒng)開(kāi)發(fā)完成,即將交付用戶(hù)使用前進(jìn)行。在這一階段,對(duì)整個(gè)系統(tǒng)進(jìn)行測(cè)試,系統(tǒng)測(cè)試結(jié)束后我們應(yīng)該打軟件打包,使其脫離VB的環(huán)境下也能正常運(yùn)行。打包應(yīng)將所有程序需要的文件加載進(jìn)去,如數(shù)據(jù)庫(kù)(DB.MDB),每日一記和幫助的文件都要進(jìn)行加載。在調(diào)試程序過(guò)程中,由于某些內(nèi)在的錯(cuò)誤影響程序的運(yùn)行,在采用上述調(diào)試方法對(duì)程序進(jìn)行調(diào)試后,程序運(yùn)行情況良好,達(dá)到了預(yù)期的設(shè)計(jì)目標(biāo),基本上滿(mǎn)足了用戶(hù)的需要。 總結(jié) 到目前為止,學(xué)生公寓管理軟件基本開(kāi)發(fā)完畢,軟件界面美觀,運(yùn)行時(shí)間短,執(zhí)行功能強(qiáng),其功能基本符合用戶(hù)需求。能夠完成對(duì)學(xué)生公寓中學(xué)生基本資料的存儲(chǔ)和查詢(xún),并提供數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)備份等系統(tǒng)維護(hù)功能,可以使用查找、修改、添加和刪除對(duì)學(xué)生公寓管理軟件的操作等。 由于本人知識(shí)有限,又是剛初學(xué)軟件,時(shí)間比較倉(cāng)促,又缺乏經(jīng)驗(yàn),必定有不足和不周之處,希望各位老師給予指導(dǎo),本人將繼續(xù)完善修改,使此系統(tǒng)能更好地發(fā)揮性能。 參考文獻(xiàn) Visual Basic 程序設(shè)計(jì) 王棟 清華大學(xué)出版社 Visual Basic 高級(jí)編程宋偉 吳建國(guó) 清華大學(xué)出版社 Visual Basic 6.0 入門(mén)與提高 戴紅 陳哲 清華大學(xué)出版社 Visual Basic 6.0應(yīng)用指南 何斌 王運(yùn)堅(jiān) 馮峰 劉醒 人民郵電出版社 Visual Basic 高級(jí)編程技術(shù) 陳 明 楊勁松 北京希望電子出版社 Visual Basic實(shí)用教程 陳弘原 中國(guó)水利水電出版社 數(shù)據(jù)庫(kù)系統(tǒng)概論 薩師煊、王珊 高等教育出版社 軟件系統(tǒng)開(kāi)發(fā)技術(shù) 潘錦平施小姚 西安電子科技大學(xué)出版 << [11] 05春計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文 第一章緒 論 1.1 信息化的發(fā)展 1.2 系統(tǒng)開(kāi)發(fā)背景 1.3 課題研究的目的1.4 系統(tǒng)設(shè)計(jì)的指導(dǎo)思想 第二章人事管理系統(tǒng)的問(wèn)題 2.1人事管理系統(tǒng)的簡(jiǎn)介 2.2人事管理系統(tǒng)的用戶(hù)需求 第三章人事管理系統(tǒng)的分析和設(shè)計(jì) 3.1人事管理系統(tǒng)的分析與概要設(shè)計(jì) 3.2人事管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì) 第四章人事管理系統(tǒng)的具體實(shí)現(xiàn) 4.1模塊的開(kāi)發(fā)環(huán)境的簡(jiǎn)介_(kāi)Visual Basic 4.1.1事件驅(qū)動(dòng)的應(yīng)用程序 4.1.2面向?qū)ο蟮木幊?/p> 第1頁(yè) 4.2系統(tǒng)模塊的具體實(shí)現(xiàn) 4.2.1檔案信息模塊的實(shí)現(xiàn) 4.2.2工資管理模塊的實(shí)現(xiàn) 4.2.34.2.44.2.5 工資統(tǒng)計(jì)模塊的實(shí)現(xiàn) 部門(mén)查詢(xún)模塊的實(shí)現(xiàn) 特殊查詢(xún)模塊的實(shí)現(xiàn) 報(bào)表查詢(xún)模塊的實(shí)現(xiàn) 4.2.6 4.3系統(tǒng)開(kāi)發(fā)的其它方面 第五章人事管理系統(tǒng)的運(yùn)行環(huán)境 第六章:人事管理系統(tǒng)的程學(xué)開(kāi)發(fā) 第七章結(jié)束語(yǔ) 參考文獻(xiàn) 前言 人事管理系統(tǒng)是一個(gè)企業(yè)單位不可缺少的部分,它的內(nèi)容對(duì)于企業(yè)的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以人事勞資管理系統(tǒng)應(yīng)該能夠?yàn)橛脩?hù)提供充足的信息和快捷的查詢(xún)手段。但一直以來(lái)人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。 作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)人事勞資信息進(jìn)行管理,具有著手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事勞資管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。 因此,開(kāi)發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中我們將以開(kāi)發(fā)一套人事管理系統(tǒng)為例,談?wù)勂溟_(kāi)發(fā)過(guò)程和所涉及到的問(wèn)題及解決方法。 第一章緒論 想要全部 請(qǐng)加QQ:76536415 專(zhuān)業(yè)設(shè)計(jì) 畢業(yè)論文第四篇:VB+Access學(xué)生公寓管理系統(tǒng)-論文
第五篇:VB+ACCESS人事工資管理系統(tǒng)