




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第1章 引言1.1 課題開發(fā)背景車輛的管理在各機關(guān)、企事業(yè)單位一直是一個難題,一方面使用成本居高不下,另一方面各部門卻經(jīng)常抱怨不能有效地使用車輛,車輛駕駛員更多的將車輛當(dāng)作私家車在使用,對車輛的使用成本不加以控制,管理部門沒有有效的手段對車輛的使用、費用進(jìn)行控制,也無法對車輛的使用、費用情況進(jìn)行統(tǒng)計、分析,制定合理的使用計劃,大大降低了車輛的使用效率。1.2 課題意義隨著經(jīng)濟(jì)的日益增長,各地區(qū)的車輛數(shù)量增長迅速,由此各地的車輛管理所需要保管的機動車檔案資料增加迅速。隨著檔案資料的增加,工作人員勞動強度增大,檔案資料的存儲、查詢等工作與辦公高效率的要求矛盾日漸突出。本論文所介紹的便是一個車輛管理
2、系統(tǒng),以規(guī)范對車輛信息的管理,提高管理效率。車輛作為最重要的交通工具,在企事業(yè)單位中得以普及,單位的車輛數(shù)目已經(jīng)遠(yuǎn)遠(yuǎn)不止簡單的幾輛,與此同時就產(chǎn)生了車輛資源的合理分配使用問題。該問題涉及到車輛的檔案管理;駕駛員檔案管理;車輛(維修費用、洗車費用、養(yǎng)路費、燃料費用等)管理;車輛使用管理和交通事故管理等。如何對一個企事業(yè)單位的車輛進(jìn)行合理分配使用,使其發(fā)揮最大的使用價值,所以該系統(tǒng)對于一個用車單位來說,不但可以對車輛的使用進(jìn)行合理的管理,而且對車輛的使用情況進(jìn)行跟蹤記錄,這對于單位車輛責(zé)任到人,費用清晰,避免責(zé)任混亂、費用虛假等一系列相應(yīng)問題的解決。 1.3 研究現(xiàn)狀在當(dāng)前的車輛管理中, 主要存在
3、下列四種主要問題: 單位車輛難控制、首長專車難管理、運營車輛難抓和事故車輛難判。針對上述情況, 一般可用慣性器件結(jié)合各種傳感器加以解決, 但該方法在用于車輛事故分析、駕駛員的技術(shù)測評方面的確綽綽有余, 但是在車輛管理方面則遇到許多問題。如果利用gps 這種高科技手段, 再輔以上層管理平臺, 就能將車輛管理提高到一個新的層次, 實現(xiàn)對車輛的智能化、科學(xué)化以及規(guī)范化的管理, 提高車輛使用效率, 降低損耗, 減少違章、違紀(jì)現(xiàn)象, 確保安全, 做到出入車輛有記錄、單位派車有檢查、單位司機有考核, 通過技術(shù)手段使嚴(yán)格管理落到實處, 使管理和考核更加客觀、公正, 減少人為干擾。整個系統(tǒng)由硬件和軟件兩部分組
4、成。硬件部分主要是安裝在受管車輛上的車載終端, 其完成gps 數(shù)據(jù)的采集; 軟件部分為車輛管理平臺, 是整個系統(tǒng)的管理控制中心, 擔(dān)負(fù)著系統(tǒng)數(shù)據(jù)的存儲、查詢、修改、維護(hù)及發(fā)布命令, 對系統(tǒng)進(jìn)行控制等功能, 完成系統(tǒng)數(shù)據(jù)的采集、處理, 數(shù)字地圖數(shù)據(jù)庫的管理和數(shù)字地圖顯示, 車輛信息數(shù)據(jù)庫的管理和信息查詢等功能。第2章 開發(fā)工具簡介2.1 開發(fā)工具的選擇系統(tǒng)開發(fā)平臺:visual basic 6.0數(shù)據(jù)庫管理系統(tǒng)軟件:microsoft access 2000運行平臺:windows xp/windows 2003/windows 2000/win7分辨率:最佳效果 1024*7682.2 vis
5、ual basic簡介visual basic (vb) 是在windows 的環(huán)境下運行的,支持可視化編程的、面向?qū)ο蟮?、采用事件?qū)動方式的結(jié)構(gòu)化程序設(shè)計語言。也是進(jìn)行應(yīng)用系統(tǒng)開發(fā)最簡單的、易學(xué)易用的程序設(shè)計工具。從任何標(biāo)準(zhǔn)來說,vb是世界上使用人數(shù)最多的語言。它源自于basic編程語言,其開發(fā)的應(yīng)用程序的運行采用事件驅(qū)動原理在vb代碼窗口輸入代碼時,對vb中的對象的屬性、方法、內(nèi)置的函數(shù)和已定義的自定義函數(shù)等。能自動給出拼寫提示,這樣可大大編程人員的記憶量,程序員可以輕松的使用vb提供的組件快速建立一個應(yīng)用程序。2.3 vb的發(fā)展史和特點2.3.1 vb的發(fā)展史1991年,美國微軟公司推出
6、了visual basic (vb),目前的最新版本是vb的2005中文版,visual意即可視的、可見的,指的是開發(fā)像windows操作系統(tǒng)的圖形用戶界面的方法,它不需要編寫大量的代碼去描述界面元素的外觀和位置,只要把預(yù)先建立好的對象拖放到屏幕上相應(yīng)的位置即可,basic是指beginners all_purpose symbolic instruction code 初始者通用符號指令代碼語言。visual basic有學(xué)習(xí)版、專業(yè)版和企業(yè)版三種版本,以滿足不同的開發(fā)需要。2.3.2 vb的特點vb是一個集成開發(fā)環(huán)境,能編程、調(diào)試和運行程序,也能生成可執(zhí)行程序。用vb可以方便的開發(fā)出應(yīng)用于
7、數(shù)學(xué)計算、字符處理、數(shù)據(jù)庫管理、圖形圖像處理及internet等各種類型的應(yīng)用軟件。vb的主要特點如下:1.可視界面:系統(tǒng)提供了大量的“界面”元素,可以直觀動態(tài)地調(diào)整大小、位置,是面向?qū)ο蟮目梢暬绦蛟O(shè)計,可以自動生成在屏幕上顯示界面的代碼。用戶只需編寫少量的程序代碼,就可以快速的開發(fā)標(biāo)準(zhǔn)的windows應(yīng)用程序。2.面向?qū)ο螅喊褦?shù)據(jù)和處理數(shù)據(jù)的代碼封裝在frm程序中,形成一個個可視的圖形對象,用戶只需設(shè)計這些圖形對象。3.事件驅(qū)動:單擊鼠標(biāo)、雙擊鼠標(biāo)、移動鼠標(biāo)、改變時間、改變大小等都稱為事件。事件發(fā)生時,程序才執(zhí)行;沒有事件發(fā)生,則處于等待狀態(tài)。4.它是一種結(jié)構(gòu)化程序設(shè)計語言,具有高級程序設(shè)
8、計語言的語句結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。5.它可以對多種數(shù)據(jù)庫系統(tǒng)進(jìn)行訪問,利用數(shù)據(jù)庫控件可以訪問access、server等。6.支持對象的鏈接與嵌入。vb能把其它windows應(yīng)用程序視為對象嵌入vb應(yīng)用程序中,便于更好的處理程序。7.支持動態(tài)鏈接庫。在vb應(yīng)用程序中能調(diào)用c+、匯編程序編寫的函數(shù)和api函數(shù)。8.支持建立用戶自己的activex控件,可以創(chuàng)建新控件,增加控件屬性。2.4 數(shù)據(jù)庫的簡介與優(yōu)缺點2.4.1 access的簡介access 是微軟公司推出的基于windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(rdbms,即relational database management system),
9、是office系列應(yīng)用軟件之一。它提供了表、查詢、窗體、報表、頁、宏、模塊7種用來建立數(shù)據(jù)庫系統(tǒng)的對象;提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲、數(shù)據(jù)查詢、界面設(shè)計、報表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。access能夠存取 access/jet、microsoft sql server、oracle(甲骨文軟件公司),或者任何 odbc 兼容數(shù)據(jù)庫內(nèi)的資料。熟練的軟件設(shè)計師和資料分析師利用它來開發(fā)應(yīng)用軟件,而一些不熟練的程序員和非程序員的進(jìn)階用戶則能使用它來開發(fā)簡單的應(yīng)用軟件。雖然它支援部份面向?qū)ο螅╫o)
10、技術(shù),但是未能成為一種完整的面向?qū)ο箝_發(fā)工具。 2.4.2 access的優(yōu)缺點優(yōu)點:(1)存儲方式單一 access管理的對象有表、查詢、窗體、報表、頁、宏和模塊,以上對象都存放在后綴為(.mdb)的數(shù)據(jù)庫文件中,便于用戶的操作和管理。 (2)面向?qū)ο?access是一個面向?qū)ο蟮拈_發(fā)工具,利用面向?qū)ο蟮姆绞綄?shù)據(jù)庫系統(tǒng)中的各種功能對象化,將數(shù)據(jù)庫管理的各種功能封裝在各類對象中。它將一個應(yīng)用系統(tǒng)當(dāng)作是由一系列對象組成的,對每個對象它都定義一組方法和屬性,以定義該對象的行為和外國,用戶還可以按需要給對象擴展方法和屬性。通過對象的方法、屬性完成數(shù)據(jù)庫的操作和管理,極大地簡化了用戶的開發(fā)工作。同時
11、,這種基于面向?qū)ο蟮拈_發(fā)方式,使得開發(fā)應(yīng)用程序更為簡便。 (3)界面友好、易操作 access是一個可視化工具,是風(fēng)格與windows完全一樣,用戶想要生成對象并應(yīng)用,只要使用鼠標(biāo)進(jìn)行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報表設(shè)計器以及數(shù)據(jù)庫向?qū)?、表向?qū)?、查詢向?qū)?、窗體向?qū)?、報表向?qū)У裙ぞ?,使得操作簡便,容易使用和掌握?(4)集成環(huán)境、處理多種數(shù)據(jù)信息 access基于windows操作系統(tǒng)下的集成開發(fā)環(huán)境,該環(huán)境集成了各種向?qū)Ш蜕善鞴ぞ撸瑯O大地提高了開發(fā)人員的工作效率,使得建立數(shù)據(jù)庫、創(chuàng)建表、設(shè)計用戶界面、設(shè)計數(shù)據(jù)查詢、報表打印等可以方便有序地進(jìn)行。 (5)acces
12、s支持odbc(開發(fā)數(shù)據(jù)庫互連,open data base connectivity),利用access強大的dde(動態(tài)數(shù)據(jù)交換)和ole(對象的聯(lián)接和嵌入)特性,可以在一個數(shù)據(jù)表中嵌入位圖、聲音、excel表格、word文檔,還可以建立動態(tài)的數(shù)據(jù)庫報表和窗體等。access還可以將程序應(yīng)用于網(wǎng)絡(luò),并與網(wǎng)絡(luò)上的動態(tài)數(shù)據(jù)相聯(lián)接。利用數(shù)據(jù)庫訪問頁對象生成html文件,輕松構(gòu)建internet/intranet的應(yīng)用。缺點:access是小型數(shù)據(jù)庫,既然是小型就有他根本的局限性,以下幾種情況下數(shù)據(jù)庫基本上會吃不消:(1) 數(shù)據(jù)庫過大,一般access數(shù)據(jù)庫達(dá)到50m左右的時候性能會急劇下降。(2
13、) 網(wǎng)站訪問頻繁,經(jīng)常達(dá)到100人左右的在線。(3) 記錄數(shù)過多,一般記錄數(shù)達(dá)到10萬條左右的時候性能就會急劇下降。第3章 系統(tǒng)總體設(shè)計3.1 系統(tǒng)需求分析對于擁有大量車輛的機關(guān)企事業(yè)單位來說,車輛的管理成為日常事務(wù)中的一項重要工作。如何讓管理人員及時了解每一輛車的情況,提高車輛的使用率,減少費用的支出,就成為各單位需要解決的一個難題。為規(guī)范企業(yè)內(nèi)部管理,提高企業(yè)管理質(zhì)量,更好的服務(wù)于廣大的客戶,需要開發(fā)出一套專門用于車輛管理的軟件。本軟件需要具有集中管理車輛的運營、維修、事故、違章等一系列信息功能,有效跟蹤管理企業(yè)每臺汽車的使用狀況,帶動企業(yè)進(jìn)入車輛管理信息化、科學(xué)化,同時也可以節(jié)省人力、物
14、力、財力,提高工作效率,使企業(yè)車輛管理更加科學(xué)、更加規(guī)范。本系統(tǒng)主要服務(wù)于機動車管理人員的日常工作,利用本系統(tǒng)可以方便的監(jiān)控管理本區(qū)域的駕駛員信息,在此基礎(chǔ)上力求軟件界面人性化以及操作簡單,程序具有健壯性等。3.2 系統(tǒng)概要設(shè)計 3.2.1 系統(tǒng)結(jié)構(gòu)設(shè)計車輛管理系統(tǒng)是一個非常有特點的管理軟件,系統(tǒng)由車輛檔案管理、車輛運營列表、車輛管理、駕駛員管理、系統(tǒng)設(shè)置、系統(tǒng)維護(hù)等幾個功能模塊組成。規(guī)劃系統(tǒng)功能模塊如下:車輛檔案管理:車輛檔案錄入、車輛檔案查詢、車輛異動列表、車輛異動查詢、車輛報廢、車輛報廢查詢。車輛運營管理:車輛運營管理、車輛運營查詢、清空運營表。車輛管理:維修管理、違章管理、事故管理3大
15、部分。其中維修管理包括車輛維修列表、車輛維修查詢、添加零件。違章管理包括車輛違章列表、車輛違章查詢;事故管理包括車輛事故列表、車輛事故查詢。系統(tǒng)設(shè)置:系統(tǒng)初始化、管理員設(shè)置、權(quán)限設(shè)置。系統(tǒng)維護(hù):數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)2個部分。如圖3.1和3.2所示:圖 3.1 系統(tǒng)部分流程圖圖 3.2 系統(tǒng)結(jié)構(gòu)圖3.2.2 數(shù)據(jù)庫設(shè)計在信息管理系統(tǒng)中,數(shù)據(jù)都保存在數(shù)據(jù)庫中,所以數(shù)據(jù)庫的設(shè)計在開發(fā)系統(tǒng)之前就應(yīng)該確定,而且非常重要。在vb中,訪問數(shù)據(jù)庫一般有兩種方式。一種是非編碼方式,主要通過data等控件,可以不需要任何編程,只需要簡單設(shè)置控件的一些屬性并結(jié)合文本框等普通控件即可以方便地顯示和操作數(shù)據(jù)庫中的數(shù)據(jù)。二
16、是通過編寫代碼,即利用數(shù)據(jù)訪問對象(dao)來實現(xiàn)。本系統(tǒng)中運用了數(shù)據(jù)庫access2000作為后臺數(shù)據(jù)庫。在系統(tǒng)中主要運用了ado控件來訪問數(shù)據(jù)庫的方法,從而節(jié)省了大量的工作量。(1)如圖3.3所示:圖3.3車輛報廢表e-r圖如表3.1所示:表3.1車輛報廢表字段名稱數(shù)據(jù)類型車牌號碼文本報廢原因文本報廢日期日期/時間經(jīng)手人文本備注備注(2)如圖3.4所示:圖3.4 車輛檔案表e-r圖如表3.2所示:表3.2 車輛檔案表字段名稱數(shù)據(jù)類型車牌號碼文本車牌類型文本駕駛員編號文本購置日期日期/時間廠牌編號文本使用人或單位文本年險否文本異動否文本報廢否文本異動否文本(3)如圖3.5所示:圖3.5 車輛
17、違章表e-r圖如表3.3所示:表3.3 車輛違章表字段名稱數(shù)據(jù)類型車牌號碼文本原因文本處罰 文本違章時間文本備注備注(4)如圖3.6所示:圖3.6 車輛維修表e-r圖如表3.4所示:表3.4 車輛維修表字段名稱數(shù)據(jù)類型車牌號碼文本更換零件1文本零件1數(shù)量文本更換零件2日期/時間零件2數(shù)量文本更換零件3文本零件3數(shù)量文本 維修日期日期/時間共計費用文本備注備注(5)如圖3.7所示:圖3.7 車輛運營表e-r圖如表3.5所示:表3.5 車輛運營表字段名稱數(shù)據(jù)類型運營編號文本車牌號碼文本運營日期日期/時間運營收入文本備注備注(6)如圖3.8所示:圖3.8 零件表e-r圖如表3.6所示:表3.6 零件
18、表字段名稱數(shù)據(jù)類型零件名文本單價文本(7)如圖3.9所示:圖3.15 用戶表e-r圖如表3.7所示:表3.7 用戶表字段名稱數(shù)據(jù)類型用戶姓名文本密碼文本用戶類型文本第4章 系統(tǒng)應(yīng)用程序設(shè)計4.1 程序主界面的設(shè)計程序啟動后,在系統(tǒng)登錄界面驗證操作員密碼后,將進(jìn)入程序主界面。通過程序主界面將會執(zhí)行相應(yīng)的權(quán)限操作,并且還可以通過主界面的菜單,來調(diào)用相應(yīng)程序,再進(jìn)行相應(yīng)操作。如圖圖4.1所示:圖4.1 主界面窗體4.1.1 mdi主窗體設(shè)計mdi主窗體通過工具欄按鈕操作車輛檔案管理、車輛運營管理、車輛管理、駕駛員管理、系統(tǒng)設(shè)置等幾大模塊,也是退出系統(tǒng)的唯一出口。(1)創(chuàng)建一個mdi窗體,設(shè)置其cap
19、tion屬性“為車輛管理系統(tǒng)”。(2)在表單中添加toolbar控件、statusbar控件、imagelist控件和timer控件。(3)重要控件屬性如表4.1所示:表4.1 主程序界面重要控件屬性列表控件名屬性值toolbarstyle1.transparenttimerinterval10004.1.2 工具欄設(shè)計toolbar控件按鈕與應(yīng)用程序中菜單按鈕箱對應(yīng),為了給用戶提供常用菜單命令的快捷訪問方法,在車輛管理系統(tǒng)中設(shè)計了工具欄。另外,toolbar控件的按鈕上顯示的所有圖像都是imagelist控件存儲和添加的,所以窗體上的工具欄是通過toolbar控件和imagelist控件共同
20、來實現(xiàn)的。添加toolbar控件和imagelist控件到工具箱。toolbar控件和imagelist控件都屬于activex控件,使用時需要從“部件”對話框中添加。添加toolbar控件和imagelist控件的過程:在“工程”菜單中選擇“部件”子菜單,在彈出的“部件”窗口中“控件”選項卡內(nèi)選擇“microsoft windows common controls 6.0”,然后單擊“確定”按鈕,此時將toolbar控件和imagelist控件添加到工具箱當(dāng)中。圖4.3部件4.1.3 程序代碼設(shè)計清空運營表如圖4.4所示:圖4.4清空運營表在主窗體菜單“車輛運營管理”子菜單“清空運營表”(屬
21、管理員權(quán)限)的click事件下,添加如下代碼:if msgbox(真的要清空運營表嗎?, vbokcancel, 車輛管理系統(tǒng)) = vbok thencnn.execute (delete from 車輛運營表) 清空車輛運營表elsers1.closeexit subend if在toolbar 控件的buttonclick 事件中添加以下代碼:select case button.indexcase 1 call mnucardaadd_click 調(diào)用車輛檔案錄入窗體case 2 call mnujsylist_click 調(diào)用駕駛員檔案列表窗體case 3 call mnuyylis
22、t_click 調(diào)用車輛運營列表窗體case 5 call mnucarwxlist_click 調(diào)用車輛維修列表窗體case 6 call mnucarwzlist_click 調(diào)用車輛違章列表窗體case 7 call mnucarsglist_click 調(diào)用車輛事故列表窗體end select4.2 系統(tǒng)登錄界面設(shè)計4.2.1 登錄界面窗體設(shè)計(1)添加一個表單,名稱為frmlogin。(2)在表單中添加label控件、text控件、image控件。登錄界面如圖4.5所示:圖4.5 “用戶登錄”表單運行結(jié)果4.2.2 代碼設(shè)計如果在登錄過程中連續(xù)3次輸入錯誤信息,將自動退出系統(tǒng)。在“確
23、定”按鈕的click 事件中添加以下代碼:private sub mnuglyset_click() frmmanager.show statusbar1.panels(1).text = 管理員設(shè)置窗體end subprivate sub mnuhf_click() frmdatahf.show statusbar1.panels(1).text = 數(shù)據(jù)恢復(fù)窗體end subprivate sub mnujsycha_click() frmdrivercha.show statusbar1.panels(1).text = 駕駛員檔案查詢窗體end subprivate sub mnujs
24、yjc_click() frmdrjc.show statusbar1.panels(1).text = 獎金評定窗體end subprivate sub mnujsylist_click() frmdriverlr.show statusbar1.panels(1).text = 駕駛員檔案錄入窗體end subprivate sub mnusyscsh_click() if msgbox(執(zhí)行此命令會清空數(shù)據(jù)庫里所有記錄,確實要執(zhí)行嗎?, vbokcancel, 系統(tǒng)提示) = vbok then adocon.execute (delete from 車輛檔案) adocon.execu
25、te (delete from 車輛報廢表) adocon.execute (delete from 車輛事故表) adocon.execute (delete from 車輛違章表) adocon.execute (delete from 車輛維修表) adocon.execute (delete from 車輛異動表) adocon.execute (delete from 車輛運營表) adocon.execute (delete from 駕駛員檔案) adocon.execute (delete from 零件表) adocon.execute (delete from 用戶表) a
26、docon.execute (delete from 獎罰表) else exit sub end ifend subprivate sub mnuyydelete_click() if msgbox(真的要清空運營表嗎?, vbokcancel, 系統(tǒng)提示) = vbok then adocon.execute (delete from 車輛運營表) else exit sub end ifend subprivate sub mnuyylist_click() frmcaryylr.show statusbar1.panels(1).text = 車輛運營錄入窗體end subprivat
27、e sub toolbar1_buttonclick(byval button as mscomctllib.button) select case button.index case 1 call mnucardaadd_click case 2 call mnujsylist_click case 3 call mnuyylist_click case 5 call mnucarwxlist_click case 6 call mnucarwzlist_click case 7 call mnucarsglist_click end select end subprivate sub to
28、olbar1_buttonmenuclick(byval buttonmenu as mscomctllib.buttonmenu) select case buttonmenu.index case 1 call mnucardacha_click case 2 call mnujsycha_click case 3 call mnucaryycha_click case 5 call mnucarwxcha_click case 6 call mnucarwzcha_click case 7 call mnucarsgcha_click end selectend sub4.3 車輛檔案錄
29、入車輛檔案錄入操作窗體用于添加、修改、刪除車輛檔案信息。車輛檔案的添加、修改、刪除可以通過ado控件實現(xiàn),其中使用了addnew、update和delete方法。4.3.1 窗體界面設(shè)計(1)新建一個窗體,名稱為frm車輛檔案錄入。(2)在表單中添加label控件、text控件、combo控件、monthview控件(microsoft monthview control, version 6.0)、check控件、edit控件、commandgroup控件、command控件和container控件。車輛檔案錄入界面如圖4.6所示:圖4.6車輛檔案錄入表4.3.2 代碼設(shè)計在test1控件的
30、lostfocus事件下,判斷用戶添加的“車牌號碼”是否與表中的數(shù)據(jù)重復(fù),其代碼如下: set rs = adocon.execute(select * from 車輛檔案 where 車牌號碼= & text1.text & ) if rs.eof = false then msgbox 此車牌號碼已經(jīng)存在!, 4, 車輛管理系統(tǒng) text1 = 初始化處理,清空文本框空間中的內(nèi)容,為部分控件賦初始值,然后設(shè)置一些按鈕有效,為用戶添加新數(shù)據(jù)做準(zhǔn)備。在“增加”按鈕的click事件下添加代碼如下:unlockctl dtpicker1.value = format(now, yyyy.mm.dd
31、) text1 = : text2 = : combo2 = : text4 = : text5 = : text6 = : text7 = combo1.text = cmnj.text = 是 cmbx.text = 是 cmyd.text = 是 cmbf.text = 是 text1.setfocus imgok.enabled = true: imgcancel.enabled = true imgdelete.enabled = false: combo1.visible = true adodc1.enabled = false: imgupdate.enabled = fals
32、e i = 1使用delete語句刪除車輛信息。在“刪除”按鈕的click事件下添加代碼如下:if msgbox(您確實要刪除記錄嗎?, vbokcancel, 車輛管理系統(tǒng)) = vbok then adocon.execute (delete from 車輛檔案 where 車牌號碼= & text1 & ) msgbox 記錄已刪除!, , 車輛管理系統(tǒng) unload me在“取消”按鈕的click事件下添加代碼如下:on error resume next adodc1.recordset.cancelupdate adodc1.refresh lockctl imgok.enable
33、d = false: imgcancel.enabled = false imgadd.enabled = true: imgupdate.enabled = true imgdelete.enabled = true: adodc1.enabled = true4.4 車輛運營列表車輛運營列表窗體用于添加、修改、刪除車輛運營信息。4.4.1 窗體界面設(shè)計新建一個窗體,caption屬性為“車輛運營列表”,borderstyle屬性為1.fixed single。在窗體上添加text、label、commandbutton、dtpicker控件。圖4.8車輛運營列表4.4.2 程序代碼設(shè)計在t
34、ext1控件的lostfocus事件下判斷某個車輛是否屬于公司車輛,由于報廢車輛和異動車輛不能參加運營,所以這里也需要判斷,其核心代碼如下: 此車是否是本公司的 set rss = adocon.execute(select * from 車輛檔案 where 車牌號碼= & text1.text & ) if rss.eof then msgbox 這輛車不屬于本公司的!, , 車輛管理系統(tǒng) text1.text = text1.setfocus exit sub end if rss.close 此車是否報廢了 set rss1 = adocon.execute(select * from
35、 車輛報廢表 where 車牌號碼= & text1.text & ) if rss1.eof then else msgbox 此車已經(jīng)報廢,不能參加運營!, , 車輛管理系統(tǒng) text1.text = text1.setfocus exit sub end if rss1.close 此車是否異動了 set rss2 = adocon.execute(select * from 車輛異動表 where 車牌號碼= & text1.text & ) if rss2.eof then else msgbox 此車為“異動車輛”不能參加運營!, , 車輛管理系統(tǒng) text1.text = tex
36、t1.setfocus exit sub end if rss2.close在“添加”按鈕的click事件下,通過ado對象創(chuàng)建“車輛運營表”的記錄集,通過對記錄集中記錄數(shù)的判斷對“營運編號”進(jìn)行自動編號,其代碼如下: dim rs as new adodb.recordset rs.open select * from 車輛運營表, cnn, adopenkeyset, adlockoptimistic if rs.recordcount 0 then rs.movelast aa = rs.fields(0) text5.text = yy + format(val(right(rs.fi
37、elds(運營編號), 3) + 1, #000) else text5.text = yy001 end if在“刪除”按鈕的click事件下,通過ado控件的delete方法刪除數(shù)據(jù),代碼如下: if msgbox(您確實要刪除記錄嗎?, vbokcancel, 車輛管理系統(tǒng)) = vbok then adodc1.recordset.delete msgbox 記錄已刪除!, , 車輛管理系統(tǒng) adodc1.refresh end if4.5 車輛違章列表4.5.1 窗體界面設(shè)計(1)新建一個窗體,caption屬性為“車輛違章記錄”。(2)在窗體上添加test、label、comman
38、dbutton、dtpicker控件。如圖4.10所示:圖4.10車輛違章記錄圖4.5.2 程序代碼設(shè)計判斷報廢車輛和異動車輛不可以添加到違章列表中,在text1控件lostfocus事件下,添加如下核心代碼:private sub command1_click(index as integer) on error resume next select case index case 0 adodc1.recordset.movefirst case 1 if adodc1.recordset.bof = false then adodc1.recordset.moveprevious end
39、 if case 2 if adodc1.recordset.eof = false then adodc1.recordset.movenext end if case 3 adodc1.recordset.movelast end select text1.text = adodc1.recordset.fields(0) text2.text = adodc1.recordset.fields(1) text3.text = adodc1.recordset.fields(2) dtpicker1.value = adodc1.recordset.fields(3) text4.text
40、 = adodc1.recordset.fields(4)end subprivate sub form_load() frmcarwzlr.width = 6720: frmcarwzlr.height = 2730 adodc1.recordsource = select * from 車輛違章表 adodc1.refresh if adodc1.recordset.recordcount 0 then dtpicker1.value = adodc1.recordset.fields(違章時間).valueend subprivate sub form_queryunload(cance
41、l as integer, unloadmode as integer) cmdexit_clickend subprivate sub text1_keydown(keycode as integer, shift as integer) if keycode = vbkeyreturn then text2.setfocusend subprivate sub text1_lostfocus() if text1.text = then exit sub dim rss as new adodb.recordset set rss = adocon.execute(select * fro
42、m 車輛檔案 where 車牌號碼= & text1.text & ) if rss.eof then msgbox 這輛車不屬于本公司的!, , 系統(tǒng)提示 text1.text = text1.setfocus exit sub end if rss.close dim rss1 as new adodb.recordset set rss1 = adocon.execute(select * from 車輛異動表 where 車牌號碼= & text1.text & ) if rss1.eof then else msgbox 該車為異動車輛!, , 系統(tǒng)提示 text1.text = t
43、ext1.setfocus exit sub end if rss1.close dim rss2 as new adodb.recordset set rss2 = adocon.execute(select * from 車輛報廢表 where 車牌號碼= & text1.text & ) if rss2.eof then else msgbox 該車已經(jīng)報廢!, 系統(tǒng)提示 text1.text = text1.setfocus exit sub end if rss2.closeend subprivate sub text2_keydown(keycode as integer, sh
44、ift as integer) if keycode = vbkeyreturn then text3.setfocusend subprivate sub text3_keypress(keyascii as integer) if keyascii = 13 then dtpicker1.setfocusend subprivate sub dtpicker1_keypress(keyascii as integer) if keyascii = 13 then text4.setfocusend subprivate sub lockctl() text1.enabled = false
45、: text2.enabled = false text3.enabled = false: text4.enabled = false dtpicker1.enabled = falseend subprivate sub unlockctl() text1.enabled = true: text2.enabled = true text3.enabled = true: text4.enabled = true dtpicker1.enabled = trueend sub4.6 車輛運營查詢車輛運營查詢窗體主要完成按車牌號碼、運營日期和運營時間段查詢車輛運營情況。4.6.1 窗體界面設(shè)
46、計(1)新建一個窗體,caption屬性為“車輛運營查詢窗體”,在改窗體上一次添加控件。(2)在窗體上添加datagrid控件,用來顯示查詢車輛運營的結(jié)果。(3)在窗體中添加text、label、image、dtpicker控件,如圖4.12所示:圖4.12車輛運營查詢圖4.6.2 程序代碼設(shè)計設(shè)計一個rebind過程,用于顯示表中所有數(shù)據(jù)。frame2.caption = 車輛運營列表 adodc1.connectionstring = provider=microsoft.jet.oledb.4.0;data source= & app.path & clgl.mdb & ;persist
47、 security info=false adodc1.recordsource = select * from 車輛運營表 adodc1.refresh設(shè)計一個清空過程,用于顯示查詢結(jié)果數(shù)據(jù)。frame2.caption = 您所要查詢的車輛運營記錄如下: adodc1.connectionstring = provider=microsoft.jet.oledb.4.0;data source= & app.path & clgl.mdb & ;persist security info=false adodc1.recordsource = select * from 車輛運營表 whe
48、re 1=0 adodc1.refresh4.7 程序調(diào)試和錯誤處理運行“車輛違章查詢”模塊,查詢車輛違章信息時出現(xiàn)“from子句語法錯誤”的錯誤提示。如圖4.14所示:圖4.14車輛違章查詢單擊“確定”按鈕后,執(zhí)行的代碼如下:if adors.eof then call qingkong msgbox 對不起,沒有符合您查詢條件的車輛違章記錄!, , 車輛管理系統(tǒng) else adodc1.recordsource = sql adodc1.refresh end if第5章 總結(jié)車輛信息管理系統(tǒng)的設(shè)計目的是為車管人員方便管理機動車與駕駛員信息提供方便。通過這幾個月的畢業(yè)設(shè)計,我學(xué)到很多以前沒
49、有學(xué)到的visual basic開發(fā)技術(shù),在軟件工程學(xué)上更是取得了很大的進(jìn)步。經(jīng)過大量的測試和試用,我深信本軟件達(dá)到了方便和實用的設(shè)計目的,并在軟件界面和易用實用等方面有著獨到之處。在車輛信息管理系統(tǒng)的整個設(shè)計過程中,需要注意的是力求界面友好、簡潔,易于操作。代碼部分盡量避免邏輯錯誤,算法設(shè)計簡單合理,盡量使程序具有較好的可讀性,有利于其他的設(shè)計者對程序的閱讀;力求對數(shù)據(jù)庫操作的安全與穩(wěn)定,盡量避免數(shù)據(jù)庫操作異常,并要保證查詢的快速無誤。車輛管理系統(tǒng)的功能基本能夠符合用戶的需求,能夠完成用戶提出的信息管理要求,并提供部分系統(tǒng)維護(hù)功能,使用戶方便進(jìn)行數(shù)據(jù)備份、恢復(fù)、數(shù)據(jù)刪除。當(dāng)然,由于本人的專業(yè)
50、知識水平有限以及時間的限制,在系統(tǒng)設(shè)計過程中沒有全面做好切合實際的需求分析,所以在開發(fā)過程中遇到了一些棘手的問題?,F(xiàn)在開發(fā)出來的系統(tǒng)還存在部分不足的地方。系統(tǒng)版面設(shè)計不夠人性化,系統(tǒng)對數(shù)據(jù)庫的操作還不夠穩(wěn)定,這些問題在以后的開發(fā)過程中還需要逐步完善。車輛管理系統(tǒng)的功能基本能夠符合用戶的需求,能夠完成用戶提出的信息管理要求,并提供部分系統(tǒng)維護(hù)功能,使用戶方便進(jìn)行數(shù)據(jù)備份、恢復(fù)、數(shù)據(jù)刪除。經(jīng)過幾個月的設(shè)計和開發(fā),車輛運輸管理系統(tǒng)基本開發(fā)完畢。其功能基本符合用戶需求,能夠完成信息錄入,信息查詢和統(tǒng)計,并提供一定的系統(tǒng)維護(hù)功能,使用戶方便的對數(shù)據(jù)進(jìn)行錄入,修改,刪除,備份等操作,并且對于數(shù)據(jù)的一致性的
51、問題也通過程序進(jìn)行了一定的解決。但是由于畢業(yè)設(shè)計時間較短,但還存在如下問題:(1) 界面做得不是很協(xié)調(diào),過于簡單。(2) 在登陸頁面,對密碼沒有限制,可以使其數(shù)字和字符混合并控制其長度。(3) 在設(shè)計其中幾項功能的時候,出現(xiàn)了一些問題,使其功能無法實現(xiàn)。(4) 在設(shè)置的登錄界面,比較簡單,我們可以直接按enter鍵就可以登錄。(5)在數(shù)據(jù)庫的選擇存在不足,我們可以選用sql,因為我們access存在一個缺點就是他可以再數(shù)據(jù)量小的時候使用,而sql可以再數(shù)據(jù)量大的情況下使用,而且sql的高負(fù)載時的穩(wěn)定性較好。(6) 在編寫軟件部分的時候,會遇到很多意想不到的問題,自己可能會認(rèn)為代碼沒有錯,但是當(dāng)你細(xì)心一點查找的時候,你會發(fā)現(xiàn)你的代碼還是有問題的,而且在編寫的過程中,要不斷地調(diào)試,才可以保證你的代碼是沒有錯誤的。這些都是需要完善的地方,該系統(tǒng)離實際使用還有相當(dāng)?shù)木嚯x,需要我進(jìn)行不斷地補充和完善。但是由于畢業(yè)設(shè)計時間較短,加之本人水平所限,此系統(tǒng)只能初步運用visual basic強大功能的一些基本控件,在創(chuàng)建這個系統(tǒng)時也遇到過一些困難,是幾經(jīng)調(diào)試才能正常運行的。因此在設(shè)計過程中可能有漏洞或不盡
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國電子車輛秤項目投資可行性研究報告
- 2025年紅外測溫項目提案報告模板
- 2025-2030年中國普通軟木紙項目投資可行性研究分析報告
- 2025年度環(huán)保材料研發(fā)合伙投資協(xié)議書
- 2025年度餐飲企業(yè)員工福利待遇保障合同范本
- 2025年劃痕試驗機項目投資可行性研究分析報告
- 2024中國林產(chǎn)品的采集市場前景及投資研究報告
- 保管合同范本簡單
- 電車買賣合同范本
- 中國電弧焊機行業(yè)發(fā)展運行現(xiàn)狀及投資策略研究報告
- 《指南針》完整版
- 深圳人才公園功能分析報告
- 《核醫(yī)學(xué)輻射防護(hù)》課件
- 惡性腫瘤終末期護(hù)理查房課件
- 《兒童胃食管反流病》課件
- 閱讀理解:如何找文章線索 課件
- 工程分包商履約情況與進(jìn)度關(guān)聯(lián)分析
- 英語倒裝句課件(全面詳細(xì))
- 培訓(xùn)業(yè)務(wù)的競爭對手分析與對策
- 產(chǎn)品設(shè)計思維 課件 第3-5章 產(chǎn)品設(shè)計的問題思維、產(chǎn)品設(shè)計的功能思維、產(chǎn)品設(shè)計的形式思維
- 餐券模板完整
評論
0/150
提交評論