




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 畢畢業(yè)業(yè)設設計計(論論文文)合合同同管管理理系系統(tǒng)統(tǒng)的的設設計計與與實實現(xiàn)現(xiàn) 摘摘 要要在 21 世紀,隨著計算機科學的發(fā)展,數(shù)據(jù)庫技術在人們?nèi)粘9ぷ髦械膽迷絹碓綇V泛,為廣大用戶提供了更加周到和人性化的服務。數(shù)據(jù)庫技術已逐漸成為當今計算機應用的潮流。本文主要是通過制作一款數(shù)據(jù)庫軟件即“合同管理系統(tǒng)”來介紹數(shù)據(jù)庫技術在人們?nèi)粘I詈凸ぷ髦械膽?。本論文所做的主要工作如下?1)介紹了 visualbasic6.0 軟件開發(fā)工具和利用 delphi7.0 和 ado 技術操作數(shù)據(jù)庫的一般原理。(2)闡述整個“合同管理系統(tǒng)”的系統(tǒng)結構及工作原理;分析了系統(tǒng)實現(xiàn)中的特殊性、難點。(3)設計實現(xiàn)對數(shù)
2、據(jù)庫的操作功能、數(shù)據(jù)庫查詢功能、數(shù)據(jù)庫打印功能。(4)分析并解決實現(xiàn)中的若干技術問題。(5)建立完整的“合同管理系統(tǒng)” ,進行測試并分析結果。關鍵字關鍵字 數(shù)據(jù)庫技術 ado 合同管理系統(tǒng) abstractat the 21th century ,with the development of computer science, database technology is widely used in the peoples life and work. this makes users can enjoy more convenient and individual services. d
3、atabase technology is the trend of todays computer applications. in this work, we study the technique to build a software named contract stat system in order to introduce the applications of database technology in the peoples life and work. the main work of this paper are :(1) introduces the visual
4、basic6.0 software development tool and introduces the method how to use the software and ado technology to operate the database. (2) investigates the system structure and working principle of the contract stat system. analyses the particularity and difficulty of the system.(3) analyses and resolves
5、the technical problems in implementation.(4) establishes a test software and analyses the result after testing on it.key words database technology ado contract stat system 目錄 第 1 章 緒論 .5第 2 章 概述 .62.1 編程軟件介紹及數(shù)據(jù)庫概述.62.2 訪問數(shù)據(jù)庫的方法.8第 3 章 系統(tǒng)分析與設計 .123.1 需求分析.123.2.模塊設計.13第 4 章 合同管理系統(tǒng)的實現(xiàn) .144.1 軟件流程圖.144
6、.2 分析與創(chuàng)建數(shù)據(jù)庫.154.3 系統(tǒng)各模塊的設計與實現(xiàn).184.3.1 用戶登錄管理模塊的設計.184.3.2 合同基本信息錄入模塊設計.214.3.3 用戶密碼修改模塊.264.3.4 合同統(tǒng)計模塊的設計.294.3.5 收款模塊的設計.364.3.6 合同信息查找模塊的設計.40第五章 系統(tǒng)性能測試 .43總結 .44致 謝 .45參考文獻 .46第第 1 1 章章 緒論緒論本論文描述了一個使用 vb 技術來實現(xiàn)創(chuàng)建一個基于本地數(shù)據(jù)庫技術的合同管理系統(tǒng)的實例該系統(tǒng)主要面向合同信息處理的單機服務,整個系統(tǒng)共有幾個部分來實現(xiàn)不同的功能:用戶登錄管理。只有有權限的用戶才能進入本系統(tǒng),沒有權限
7、的用戶或非法用戶不能進入本系統(tǒng),從而有效地保證系統(tǒng)的安全。合同基本信息錄入。能夠?qū)贤幕拘畔⑦M入錄入,包括合同的編號、合同的類別、合同名稱、合同部門、所屬部門、合同開始日期、合同結束日期、合同額等。合同信息的查找。能夠?qū)贤木唧w信息進行查找??梢蕴峁┌磿r間范圍查找、按所屬部門查找、按合同編號查找、按客戶名稱查找、按合同類別查找、按模糊條件查找。對用戶密碼進行修改。為了保證軟件的安全,用戶需要定期修改密碼。用戶在登錄后要能對自己的密碼進行修改。合同統(tǒng)計。通過它首先可以瀏覽所有合同的具體信息,還能添加、刪除、修改、保存合同信息。同時,作為操作本軟件的主要平臺,通過它能夠訪問其它的單元。收款。
8、可以對合同的收款的情況信息進行管理,包括對收款信息的錄入、刪除、修改、保存等。整個系統(tǒng)簡單劃分為以上 6 個部分第第 2 2 章章 概述概述2.1 編程軟件介紹及數(shù)據(jù)庫概述visual basic 是由微軟公司推出的一套完整的 windows 系統(tǒng)軟件開發(fā)工具,可用于開發(fā) windows 環(huán)境下的各類應用程序,是一種可視化、真正面向?qū)ο?、采用事件?qū)動方式的結構化高級程序設計語言和工具的完美集成。它編程簡單、方便、功能強大,具有與其它語言及環(huán)境的良好接口,不需要編程開發(fā)人員具備 c/c+或者 turbo pascal 語言知識和特別高深的專業(yè)知識,只要懂得windows 的界面及其基本操作,就可
9、以迅速上手,而 vb 在程序界面設計、多媒體開發(fā)方面更是獨具優(yōu)勢。自 1991 年 visual basic1.0 推出以來,visual basic 版本不斷得到更新,功能不斷得到增強,現(xiàn)在的最新版本是 visual basic 6.0。為了滿足不同的開發(fā)需要,visual basic 6.0 本身又分為學習版、專業(yè)版。visual basic 6.0對已有功能進行完善,同時增加了許多新的功能。新的數(shù)據(jù)訪問特性在數(shù)據(jù)訪問技術方面 visual basic 6.0 比起 visual basic 5.0 有了極大的增強:新的數(shù)據(jù)訪問接口 ado:visual basic 6.0 支持的數(shù)據(jù)訪問
10、接口有ado(activex 數(shù)據(jù)對象)、rdo(遠程數(shù)據(jù)對象)和 dao(數(shù)據(jù)訪問對象),每個接口都代表了數(shù)據(jù)訪問技術的不同發(fā)展階段,最新的接口是 ado。ado 是比 rdo 和dao 更加簡單、更加靈活的對象模型,它是為 ole db 而設計的。olddb 是新的低層 com 接口,可以為任何數(shù)據(jù)源提供高性能的訪問。這些數(shù)據(jù)源包括關系和非關系數(shù)據(jù)庫、電子郵件和文件系統(tǒng)、文本和圖形、自定義業(yè)務對象等。ado封裝并實現(xiàn)了 olddb 的所有功能,它將全面取代 dao 和 rdo,成為數(shù)據(jù)訪問接口的主流。新的數(shù)據(jù)源:除了已有的 data 和 remote data 控件外,visual bas
11、ic 6.0引入了幾種新的數(shù)據(jù)源,包括數(shù)據(jù)識別的類模塊和用戶控件、數(shù)據(jù)環(huán)境、ado記錄集和 adodata 控件等。adodata 控件的功能與 data 和 remote data 控件十分相似,都允許編程人員用最少的代碼來創(chuàng)建數(shù)據(jù)庫應用程序。新的數(shù)據(jù)庫綁定控件:visual basic 6.0 新增加了為數(shù)不少的數(shù)據(jù)綁定控件,包括 datagrid, datalist, datacombo, hierarchical flexgrid 和datarepeater 等。集成的可視化數(shù)據(jù)庫工具:包括查詢設計器和數(shù)據(jù)庫設計器,提供了可視地查看并操作表、視圖、存儲過程和數(shù)據(jù)庫結構的功能。數(shù)據(jù)環(huán)境設
12、計器:允許編程人員可視化地創(chuàng)建和操作 ado 對象,為編程人員操縱數(shù)據(jù)源提供了極大的方便。數(shù)據(jù)報表設計器:允許編程人員利用拖放技術來快速地從任何記錄集創(chuàng)建報表。新的 internet 特性visual basic 6.0 提供了多種不同的途徑,來幫助編程人員開發(fā)出動態(tài)的、功能強大的 internet 應用程序:iis 應用程序:可以直接 visual basic 6.0 來創(chuàng)建 iis 應用程序(服務器端 internet 應用程序),響應瀏覽器用戶的請求。對下載 activex 文檔的支持:在 internet explorer 中下載 activex 文檔與下載 activex 控件的方法
13、相同。除了新的數(shù)據(jù)訪問特性和新的 internet 特性外,visual basic 6.0在其余方面也都做了重大改進,包括新的或增強的控件,新的或增強的語言特性,以及新的或增強的向?qū)?。所有這些都使得 visual basic 6.0 功能更為強大。總之,無論是開發(fā)小型應用系統(tǒng),還是大型企業(yè)應用系統(tǒng),甚至開發(fā)功能強大的internet 應用程序,visual basic 6.0 都能勝任。22 訪問數(shù)據(jù)庫的方法 visuai basic 6.0 的數(shù)據(jù)訪問功能比起 visual basic 5.o 有了極大的增強。除了支持 dao(數(shù)據(jù)訪問對象)和 rdo(遠程數(shù)據(jù)對象)外,visual ba
14、sic 6.0 還提供了新的 ado 和 rdo 更加簡單、更加靈活的數(shù)據(jù)訪問接口。此外,visual basic 6.0還提供了新的數(shù)據(jù)源、新的數(shù)據(jù)綁定控件、新的可視化數(shù)據(jù)庫工具、新的數(shù)據(jù)環(huán)境設計器以及新的數(shù)據(jù)報表設計器。1.數(shù)據(jù)訪問對象(dao)控件數(shù)據(jù)訪問對象(dao)是 jet 引擎的面向?qū)ο蟮木幊探涌?。jet 引擎使最終用戶與正在訪問的特定數(shù)據(jù)庫無關。jet 引擎駐留在(動態(tài)連接庫)文件中,運行時將應用程序的請求翻譯成對數(shù)據(jù)庫的物理操作。jet 引擎真正讀取、寫入和修改數(shù)據(jù)庫,并處理所有的內(nèi)部的事務。jet 引擎介于用戶界面和數(shù)據(jù)倉庫之間。通過數(shù)據(jù)訪問對象和 jet 引擎可以識別以下
15、三類數(shù)據(jù)庫:visual basic 數(shù)據(jù)庫;外部數(shù)據(jù)庫;odbc 數(shù)據(jù)庫。雖然可以直接使用數(shù)據(jù)訪問對象來編程,但 data 控件作為一個圖形控件,具有易于使用的界面,它的最大優(yōu)點就是只需少量代碼或根本不用代碼就可以創(chuàng)建應用程序來顯示。2.運程數(shù)據(jù)對象和 remtoe data 控件遠程數(shù)據(jù)訪問對象是位于 odbc api 和驅(qū)動程序管理器之上的對象模型,它提供了一系列的對象來滿足遠程數(shù)據(jù)訪問的特殊要求。盡管 rdo 在訪問 jet或 isam 數(shù)據(jù)庫時受到限制,而且只能通過現(xiàn)存的 odbc 驅(qū)動程序來訪問關系數(shù)據(jù)庫。但 rdo 能訪問任何的 odbc 數(shù)據(jù)源,特別適用于智能的數(shù)據(jù)庫服務器(如
16、 sol server 和 oracle 等)。remote data 與 data 控件基本類似,都提供了對數(shù)據(jù)庫的無縫訪問,用戶不必編寫任何代碼就可以創(chuàng)建數(shù)據(jù)識別的應用程序,區(qū)別在于:remite data 控件是通過使用 rdo 來實現(xiàn)數(shù)據(jù)訪問,而 data 控件則通過使用 dao 來連接到 jet 引擎。3.activex 數(shù)據(jù)對象和 ado data 控件ole db 是一種統(tǒng)一的數(shù)據(jù)訪問接口,它能夠訪問各種 dbms 和非 dbms數(shù)據(jù)源。dbms 數(shù)據(jù)源包括主機數(shù)據(jù)庫(如 ims 和 db2、服務器數(shù)據(jù)庫(如oracle 和 sql sereer)以及桌面數(shù)據(jù)庫(如(microm
17、ft access);非 dbms 數(shù)據(jù)源包括存放在 windows 和 unix 文件系統(tǒng)中的信息、電子郵件、電子表格、web 上的文件或圖形以及目錄服務等。ole db 使得數(shù)據(jù)消費者(應用程序)可以使用相同的方法訪問各種數(shù)據(jù),而不用考慮數(shù)據(jù)的具體存儲地點、格式及類型。ado(activex 數(shù)據(jù)對象)是 dao、rdo 的后繼產(chǎn)物,更簡單和靈活。它擴展了dao 和 rdo 所使用的對象模型,包含較少的對象,更多的屬性、方法和事件。ado 是為 ole db 而設計的,它封裝并實現(xiàn)了 ole db 的所有功能。ado data 控件,也就是 adodc,是 visual basic 6.0
18、 新引進的數(shù)據(jù)訪問控件,它使用 ado 來快速建立數(shù)據(jù)綁定控件和數(shù)據(jù)提供者之間的連接,它使編程者使用最少的代碼來創(chuàng)建數(shù)據(jù)庫應用程序。當然,用 ado data 控件進行訪問數(shù)據(jù)時必須為待訪問的數(shù)據(jù)庫創(chuàng)建 ole db 數(shù)據(jù)連接。本畢業(yè)設計就是采用這種先進的數(shù)據(jù)庫訪問技術訪問數(shù)據(jù)庫的。4.數(shù)據(jù)環(huán)境設計器和數(shù)據(jù)報表設計器數(shù)據(jù)環(huán)境設計器用于在設計時創(chuàng)建 ado 對象,它為數(shù)據(jù)庫訪問提供了一個交互式環(huán)境。在編程時,可以使用數(shù)據(jù)環(huán)境設計器創(chuàng)建連接、命令和其他 ado 對象,使用 ado 對象的方法和屬性,執(zhí)行命令和操作記錄集等。在數(shù)據(jù)環(huán)境設計器中創(chuàng)建連接和命令對象之后,數(shù)據(jù)環(huán)境設計器在設計時創(chuàng)建了 da
19、taenvieonmwnr 對象以及從屬的 ado 對象。當連接和命令對象的數(shù)據(jù)源可用時,可以在程序運行時直接訪問數(shù)據(jù)環(huán)境設計器創(chuàng)建的command、connection 和 recordset 對象,好像這些對象是直接通過 ado 創(chuàng)建的一樣。例如,可以在運行時用代碼將數(shù)據(jù)識別控件綁定到一個命令對象或命令對象中的字段,也可以在對象關閉時動態(tài)地設置 ado connection 和recordset 對象的屬性,并在數(shù)據(jù)綁定前設置參數(shù)值。microsoft 數(shù)據(jù)報表設計器(micromft data report designer)是 visual bmic6.0提供的新的報表設計器,和 vi
20、sual basic 中已有提供數(shù)據(jù)源的對象(如數(shù)據(jù)環(huán)境設計器)一起使用,通過鼠標的拖放操作,可以方便的創(chuàng)建復雜的報表。datareport 設計器創(chuàng)建的報表可以直接打印,也可以將報表導出到 html 或文本文件中。數(shù)據(jù)庫最主要的功能是存儲數(shù)據(jù)和提供信息。數(shù)據(jù)報表的作用就是將數(shù)據(jù)從數(shù)據(jù)庫中檢索到的數(shù)據(jù),以用戶自定義的格式打印出來或是顯示在計算機屏幕上。使用報表可以解決數(shù)據(jù)庫打印格式的特殊要求,也可以解決大量重復性的勞動。在具體的數(shù)據(jù)庫應用程序中,報表可以解決各種各樣的實際問題。例如:當建成一個完整的數(shù)據(jù)庫系統(tǒng)后,用戶可以通過 sql 語句,或事先定義好的查詢來檢索數(shù)據(jù)庫中的信息。通過比較可以發(fā)
21、現(xiàn):ado(activex data object,activex 數(shù)據(jù)對象)是微軟提出的新標準,它使得客戶端應用程序能夠通過任何 oledb 提供者來訪問和操作數(shù)據(jù)庫服務器中的數(shù)據(jù),而不必進行 odbc 配置。ado 有兩個主要優(yōu)點:其一是易于使用、速度快、內(nèi)存支出少和磁盤遺跡小。其二是“遠程數(shù)據(jù)訪問” ,能夠通過一個來回的傳輸將數(shù)據(jù)從服務器移動到客戶端應用程序或 web 中,然后在客戶端對數(shù)據(jù)進行操作,最后將更新數(shù)據(jù)返回服務器。由于 ado 操作數(shù)據(jù)庫有著其他方法操作數(shù)據(jù)庫無法比擬的優(yōu)點,所以本畢業(yè)設計選擇使用 ado 操作數(shù)據(jù)庫。第第 3 3 章章 系統(tǒng)分析與設計系統(tǒng)分析與設計3.1 需
22、求分析為了更好地適應工作人員對合同管理系統(tǒng)的需求,緩解手工管理存在的弊端,開發(fā)合同管理系統(tǒng)。合同管理系統(tǒng)向用戶提供的服務將在傳統(tǒng)的“錄入-修改-刪除-查找”基礎上,進一步提供全方位的信息服務。它具有以下幾個特點:(1)可以存儲所有合同的資料,具有安全、高效的特性;(2)只需 1 名合同信息錄入人員即可操作本合同管理系統(tǒng),可以節(jié)省大量的人力和物力。(3)可以通過查詢系統(tǒng)迅速查到所需要的信息。在對合同管理系統(tǒng)的流程進行認真系統(tǒng)的分析后,我認為本系統(tǒng)用戶的需求可以分為 3 個方面:第 1 方面是用戶登錄管理。只有有權限的用戶才能進入本系統(tǒng),沒有權限的用戶或非法用戶不能進入本系統(tǒng),從而有效地保證系統(tǒng)的
23、安全。第 2 方面是合同信息的查找。能夠?qū)贤木唧w信息進行查找。可以提供按時間范圍查找、按所屬部門查找、按合同編號查找、按客戶名稱查找、按合同類別查找、按模糊條件查找。第 3 方面也是合同管理系統(tǒng)的核心工作,即合同基本信息錄入。能夠?qū)贤幕拘畔⑦M入錄入,包括合同的編號、合同的類別、合同名稱、合同部門、所屬部門、合同開始日期、合同結束日期、合同額等。3.2.模塊設計根據(jù)需求分析的結果,我將本系統(tǒng)主要弄分為 6 個子模塊:用戶登錄、圖書管理、圖書查詢、借閱查詢、借閱管理、基礎維護。系統(tǒng)各模塊的主要功能如下:(1) 用戶登錄管理模塊。本模塊的主要功能是對系統(tǒng)的操作進行限制;只有有權限的用戶才能
24、進入本系統(tǒng),沒有權限的用戶或非法用戶不能進入本系統(tǒng),從而有效地保證系統(tǒng)的安全。(2) 合同基本信息錄入模塊。本模塊的主要功能是能夠?qū)贤幕拘畔⑦M入錄入,包括合同的編號、合同的類別、合同名稱、合同部門、所屬部門、合同開始日期、合同結束日期、合同額等。(3) 用戶密碼修改模塊。本模塊的主功能是為了保證軟件的安全,用戶需要定期修改密碼。用戶在登錄后要能對自己的密碼進行修改。(4)合同統(tǒng)計模塊。本模塊的主要功能是首先是通過本模塊可以瀏覽到數(shù)據(jù)庫內(nèi)所有合同的具體信息,還能添加、刪除、修改、保存合同信息。同時,作為操作本軟件的主要平臺,通過它能夠訪問其它的模塊,如用戶修改模塊、收款模塊等。(5)收款模
25、塊。本模塊的主要功能是對合同的收款的情況信息進行管理,包括對收款信息的錄入、刪除、修改、保存等。第第 4 4 章章 合同管理系統(tǒng)的實現(xiàn)合同管理系統(tǒng)的實現(xiàn)4.1 軟件流程圖用戶密碼修改模塊合同模塊(主窗體)合同信息錄入模塊合同模塊收款模塊基礎維護模塊用戶登錄模塊4.2 分析與創(chuàng)建數(shù)據(jù)庫運行 microsoft 公司的 office2000 辦公軟件中的 access 數(shù)據(jù)庫軟件。1點擊菜單“文件” ,在出現(xiàn)的菜單項中選擇“新建”菜單項。2然后點擊“空數(shù)據(jù)庫” ,在彈出的“文件新建數(shù)據(jù)庫”對話框中鍵入數(shù)據(jù)庫的名稱,本軟件中應寫入:database.mdb。3這時系統(tǒng)將會自動進入詳細的數(shù)據(jù)庫設計窗體
26、。我們選擇“使用設計器”創(chuàng)建表。4在彈出的“表 1”設計窗體中,依次寫入各個字段名以及他們相對應的數(shù)據(jù)類型和說明事項。在本數(shù)據(jù)庫中他們依次是:字段名稱字段名稱數(shù)據(jù)類型數(shù)據(jù)類型字段大小字段大小作用作用dbname文本20用戶名dbpassword文本50密碼dbbranch文本50部門權限文本50權限5設計好字段名后,關閉并保存表為“l(fā)ogin,即“用戶登錄信息”表 。6雙擊“l(fā)ogin”表,然后在彈出的數(shù)據(jù)錄入窗體中錄入數(shù)據(jù),并保存。因為軟件中需要三個數(shù)據(jù)庫表,所以還要在數(shù)據(jù)庫中新建一個“基本資料”表、 “收款信息”表。下面就用表格的形式分別列出這二個表的字段名稱和數(shù)據(jù)類型。基本資料表字段名稱
27、字段名稱數(shù)據(jù)類型數(shù)據(jù)類型字段大小字段大小作用作用合同編號文本50合同編號客戶名稱文本50客戶名稱合同類別文本50合同類別所屬部門文本50所屬部門合同開始日期日期/時間合同開始日期合同額貨幣合同額已收款貨幣已收款成本貨幣成本已付成本貨幣已付成本應付稅金貨幣應付稅金已付稅金貨幣已付稅金未收余額貨幣未收余額未付成本貨幣未付成本未付稅金貨幣未付稅金項目毛利貨幣項目毛利可分配毛利貨幣可分配毛利收款計劃貨幣收款計劃合同結束日期日期/時間合同結束日期收款信息表字段名稱字段名稱數(shù)據(jù)類型數(shù)據(jù)類型字段大小字段大小作用作用收款 id文本50收款 id合同編號文本50合同編號客戶名稱文本50客戶名稱合同類別文本50合
28、同類別所屬部門文本50所屬部門合同期日期/時間合同期收款時間日期/時間收款時間下一期收款時間日期/時間下一期收款時間合同額貨幣合同額本期收款貨幣本期收款成本貨幣成本本期付成本貨幣本期付成本應付稅金貨幣應付稅金本期付稅金貨幣本期付稅金未收余額貨幣未收余額未付成本貨幣未付成本未付稅金貨幣未付稅金項目毛利貨幣項目毛利可分配毛利貨幣可分配毛利收款計劃貨幣收款計劃收款人文本50收款人4.3 系統(tǒng)各模塊的設計與實現(xiàn)4.3.1 用戶登錄管理模塊的設計1. 用戶登錄管理模塊的主要功能是對系統(tǒng)的操作進行限制;只有有權限的用戶才能進入本系統(tǒng),沒有權限的用戶或非法用戶不能進入本系統(tǒng),從而有效地保證系統(tǒng)的安全。2.界
29、面設計:新建一個窗體,然后在上面加上各種必須的控件,運行圖如下所示:2.本模塊的核心代碼及解釋:(1)系統(tǒng)顯示時自動在用戶名的下拉列表里列出所有目前數(shù)據(jù)庫里用戶的用戶名,供工作人員選擇,即代碼如下:private sub form_load() 連接 dim adorecordset as new adodb.recordset mycon.open provider=microsoft.jet.oledb.4.0;data source= _ & app.path & database.mdb;persist security info=false 打開表 with adorecordset
30、 .cursortype = adopenkeyset .locktype = adlockoptimistic .open login, mycon, , , adcmdtable end with 向用戶名中填加記錄 if not (adorecordset.bof = true and adorecordset.eof = true) then do until adorecordset.eof = true cobname.additem iif(isnull(adorecordset.fields(name).value), _ , adorecordset.fields(name)
31、.value) cobname.additem iif(isnull(adorecordset.fields(dbname).value), _ , adorecordset.fields(dbname).value) adorecordset.movenext loop end if cobname.text = cobname.list(0) adorecordset.close txtname.enabled = falseend sub (2)用戶選擇用戶名并輸入密碼后,按“確定”按鈕觸發(fā)的事件代碼如下:private sub cmdok_click() dim adomrc as a
32、dodb.recordset strtxtsql = select * from login where dbpassword = & trim(txtpassword.text) & and dbname= & trim(cobname.text) & set adomrc = executesql(strtxtsql) if adomrc.eof = true then msgbox 密碼錯誤!, vbexclamation + vbokonly, 警告 txtpassword.setfocus txtpassword.selstart = 0 txtpassword.sellength
33、= len(txtpassword.text) exit sub else 用戶權限 = iif(isnull(adomrc.fields(權限).value), _ , adomrc.fields(權限).value) 所屬部門 = iif(isnull(adomrc.fields(dbbranch).value), , adomrc.fields(dbbranch).value) end if set adomrc = nothing unload me load 合同管理系統(tǒng) 合同管理系統(tǒng).show vbmodalend sub4.3.2 合同基本信息錄入模塊設計1. 合同基本信息錄入模
34、塊的主要功能是能夠?qū)贤幕拘畔⑦M入錄入,包括合同的編號、合同的類別、合同名稱、合同部門、所屬部門、合同開始日期、合同結束日期、合同額等。從嚴格意義上來說本模塊是合同統(tǒng)計模塊中的一個小模塊,這實現(xiàn)合同統(tǒng)計模塊中的合同信息錄入的功能。2.窗體界面的設計:新建一個窗體,然后在上面加上各種必須的控件,運行圖如下所示:3.核心代碼及解釋如下:在輸入正確的合同信息后,按“確定”按鈕觸發(fā)的事件代碼如下所示:private sub comok_click()dim strtxtsql as string if txtid.text = or txtname.text = then msgbox 合同編號不
35、能為空 txtid.setfocus exit sub end if 計算已收款 if val(txtpactmoney.text) val(txtendmoney.text) then msgbox 已收金額不能大于合同金額 txtendmoney.setfocus exit sub end if txtnotmoney.text = val(txtpactmoney.text) - val(txtendmoney.text) 計算未付成本 if val(txtcost.text) val(txtendcost.text) then msgbox 已付成本不能小于成本 txtendcost.
36、setfocus exit sub end if txtnotcost.text = val(txtcost.text) - val(txtendcost.text) 計算未付稅金 if val(txttax.text) val(txtendtax.text) then msgbox 已付稅金不能小于應付稅金 txtendtax.setfocus exit sub end if txtnottax.text = val(txttax.text) - val(txtendtax.text) 計算項目毛利 if val(txtpactmoney.text) val(txtcost.text) +
37、val(txttax.text) then msgbox 成本+應付稅金不能大于合同額 txttax.setfocus exit sub end if txtgrossprofit.text = val(txtpactmoney.text) - val(txtcost.text) - val(txttax.text) 計算可分配毛利 if val(txtpactmoney.text) val(txtendcost.text) + val(txtendtax.text) then msgbox 已付成本+已付稅不能大于已收款 txtendtax.setfocus exit sub end if
38、txtassigngrosspprofit.text = val(txtendmoney.text) - val(txtendcost.text) - val(txtendtax.text) mycon.connectionstring = connstring mycon.open strtxtsql = select * from 基本資料 order by 合同編號 set adorecordset = executesql(strtxtsql) 打開基本資料表 adorecordset.addnew adorecordset!合同編號 = txtid.text adorecordset
39、!客戶名稱 = txtname.text adorecordset!合同類別 = txtsort.text adorecordset!所屬部門 = txtbranch.text adorecordset!合同開始日期 = dtpicker1 txtdate.text adorecordset!合同結束日期 = dtpicker2 adorecordset!合同額 = txtpactmoney.text adorecordset!已收款 = txtendmoney.text adorecordset!成本 = txtcost.text adorecordset!已付成本 = txtendcost
40、.text adorecordset!應付稅金 = txttax.text adorecordset!已付稅金 = txtendtax.text adorecordset!未收余額 = txtnotmoney.text adorecordset!未付成本 = txtnotcost.text adorecordset!未付稅金 = txtnottax.text adorecordset!項目毛利 = txtgrossprofit.text adorecordset!可分配毛利 = txtassigngrosspprofit.text adorecordset!收款計劃 = txtproject.
41、text adorecordset.update set mycon = nothing set adorecordset = nothing mycon.close set mycon = nothing unload me call 合同管理系統(tǒng).initializtion(0)end sub4.3.3 用戶密碼修改模塊1.本模塊的主功能是為了保證軟件的安全,用戶需要定期修改密碼。用戶在登錄后要能對自己的密碼進行修改。2.界面設計:新建一個窗體,然后在上面加上各種必須的控件,運行圖如下所示:3.在輸入正確的新密碼后按“確定”按鈕觸發(fā)的事件代碼如下:響應窗體加載事件,進行數(shù)據(jù)庫的連接。代碼如
42、下:private sub comok_click() dim strsql as string dim adocommand as new adodb.command dim 權限 as string select case combo1.text case 管理員 權限 = 0 case 修改 權限 = 1 case 瀏覽 權限 = 2 end select if text1.text = then msgbox 新密碼不能為空。 text1.setfocus exit sub elseif text2.text = then msgbox 請輸入確認新密碼。 text2.setfocus
43、 exit sub end if if text1.text text2.text then msgbox 兩次輸入的新密碼不正確,請重新輸入。 exit sub end if dim adorecordset as new adodb.recordset strtxtsql = select * from login where dbname = & cobname.text & set adorecordset = executesql(strtxtsql) if not (adorecordset.bof = true and adorecordset.eof = true) then
44、do until adorecordset.eof = true strsql = update login set dbname = & cobname.text _ & ,dbpassword = & text1.text _ & ,dbbranch = & cobbranch.text _ & ,權限 = & 權限 & where dbname= & cobname.text & adorecordset.movenext loop else strsql = insert into login (dbname,dbpassword,dbbranch,權限) values( & cobn
45、ame.text & , & text1.text & , & cobbranch.text & , & 權限 & ) end if set adocommand.activeconnection = mycon adocommand.commandtext = strsql adocommand.execute set adocommand = nothing set adorecordset = nothing unload meend sub4.3.4 合同統(tǒng)計模塊的設計1.本模塊的主要功能是首先是通過本模塊可以瀏覽到數(shù)據(jù)庫內(nèi)所有合同的具體信息,還能添加、刪除、修改、保存合同信息。同時,
46、作為操作本軟件的主要平臺,通過它能夠訪問其它的模塊,如用戶修改模塊、收款模塊等。2.窗體設計:新建一個窗體,然后在上面加上各種必須的控件,運行圖如下所示:3.核心代碼及解釋如下:(1)響應“新增基本資料”按鈕的單擊事件,觸發(fā)的事件代碼如下:private sub comnew_click() fombasic.txtid.text = fombasic.txtname.text = fombasic.txtsort.text = fombasic.txtbranch.text = fombasic.dtpicker1 = date fombasic.txtpactmoney.text = 0
47、fombasic.txtendmoney.text = 0 fombasic.txtcost.text = 0 fombasic.txtendcost.text = 0 fombasic.txttax.text = 0 fombasic.txtendtax.text = 0 fombasic.txtnotmoney.text = 0 fombasic.txtnotcost.text = 0 fombasic.txtgrossprofit.text = 0 fombasic.txtassigngrosspprofit.text = 0 fombasic.txtproject.text = wit
48、h basicdatatype .strid = .strname = .strsort = .strbranch = .datedtpicker = date .datedtpicker1 = date .strpactmoney = .strendmoney = .strcost = .strendcost = .strtax = .strendtax = .strnotmoney = .strnotcost = .strgrossprofit = .strassigngrosspprofit = .strproject = end with fombasic.show vbmodalen
49、d sub(2)響應“修改基本資料”按鈕的單擊事件,觸發(fā)的事件代碼如下:private sub comedit_click() dim adorecordset as new adodb.recordset if ctlist1.listcount = 0 then exit sub fombasic.txtid.text = ctlist1.celltext(ctlist1.listindex, 2) basicdatatype.strid = ctlist1.celltext(ctlist1.listindex, 2) 合同編號 fombasic.txtname.text = ctlist
50、1.celltext(ctlist1.listindex, 3) basicdatatype.strname = ctlist1.celltext(ctlist1.listindex, 3) 客戶名稱 fombasic.txtsort.text = ctlist1.celltext(ctlist1.listindex, 4) basicdatatype.strsort = ctlist1.celltext(ctlist1.listindex, 4) 合同類別 fombasic.txtbranch.text = ctlist1.celltext(ctlist1.listindex, 5) bas
51、icdatatype.strbranch = ctlist1.celltext(ctlist1.listindex, 5) 所屬部門 fombasic.dtpicker1 = ctlist1.celltext(ctlist1.listindex, 6) basicdatatype.datedtpicker = ctlist1.celltext(ctlist1.listindex, 6) 合同期 fombasic.dtpicker2 = ctlist1.celltext(ctlist1.listindex, 7) basicdatatype.datedtpicker1 = ctlist1.cel
52、ltext(ctlist1.listindex, 7) 合同期 fombasic.txtpactmoney.text = ctlist1.celltext(ctlist1.listindex, 8) basicdatatype.strpactmoney = ctlist1.celltext(ctlist1.listindex, 8) 合同額 fombasic.txtendmoney.text = ctlist1.celltext(ctlist1.listindex, 9) basicdatatype.strendmoney = ctlist1.celltext(ctlist1.listinde
53、x, 9) 已收款 fombasic.txtcost.text = ctlist1.celltext(ctlist1.listindex, 10) basicdatatype.strcost = ctlist1.celltext(ctlist1.listindex, 10) 成本 fombasic.txtendcost.text = ctlist1.celltext(ctlist1.listindex, 11) basicdatatype.strendcost = ctlist1.celltext(ctlist1.listindex, 11) 已付成本 fombasic.txttax.text
54、 = ctlist1.celltext(ctlist1.listindex, 12) basicdatatype.strtax = ctlist1.celltext(ctlist1.listindex, 12) 應付稅金 fombasic.txtendtax.text = ctlist1.celltext(ctlist1.listindex, 13) basicdatatype.strendtax = ctlist1.celltext(ctlist1.listindex, 13) 已付稅金 fombasic.txtnotmoney.text = ctlist1.celltext(ctlist1
55、.listindex, 14) basicdatatype.strnotmoney = ctlist1.celltext(ctlist1.listindex, 14) 未收余額 fombasic.txtnotcost.text = ctlist1.celltext(ctlist1.listindex, 15) basicdatatype.strnotcost = ctlist1.celltext(ctlist1.listindex, 15) 未付成本 fombasic.txtnottax = ctlist1.celltext(ctlist1.listindex, 16) basicdataty
56、pe.strnottax = ctlist1.celltext(ctlist1.listindex, 16) 未付稅金 fombasic.txtgrossprofit.text = ctlist1.celltext(ctlist1.listindex, 17) basicdatatype.strgrossprofit = ctlist1.celltext(ctlist1.listindex, 17) 項目毛利 fombasic.txtassigngrosspprofit.text = ctlist1.celltext(ctlist1.listindex, 18) basicdatatype.s
57、trassigngrosspprofit = ctlist1.celltext(ctlist1.listindex, 18) 可分配毛利 fombasic.txtproject.text = ctlist1.celltext(ctlist1.listindex, 19) basicdatatype.strproject = ctlist1.celltext(ctlist1.listindex, 19) 收款計劃 mycon.close mycon.connectionstring = connstring mycon.open strtxtsql = delete * from 基本資料 wh
58、ere 合同編號 = & ctlist1.celltext(ctlist1.listindex, 2) & set adorecordset = executesql(strtxtsql) mycon.close set adorecordset = nothing ctlist1.clearlist fombasic.show vbmodalend sub(3) 響應“刪除基本資料”按鈕的單擊事件,觸發(fā)的事件代碼如下:private sub comdel_click() dim adorecordset as new adodb.recordset if ctlist1.listindex
59、0 then exit sub mycon.connectionstring = connstring mycon.open strtxtsql = delete * from 基本資料 where 合同編號 = & ctlist1.celltext(ctlist1.listindex, 2) & set adorecordset = executesql(strtxtsql) mycon.close set adorecordset = nothing ctlist1.clearlist call initializtion(0)end sub4.3.5 收款模塊的設計1.本模塊的主要功能是
60、對合同的收款的情況信息進行管理,包括對收款信息的錄入、刪除、修改、保存等。2.窗體設計:新建一個窗體,然后在上面加上各種必須的控件,運行圖如下所示:3.本模塊的核心代碼解釋:在依次輸入各項收款信息后,按“確定”按鈕觸發(fā)的事件代碼如下所示:private sub comok_click()dim adorecordset as new adodb.recordsetdim logj as long mycon.connectionstring = connstring mycon.open dim adorecordset as new adodb.recordset strtxtsql = s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024中鋁(雄安)礦業(yè)有限責任公司公開招聘3人筆試參考題庫附帶答案詳解
- 第19課 北洋軍閥統(tǒng)治時期的政治、經(jīng)濟與文化 教學設計-2024-2025學年高一上學期統(tǒng)編版(2019)必修中外歷史綱要上
- 2025年致密熔鑄合成云母陶瓷項目合作計劃書
- 第18課 辛亥革命教學設計-2023-2024學年高中歷史統(tǒng)編版(2019)必修中外歷史綱要上冊
- 2024中國中煤能源集團有限公司西南分公司(四川分公司)第二批招聘48人筆試參考題庫附帶答案詳解
- 2025年紅外光學測量雷達合作協(xié)議書
- 江蘇省蘇州市2023-2024學年高三上學期期末考試地理試卷(解析版)
- 2025至2030年中國智能壓力哨數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國操作架專機數(shù)據(jù)監(jiān)測研究報告
- 企業(yè)管理制度的設計技巧與綜合制度
- 2024高考語文一輪復習:文學類文本閱讀-小說的社會環(huán)境
- 陜西省西安市2024年中考英語模擬試卷(含答案)
- 2024-2025學年廣東佛山順德區(qū)高三高考適應性月考(二)數(shù)學試題含解析
- 2024-2030年鋰離子電池隔膜行業(yè)市場發(fā)展分析及發(fā)展趨勢與投資管理策略研究報告
- 四川省成都市金堂縣2023-2024學年八年級下學期期末考試語文試題
- CJJ101-2016 埋地塑料給水管道工程技術規(guī)程
- 大學生創(chuàng)新創(chuàng)業(yè)基礎教程(各類院校創(chuàng)新創(chuàng)業(yè)課程)全套教學課件
- 《民用無人駕駛航空器系統(tǒng)分類及分級》考試題庫(含答案)
- Y -S-T 1700-2024 銀礦采選業(yè)綠色工廠評價要求(正式版)
- 中職語文高教版(2023-2024)基礎模塊上冊二《風景談》公開課一等獎創(chuàng)新教學設計
- (高清版)JTGT 5440-2018 公路隧道加固技術規(guī)范
評論
0/150
提交評論