(精品)合同管理系統(tǒng)2.0版5.25.11.26)精品-改(2013年優(yōu)秀畢業(yè)設計)_第1頁
(精品)合同管理系統(tǒng)2.0版5.25.11.26)精品-改(2013年優(yōu)秀畢業(yè)設計)_第2頁
(精品)合同管理系統(tǒng)2.0版5.25.11.26)精品-改(2013年優(yōu)秀畢業(yè)設計)_第3頁
(精品)合同管理系統(tǒng)2.0版5.25.11.26)精品-改(2013年優(yōu)秀畢業(yè)設計)_第4頁
(精品)合同管理系統(tǒng)2.0版5.25.11.26)精品-改(2013年優(yōu)秀畢業(yè)設計)_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

畢畢業(yè)業(yè)設設計計(論論文文) 中中文文題題目目: 合同管理系統(tǒng)的設計與實現(xiàn) 英英文文題題目目: 學學 院:院: 專專 業(yè):業(yè):計算機科學與技術 學生姓名:學生姓名: 學學 號:號: 指導教師:指導教師: 年年 月月 日日 摘摘 要要 在 21 世紀,隨著計算機科學的發(fā)展,數(shù)據(jù)庫技術在人們日常工作 中的應用越來越廣泛,為廣大用戶提供了更加周到和人性化的服務。 數(shù)據(jù)庫技術已逐漸成為當今計算機應用的潮流。本文主要是通過制作 一款數(shù)據(jù)庫軟件即“合同管理系統(tǒng)”來介紹數(shù)據(jù)庫技術在人們日常 生活和工作中的應用。 本論文所做的主要工作如下: (1)介紹了 Visualbasic6.0 軟件開發(fā)工具和利用 Delphi7.0 和 Ado 技術操作數(shù)據(jù)庫的一般原理。 (2)闡述整個“合同管理系統(tǒng)”的系統(tǒng)結構及工作原理;分析了系 統(tǒng)實現(xiàn)中的特殊性、難點。 (3)設計實現(xiàn)對數(shù)據(jù)庫的操作功能、數(shù)據(jù)庫查詢功能、數(shù)據(jù)庫打印 功能。 (4)分析并解決實現(xiàn)中的若干技術問題。 (5)建立完整的“合同管理系統(tǒng)” ,進行測試并分析結果。 關鍵字關鍵字 數(shù)據(jù)庫技術 Ado 合同管理系統(tǒng) Abstract At 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. Database 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 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 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 章 概述 6 2.1 編程軟件介紹及數(shù)據(jù)庫概述.6 2.2 訪問數(shù)據(jù)庫的方法.8 第 3 章 系統(tǒng)分析與設計 12 3.1 需求分析12 3.2.模塊設計13 第 4 章 合同管理系統(tǒng)的實現(xiàn) 14 4.1 軟件流程圖.14 4.2 分析與創(chuàng)建數(shù)據(jù)庫15 4.3 系統(tǒng)各模塊的設計與實現(xiàn).18 4.3.1 用戶登錄管理模塊的設計.18 4.3.2 合同基本信息錄入模塊設計.21 4.3.3 用戶密碼修改模塊.26 4.3.4 合同統(tǒng)計模塊的設計.29 4.3.5 收款模塊的設計.36 4.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),沒有權限 的用戶或非法用戶不能進入本系統(tǒng),從而有效地保證系統(tǒng)的安 全。 合同基本信息錄入。能夠對合同的基本信息進入錄入,包括合 同的編號、合同的類別、合同名稱、合同部門、所屬部門、合 同開始日期、合同結束日期、合同額等。 合同信息的查找。能夠對合同的具體信息進行查找??梢蕴峁?按時間范圍查找、按所屬部門查找、按合同編號查找、按客戶 名稱查找、按合同類別查找、按模糊條件查找。 對用戶密碼進行修改。為了保證軟件的安全,用戶需要定期修 改密碼。用戶在登錄后要能對自己的密碼進行修改。 合同統(tǒng)計。通過它首先可以瀏覽所有合同的具體信息,還能添 加、刪除、修改、保存合同信息。同時,作為操作本軟件的主 要平臺,通過它能夠訪問其它的單元。 收款??梢詫贤氖湛畹那闆r信息進行管理,包括對收款信 息的錄入、刪除、修改、保存等。 整個系統(tǒng)簡單劃分為以上 6 個部分 第第 2 2 章章 概述概述 2.1 編程軟件介紹及數(shù)據(jù)庫概述 Visual Basic 是由微軟公司推出的一套完整的 Windows 系統(tǒng)軟 件開發(fā)工具,可用于開發(fā) Windows 環(huán)境下的各類應用程序,是一種可 視化、真正面向對象、采用事件驅動方式的結構化高級程序設計語言 和工具的完美集成。它編程簡單、方便、功能強大,具有與其它語言 及環(huán)境的良好接口,不需要編程開發(fā)人員具備 C/C+或者 Turbo Pascal 語言知識和特別高深的專業(yè)知識,只要懂得 Windows 的界面及 其基本操作,就可以迅速上手,而 VB 在程序界面設計、多媒體開發(fā)方 面更是獨具優(yōu)勢。 自 1991 年 Visual Basic 1.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ù)訪問接口有 ADO(ActiveX 數(shù)據(jù)對象)、RDO(遠程數(shù)據(jù)對象)和 DAO(數(shù)據(jù)訪問對象), 每個接口都代表了數(shù)據(jù)訪問技術的不同發(fā)展階段,最新的接口是 ADO。ADO 是比 RDO 和 DAO 更加簡單、更加靈活的對象模型,它是為 OLE DB 而設計的。OLD DB 是新的低層 COM 接口,可以為任何數(shù)據(jù)源 提供高性能的訪問。這些數(shù)據(jù)源包括關系和非關系數(shù)據(jù)庫、電子郵件 和文件系統(tǒng)、文本和圖形、自定義業(yè)務對象等。ADO 封裝并實現(xiàn)了 OLDDB 的所有功能,它將全面取代 DAO 和 RDO,成為數(shù)據(jù)訪問接口的主 流。 新的數(shù)據(jù)源:除了已有的 Data 和 Remote Data 控件外,Visual Basic 6.0 引入了幾種新的數(shù)據(jù)源,包括數(shù)據(jù)識別的類模塊和用戶控件、 數(shù)據(jù)環(huán)境、ADO 記錄集和 ADO Data 控件等。ADO Data 控件的功能與 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)境設計器:允許編程人員可視化地創(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 控件的方法相同。 除了新的數(shù)據(jù)訪問特性和新的 Internet 特性外,Visual Basic 6.0 在其余方面也都做了重大改進,包括新的或增強的控件,新的或增 強的語言特性,以及新的或增強的向導。所有這些都使得 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 Basic 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 引擎的面向對象的編程接口。Jet 引擎 使最終用戶與正在訪問的特定數(shù)據(jù)庫無關。Jet 引擎駐留在(動態(tài)連接庫)文 件中,運行時將應用程序的請求翻譯成對數(shù)據(jù)庫的物理操作。Jet 引擎真 正讀取、寫入和修改數(shù)據(jù)庫,并處理所有的內部的事務。Jet 引擎介于用 戶界面和數(shù)據(jù)倉庫之間。 通過數(shù)據(jù)訪問對象和 Jet 引擎可以識別以下三類數(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 和驅動程序管理器之上的對 象模型,它提供了一系列的對象來滿足遠程數(shù)據(jù)訪問的特殊要求。盡管 RDO 在訪問 Jet 或 ISAM 數(shù)據(jù)庫時受到限制,而且只能通過現(xiàn)存的 ODBC 驅動程序來訪問關系數(shù)據(jù)庫。但 RDO 能訪問任何的 ODBC 數(shù) 據(jù)源,特別適用于智能的數(shù)據(jù)庫服務器(如 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ù)庫(如(Micromft 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 新引進的數(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)建了 DataEnvieonmwnr 對象以及從屬的 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 提供的新的報表設計器,和 Visual 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ā)現(xiàn): ADO(ActiveX Data Object,ActiveX 數(shù)據(jù)對象)是微軟提出的新 標準,它使得客戶端應用程序能夠通過任何 OLEDB 提供者來訪問和 操作數(shù)據(jù)庫服務器中的數(shù)據(jù),而不必進行 ODBC 配置。 ADO 有兩個主要優(yōu)點:其一是易于使用、速度快、內存支出少和 磁盤遺跡小。其二是“遠程數(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 需求分析 為了更好地適應工作人員對合同管理系統(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)的安全。第 2 方面是合同信息的查找。能夠 對合同的具體信息進行查找??梢蕴峁┌磿r間范圍查找、按所屬部門 查找、按合同編號查找、按客戶名稱查找、按合同類別查找、按模糊 條件查找。第 3 方面也是合同管理系統(tǒng)的核心工作,即合同基本信息 錄入。能夠對合同的基本信息進入錄入,包括合同的編號、合同的類 別、合同名稱、合同部門、所屬部門、合同開始日期、合同結束日期、 合同額等。 3.2.模塊設計 根據(jù)需求分析的結果,我將本系統(tǒng)主要弄分為 6 個子模塊:用戶 登錄、圖書管理、圖書查詢、借閱查詢、借閱管理、基礎維護。 系統(tǒng)各模塊的主要功能如下: (1) 用戶登錄管理模塊。本模塊的主要功能是對系統(tǒng)的操作進行限 制;只有有權限的用戶才能進入本系統(tǒng),沒有權限的用戶或非法用戶 不能進入本系統(tǒng),從而有效地保證系統(tǒng)的安全。 (2) 合同基本信息錄入模塊。本模塊的主要功能是能夠對合同的 基本信息進入錄入,包括合同的編號、合同的類別、合同名稱、合同 部門、所屬部門、合同開始日期、合同結束日期、合同額等。 (3) 用戶密碼修改模塊。本模塊的主功能是為了保證軟件的安全, 用戶需要定期修改密碼。用戶在登錄后要能對自己的密碼進行修改。 (4)合同統(tǒng)計模塊。本模塊的主要功能是首先是通過本模塊可以瀏 覽到數(shù)據(jù)庫內所有合同的具體信息,還能添加、刪除、修改、保存合 同信息。同時,作為操作本軟件的主要平臺,通過它能夠訪問其它的 模塊,如用戶修改模塊、收款模塊等。 (5)收款模塊。本模塊的主要功能是對合同的收款的情況信息進行 管理,包括對收款信息的錄入、刪除、修改、保存等。 第第 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ù)庫設計窗體。我們選擇“使用設 計器”創(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ù)類型。 基本資料表 字段名稱字段名稱數(shù)據(jù)類型數(shù)據(jù)類型字段大小字段大小作用作用 合同編號文本50合同編號 客戶名稱文本50客戶名稱 合同類別文本50合同類別 所屬部門文本50所屬部門 合同開始日期日期/時間合同開始日期 合同額貨幣合同額 已收款貨幣已收款 成本貨幣成本 已付成本貨幣已付成本 應付稅金貨幣應付稅金 已付稅金貨幣已付稅金 未收余額貨幣未收余額 未付成本貨幣未付成本 未付稅金貨幣未付稅金 項目毛利貨幣項目毛利 可分配毛利貨幣可分配毛利 收款計劃貨幣收款計劃 合同結束日期日期/時間合同結束日期 收款信息表 字段名稱字段名稱數(shù)據(jù)類型數(shù)據(jù)類型字段大小字段大小作用作用 收款 id文本50收款 id 合同編號文本50合同編號 客戶名稱文本50客戶名稱 合同類別文本50合同類別 所屬部門文本50所屬部門 合同期日期/時間合同期 收款時間日期/時間收款時間 下一期收款時間日期/時間 下一期收款時 間 合同額貨幣合同額 本期收款貨幣本期收款 成本貨幣成本 本期付成本貨幣本期付成本 應付稅金貨幣應付稅金 本期付稅金貨幣本期付稅金 未收余額貨幣未收余額 未付成本貨幣未付成本 未付稅金貨幣未付稅金 項目毛利貨幣項目毛利 可分配毛利貨幣可分配毛利 收款計劃貨幣收款計劃 收款人文本50收款人 4.3 系統(tǒng)各模塊的設計與實現(xiàn) 4.3.1 用戶登錄管理模塊的設計 1. 用戶登錄管理模塊的主要功能是對系統(tǒng)的操作進行限制;只有 有權限的用戶才能進入本系統(tǒng),沒有權限的用戶或非法用戶不能進入 本系統(tǒng),從而有效地保證系統(tǒng)的安全。 2.界面設計: 新建一個窗體,然后在上面加上各種必須的控件,運行圖如下所 示: 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=“ _ Persist Security Info=False“ 打開表 With ADORecordset .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open “l(fā)ogin“, 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“).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 = False End Sub (2)用戶選擇用戶名并輸入密碼后,按“確定”按鈕觸發(fā)的事件代 碼如下: Private Sub cmdOk_Click() Dim ADOmrc As ADODB.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 = 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 vbModal End Sub 4.3.2 合同基本信息錄入模塊設計 1. 合同基本信息錄入模塊的主要功能是能夠對合同的基本信息進 入錄入,包括合同的編號、合同的類別、合同名稱、合同部門、所屬 部門、合同開始日期、合同結束日期、合同額等。 從嚴格意義上來說本模塊是合同統(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 “合同編號不能為空“ txtID.SetFocus Exit Sub End If 計算已收款 If Val(txtPactMoney.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 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(“ & cobName.Text & “,“ & Text1.Text & “,“ & cobBranch.Text & “,“ & 權 限 & “)“ End If Set ADOCommand.ActiveConnection = mycon ADOCommand.CommandText = strSQL ADOCommand.Execute Set ADOCommand = Nothing Set ADORecordset = Nothing Unload Me End Sub 4.3.4 合同統(tǒng)計模塊的設計 1.本模塊的主要功能是首先是通過本模塊可以瀏覽到數(shù)據(jù)庫內所 有合同的具體信息,還能添加、刪除、修改、保存合同信息。同時, 作為操作本軟件的主要平臺,通過它能夠訪問其它的模塊,如用戶修 改模塊、收款模塊等。 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“ 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 = “ With BasicDataType .strID = “ .strName = “ .strSort = “ .strBranch = “ .dateDTPicker = Date .dateDTPicker1 = Date .strPactMoney = “ .strEndMoney = “ .strCost = “ .strEndCost = “ .strTax = “ .strEndTax = “ .strNotMoney = “ .strNotCost = “ .strGrossProfit = “ .strAssignGrossPprofit = “ .strProject = “ End With fomBasic.Show vbModal End 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 = ctList1.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) BasicDataType.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.CellText(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.ListIndex, 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 = 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.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) BasicDataType.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.strAssignGrossPprofit = 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 基本資料 where 合同編號 = “ & ctList1.CellText(ctList1.ListIndex, 2) & “ Set ADORecordset = ExecuteSQL(strtxtSQL) mycon.Close Set ADORecordset = Nothing ctList1.ClearList fomBasic.Show vbModal End Sub (3) 響應“刪除基本資料”按鈕的單擊事件,觸發(fā)的事件代碼如下: Private Sub comDel_Click() Dim ADORecordset As New ADODB.Recordset If ctList1.ListIndex 0 Then .ListIndex = 0 Else .ListIndex = -1 End If End With Set ADORecordset = Nothing strTextSQL = “UPDATE 基本資料 set 已收款 “ & Val(txtEndMoney.Text) + Val(BasicDataType.strEndMoney) _ & “,已付成本 = “ & Val(txtEndCost.Text) + Val(BasicDataType.strEndCost) _ & “,應付稅金 = “ & Val(txtTax.Text) _ & “,已付稅金 = “ & Val(txtEndTax.Text) + Val(BasicDataType.strEndTax) _ & “,未收余額 = “ & txtNotMoney.Text _ & “,未付成本 = “ & txtNotCost.Text _ & “,未付稅金 = “ & txtNotTax.Text _ & “,項目毛利 = “ & txtAssignGrossPprofit.Text _ & “,可分配毛利 = “ & txtAssignGrossPprofit.Text _ & “,收款計劃 = “ & txtProject.Text _ & “ WHERE 合同編號 = “ & txtID.Text & “ Set ADORecordset = ExecuteSQL(strtxtSQL) Set ADORecordset = Nothing mycon.Close Set mycon = Nothing SSTab1.Tab = 1 End Sub 4.3.6 合同信息查找模塊的設計 1.本模塊的主要功能就是對合同的具體信息進行查找??梢蕴峁?按時間范圍查找、按所屬部門查找、按合同編號查找、按客戶名稱查 找、按合同類別查找、按模糊條件查找。 2. 2.窗體設計: 新建一個窗體,然后在上面加上各種必須的控件,運行圖如下所 示: 3. 核心代碼及解釋如下: 在選擇查詢方式,并輸入所要查詢的內容后,按“確定”觸發(fā)的 事件代碼如下: Private Sub comOK_Click() If chkTime.Value 1 And chkID.Value 1 And chkSort.Value 1 Then Unload Me Call 合同管理系統(tǒng).Initializtion(0) Exit Sub End If strFind = “select * from 基本資料 where“ If chkTime.Value = 1 Then strFind = strFind & “ 合同開始日期 between #“ & Format(DTPicker1.Value, “yyyy-mm-dd“) & “# and #“ & Format(DTPicker2.Value, “yyyy-mm-dd“) & “#“ End If If chkBranch.Value = 1 And cobBranch.Text “ Then If chkTime.Value = 1 Or chkBranch.Value = 1 Then strFind = strFind & “ and“ End If strFind = strFind & “ 合同編號 = “ & cobID.Text & “ End If If chkName.Value = 1 And cobName.Text “ Then If chkTime.Value = 1 Or chkBranch.Value = 1 Or chkID.Value = 1 Or chkName.Value = 1 Then strFind = strFind & “ and“ End If strF

溫馨提示

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

評論

0/150

提交評論