合同統(tǒng)計(jì)系統(tǒng)的設(shè)計(jì)-VB編程畢業(yè)設(shè)計(jì)_第1頁
合同統(tǒng)計(jì)系統(tǒng)的設(shè)計(jì)-VB編程畢業(yè)設(shè)計(jì)_第2頁
合同統(tǒng)計(jì)系統(tǒng)的設(shè)計(jì)-VB編程畢業(yè)設(shè)計(jì)_第3頁
合同統(tǒng)計(jì)系統(tǒng)的設(shè)計(jì)-VB編程畢業(yè)設(shè)計(jì)_第4頁
合同統(tǒng)計(jì)系統(tǒng)的設(shè)計(jì)-VB編程畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 畢業(yè)設(shè)計(jì)(論文)中文題目: 合同統(tǒng)計(jì)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)英文題目:學(xué) 院: 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師: 2004 年 6 月 4 日 摘 要在21世紀(jì),隨著計(jì)算機(jī)科學(xué)的發(fā)展,數(shù)據(jù)庫技術(shù)在人們?nèi)粘9ぷ髦械膽?yīng)用越來越廣泛,為廣大用戶提供了更加周到和人性化的服務(wù)。數(shù)據(jù)庫技術(shù)已逐漸成為當(dāng)今計(jì)算機(jī)應(yīng)用的潮流。本文主要是通過制作一款數(shù)據(jù)庫軟件即“合同統(tǒng)計(jì)系統(tǒng)”來介紹數(shù)據(jù)庫技術(shù)在人們?nèi)粘I詈凸ぷ髦械膽?yīng)用。本論文所做的主要工作如下:(1)介紹了Visualbasic6.0軟件開發(fā)工具和利用Delphi7.0和Ado技術(shù)操作數(shù)據(jù)庫的一般原理。(2)闡述整個“合同統(tǒng)計(jì)系統(tǒng)”的系統(tǒng)結(jié)構(gòu)

2、及工作原理;分析了系統(tǒng)實(shí)現(xiàn)中的特殊性、難點(diǎn)。(3)設(shè)計(jì)實(shí)現(xiàn)對數(shù)據(jù)庫的操作功能、數(shù)據(jù)庫查詢功能、數(shù)據(jù)庫打印功能。(4)分析并解決實(shí)現(xiàn)中的若干技術(shù)問題。(5)建立完整的“合同統(tǒng)計(jì)系統(tǒng)”,進(jìn)行測試并分析結(jié)果。關(guān)鍵字 數(shù)據(jù)庫技術(shù) Ado 合同統(tǒng)計(jì)系統(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

3、 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

4、:(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

5、.(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章 緒論. 第2章 概述.2-1 Visual Basic6.0編程軟件介紹及數(shù)據(jù)庫概述. 2-2 Visual Basic6.0訪問數(shù)據(jù)庫的四種方法比較.第3章 系統(tǒng)分析與設(shè)計(jì). 3-1 系

6、統(tǒng)需求分析. 3-2 系統(tǒng)模塊設(shè)計(jì).第4章 合同統(tǒng)計(jì)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).4-1 各功能模塊流程圖或聯(lián)系圖.4-2 分析與創(chuàng)建數(shù)據(jù)庫. 新建數(shù)據(jù)庫及字段.4-3 系統(tǒng)各模塊的設(shè)計(jì)與實(shí)現(xiàn).4-3-1 用戶登陸管理模塊的設(shè)計(jì).4-3-2合同基本信息錄入模塊的設(shè)計(jì).4-3-3 用戶密碼修改模塊的設(shè)計(jì).4-3-4 合同統(tǒng)計(jì)模塊的設(shè)計(jì).4-3-5 合同信息查找模塊的設(shè)計(jì).4-3-6 收款模塊的設(shè)計(jì).第5章 系統(tǒng)性能測試第6章 總結(jié). . .致謝與參考文獻(xiàn)第1章 緒論本論文描述了一個使用VB技術(shù)來實(shí)現(xiàn)創(chuàng)建一個基于本地?cái)?shù)據(jù)庫技術(shù)的合同統(tǒng)計(jì)系統(tǒng)的實(shí)例該系統(tǒng)主要面向合同信息處理的單機(jī)服務(wù),整個系統(tǒng)共有幾個部分來

7、實(shí)現(xiàn)不同的功能:l 用戶登錄管理。只有有權(quán)限的用戶才能進(jìn)入本系統(tǒng),沒有權(quán)限的用戶或非法用戶不能進(jìn)入本系統(tǒng),從而有效地保證系統(tǒng)的安全。l 合同基本信息錄入。能夠?qū)贤幕拘畔⑦M(jìn)入錄入,包括合同的編號、合同的類別、合同名稱、合同部門、所屬部門、合同開始日期、合同結(jié)束日期、合同額等。l 合同信息的查找。能夠?qū)贤木唧w信息進(jìn)行查找。可以提供按時間范圍查找、按所屬部門查找、按合同編號查找、按客戶名稱查找、按合同類別查找、按模糊條件查找。l 對用戶密碼進(jìn)行修改。為了保證軟件的安全,用戶需要定期修改密碼。用戶在登錄后要能對自己的密碼進(jìn)行修改。l 合同統(tǒng)計(jì)。通過它首先可以瀏覽所有合同的具體信息,還能添加、

8、刪除、修改、保存合同信息。同時,作為操作本軟件的主要平臺,通過它能夠訪問其它的單元。l 收款??梢詫贤氖湛畹那闆r信息進(jìn)行管理,包括對收款信息的錄入、刪除、修改、保存等。整個系統(tǒng)簡單劃分為以上6個部分第2章 概述2-1 Visual Basic6.0編程軟件介紹及數(shù)據(jù)庫概述Visual Basic是由微軟公司推出的一套完整的Windows系統(tǒng)軟件開發(fā)工具,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序,是一種可視化、真正面向?qū)ο?、采用事件?qū)動方式的結(jié)構(gòu)化高級程序設(shè)計(jì)語言和工具的完美集成。它編程簡單、方便、功能強(qiáng)大,具有與其它語言及環(huán)境的良好接口,不需要編程開發(fā)人員具備C/C+或者Turbo P

9、ascal 語言知識和特別高深的專業(yè)知識,只要懂得Windows的界面及其基本操作,就可以迅速上手,而VB在程序界面設(shè)計(jì)、多媒體開發(fā)方面更是獨(dú)具優(yōu)勢。自1991年Visual Basic1.0推出以來,Visual Basic版本不斷得到更新,功能不斷得到增強(qiáng),現(xiàn)在的最新版本是Visual Basic 6.0。為了滿足不同的開發(fā)需要,Visual Basic 6.0本身又分為學(xué)習(xí)版、專業(yè)版。Visual Basic 6.0對已有功能進(jìn)行完善,同時增加了許多新的功能。新的數(shù)據(jù)訪問特性在數(shù)據(jù)訪問技術(shù)方面Visual Basic 6.0比起Visual Basic 5.0有了極大的增強(qiáng):新的數(shù)據(jù)訪問

10、接口ADO:Visual Basic 6.0 支持的數(shù)據(jù)訪問接口有ADO(ActiveX數(shù)據(jù)對象)、RDO(遠(yuǎn)程數(shù)據(jù)對象)和DAO(數(shù)據(jù)訪問對象),每個接口都代表了數(shù)據(jù)訪問技術(shù)的不同發(fā)展階段,最新的接口是ADO。ADO是比RDO和DAO更加簡單、更加靈活的對象模型,它是為OLE DB而設(shè)計(jì)的。OLDDB是新的低層COM接口,可以為任何數(shù)據(jù)源提供高性能的訪問。這些數(shù)據(jù)源包括關(guān)系和非關(guān)系數(shù)據(jù)庫、電子郵件和文件系統(tǒng)、文本和圖形、自定義業(yè)務(wù)對象等。ADO封裝并實(shí)現(xiàn)了OLDDB的所有功能,它將全面取代DAO和RDO,成為數(shù)據(jù)訪問接口的主流。新的數(shù)據(jù)源:除了已有的Data和Remote Data控件外,V

11、isual Basic 6.0引入了幾種新的數(shù)據(jù)源,包括數(shù)據(jù)識別的類模塊和用戶控件、數(shù)據(jù)環(huán)境、ADO記錄集和ADOData控件等。ADOData控件的功能與Data和Remote Data控件十分相似,都允許編程人員用最少的代碼來創(chuàng)建數(shù)據(jù)庫應(yīng)用程序。新的數(shù)據(jù)庫綁定控件:Visual Basic 6.0新增加了為數(shù)不少的數(shù)據(jù)綁定控件,包括DataGrid, Datalist, DataCombo, Hierarchical FlexGrid和DataRepeater等。集成的可視化數(shù)據(jù)庫工具:包括查詢設(shè)計(jì)器和數(shù)據(jù)庫設(shè)計(jì)器,提供了可視地查看并操作表、視圖、存儲過程和數(shù)據(jù)庫結(jié)構(gòu)的功能。數(shù)據(jù)環(huán)境設(shè)計(jì)器

12、:允許編程人員可視化地創(chuàng)建和操作ADO對象,為編程人員操縱數(shù)據(jù)源提供了極大的方便。數(shù)據(jù)報(bào)表設(shè)計(jì)器:允許編程人員利用拖放技術(shù)來快速地從任何記錄集創(chuàng)建報(bào)表。新的Internet特性Visual Basic 6.0提供了多種不同的途徑,來幫助編程人員開發(fā)出動態(tài)的、功能強(qiáng)大的Internet應(yīng)用程序:IIS應(yīng)用程序:可以直接Visual Basic 6.0來創(chuàng)建IIS應(yīng)用程序(服務(wù)器端Internet應(yīng)用程序),響應(yīng)瀏覽器用戶的請求。對下載ActiveX文檔的支持:在Internet Explorer中下載ActiveX文檔與下載ActiveX控件的方法相同。除了新的數(shù)據(jù)訪問特性和新的Internet

13、特性外,Visual Basic 6.0在其余方面也都做了重大改進(jìn),包括新的或增強(qiáng)的控件,新的或增強(qiáng)的語言特性,以及新的或增強(qiáng)的向?qū)?。所有這些都使得Visual Basic 6.0功能更為強(qiáng)大??傊?,無論是開發(fā)小型應(yīng)用系統(tǒng),還是大型企業(yè)應(yīng)用系統(tǒng),甚至開發(fā)功能強(qiáng)大的Internet應(yīng)用程序,Visual Basic 6.0都能勝任。2-2 Visual Basic 6.0訪問數(shù)據(jù)庫的四種方法比較 Visuai Basic 6.0的數(shù)據(jù)訪問功能比起Visual Basic 5.O有了極大的增強(qiáng)。除了支持DAO(數(shù)據(jù)訪問對象)和RDO(遠(yuǎn)程數(shù)據(jù)對象)外,Visual Basic 6.0還提供了新的A

14、DO和RDO更加簡單、更加靈活的數(shù)據(jù)訪問接口。此外,Visual Basic 6.0還提供了新的數(shù)據(jù)源、新的數(shù)據(jù)綁定控件、新的可視化數(shù)據(jù)庫工具、新的數(shù)據(jù)環(huán)境設(shè)計(jì)器以及新的數(shù)據(jù)報(bào)表設(shè)計(jì)器。1.數(shù)據(jù)訪問對象(DAO)控件數(shù)據(jù)訪問對象(DAO)是Jet引擎的面向?qū)ο蟮木幊探涌?。Jet引擎使最終用戶與正在訪問的特定數(shù)據(jù)庫無關(guān)。Jet引擎駐留在(動態(tài)連接庫)文件中,運(yùn)行時將應(yīng)用程序的請求翻譯成對數(shù)據(jù)庫的物理操作。Jet引擎真正讀取、寫入和修改數(shù)據(jù)庫,并處理所有的內(nèi)部的事務(wù)。Jet引擎介于用戶界面和數(shù)據(jù)倉庫之間。通過數(shù)據(jù)訪問對象和Jet引擎可以識別以下三類數(shù)據(jù)庫:Visual Basic數(shù)據(jù)庫;外部數(shù)據(jù)庫

15、;ODBC數(shù)據(jù)庫。雖然可以直接使用數(shù)據(jù)訪問對象來編程,但Data控件作為一個圖形控件,具有易于使用的界面,它的最大優(yōu)點(diǎn)就是只需少量代碼或根本不用代碼就可以創(chuàng)建應(yīng)用程序來顯示。2.運(yùn)程數(shù)據(jù)對象和Remtoe Data控件遠(yuǎn)程數(shù)據(jù)訪問對象是位于ODBC API和驅(qū)動程序管理器之上的對象模型,它提供了一系列的對象來滿足遠(yuǎn)程數(shù)據(jù)訪問的特殊要求。盡管RDO在訪問Jet或ISAM數(shù)據(jù)庫時受到限制,而且只能通過現(xiàn)存的ODBC驅(qū)動程序來訪問關(guān)系數(shù)據(jù)庫。但RDO能訪問任何的ODBC數(shù)據(jù)源,特別適用于智能的數(shù)據(jù)庫服務(wù)器(如SOL Server和Oracle等)。Remote Data與Data控件基本類似,都提供

16、了對數(shù)據(jù)庫的無縫訪問,用戶不必編寫任何代碼就可以創(chuàng)建數(shù)據(jù)識別的應(yīng)用程序,區(qū)別在于:Remite Data控件是通過使用RDO來實(shí)現(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ù)源包括主機(jī)數(shù)據(jù)庫(如IMS和DB2、服務(wù)器數(shù)據(jù)庫(如Oracle和SQL Sereer)以及桌面數(shù)據(jù)庫(如(Micromft Access);非DBMS數(shù)據(jù)源包括存放在Windows和UNIX文件系統(tǒng)中的信息、電子郵件、電子表格、web上的文件或圖形以及目錄服務(wù)等。OL

17、E DB使得數(shù)據(jù)消費(fèi)者(應(yīng)用程序)可以使用相同的方法訪問各種數(shù)據(jù),而不用考慮數(shù)據(jù)的具體存儲地點(diǎn)、格式及類型。ADO(ActiveX數(shù)據(jù)對象)是DAO、RDO的后繼產(chǎn)物,更簡單和靈活。它擴(kuò)展了DAO和RDO所使用的對象模型,包含較少的對象,更多的屬性、方法和事件。ADO是為OLE DB而設(shè)計(jì)的,它封裝并實(shí)現(xiàn)了OLE DB的所有功能。ADO Data控件,也就是Adodc,是Visual Basic 6.0新引進(jìn)的數(shù)據(jù)訪問控件,它使用ADO來快速建立數(shù)據(jù)綁定控件和數(shù)據(jù)提供者之間的連接,它使編程者使用最少的代碼來創(chuàng)建數(shù)據(jù)庫應(yīng)用程序。當(dāng)然,用ADO Data控件進(jìn)行訪問數(shù)據(jù)時必須為待訪問的數(shù)據(jù)庫創(chuàng)建O

18、LE DB數(shù)據(jù)連接。本畢業(yè)設(shè)計(jì)就是采用這種先進(jìn)的數(shù)據(jù)庫訪問技術(shù)訪問數(shù)據(jù)庫的。4.數(shù)據(jù)環(huán)境設(shè)計(jì)器和數(shù)據(jù)報(bào)表設(shè)計(jì)器數(shù)據(jù)環(huán)境設(shè)計(jì)器用于在設(shè)計(jì)時創(chuàng)建ADO對象,它為數(shù)據(jù)庫訪問提供了一個交互式環(huán)境。在編程時,可以使用數(shù)據(jù)環(huán)境設(shè)計(jì)器創(chuàng)建連接、命令和其他ADO對象,使用ADO對象的方法和屬性,執(zhí)行命令和操作記錄集等。在數(shù)據(jù)環(huán)境設(shè)計(jì)器中創(chuàng)建連接和命令對象之后,數(shù)據(jù)環(huán)境設(shè)計(jì)器在設(shè)計(jì)時創(chuàng)建了DataEnvieonmwnr對象以及從屬的ADO對象。當(dāng)連接和命令對象的數(shù)據(jù)源可用時,可以在程序運(yùn)行時直接訪問數(shù)據(jù)環(huán)境設(shè)計(jì)器創(chuàng)建的Command、Connection和Recordset對象,好像這些對象是直接通過ADO創(chuàng)建

19、的一樣。例如,可以在運(yùn)行時用代碼將數(shù)據(jù)識別控件綁定到一個命令對象或命令對象中的字段,也可以在對象關(guān)閉時動態(tài)地設(shè)置ADO Connection和Recordset對象的屬性,并在數(shù)據(jù)綁定前設(shè)置參數(shù)值。Microsoft數(shù)據(jù)報(bào)表設(shè)計(jì)器(Micromft Data Report designer)是Visual Bmic6.0提供的新的報(bào)表設(shè)計(jì)器,和Visual Basic中已有提供數(shù)據(jù)源的對象(如數(shù)據(jù)環(huán)境設(shè)計(jì)器)一起使用,通過鼠標(biāo)的拖放操作,可以方便的創(chuàng)建復(fù)雜的報(bào)表。DataReport設(shè)計(jì)器創(chuàng)建的報(bào)表可以直接打印,也可以將報(bào)表導(dǎo)出到HTML或文本文件中。數(shù)據(jù)庫最主要的功能是存儲數(shù)據(jù)和提供信息。數(shù)

20、據(jù)報(bào)表的作用就是將數(shù)據(jù)從數(shù)據(jù)庫中檢索到的數(shù)據(jù),以用戶自定義的格式打印出來或是顯示在計(jì)算機(jī)屏幕上。使用報(bào)表可以解決數(shù)據(jù)庫打印格式的特殊要求,也可以解決大量重復(fù)性的勞動。在具體的數(shù)據(jù)庫應(yīng)用程序中,報(bào)表可以解決各種各樣的實(shí)際問題。例如:當(dāng)建成一個完整的數(shù)據(jù)庫系統(tǒng)后,用戶可以通過SQL語句,或事先定義好的查詢來檢索數(shù)據(jù)庫中的信息。通過比較可以發(fā)現(xiàn):ADO(ActiveX Data Object,ActiveX數(shù)據(jù)對象)是微軟提出的新標(biāo)準(zhǔn),它使得客戶端應(yīng)用程序能夠通過任何OLEDB提供者來訪問和操作數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù),而不必進(jìn)行ODBC配置。ADO有兩個主要優(yōu)點(diǎn):其一是易于使用、速度快、內(nèi)存支出少和磁

21、盤遺跡小。其二是“遠(yuǎn)程數(shù)據(jù)訪問”,能夠通過一個來回的傳輸將數(shù)據(jù)從服務(wù)器移動到客戶端應(yīng)用程序或Web中,然后在客戶端對數(shù)據(jù)進(jìn)行操作,最后將更新數(shù)據(jù)返回服務(wù)器。由于ADO操作數(shù)據(jù)庫有著其他方法操作數(shù)據(jù)庫無法比擬的優(yōu)點(diǎn),所以本畢業(yè)設(shè)計(jì)選擇使用ADO操作數(shù)據(jù)庫。第3章 系統(tǒng)分析與設(shè)計(jì)3-1 需求分析:為了更好地適應(yīng)工作人員對合同統(tǒng)計(jì)系統(tǒng)的需求,緩解手工管理存在的弊端,開發(fā)合同統(tǒng)計(jì)系統(tǒng)。合同統(tǒng)計(jì)系統(tǒng)向用戶提供的服務(wù)將在傳統(tǒng)的“錄入-修改-刪除-查找”基礎(chǔ)上,進(jìn)一步提供全方位的信息服務(wù)。它具有以下幾個特點(diǎn):(1)可以存儲所有合同的資料,具有安全、高效的特性;(2)只需1名合同信息錄入人員即可操作本合同統(tǒng)計(jì)

22、系統(tǒng),可以節(jié)省大量的人力和物力。(3)可以通過查詢系統(tǒng)迅速查到所需要的信息。在對合同統(tǒng)計(jì)系統(tǒng)的流程進(jìn)行認(rèn)真系統(tǒng)的分析后,我認(rèn)為本系統(tǒng)用戶的需求可以分為3個方面:第1方面是用戶登錄管理。只有有權(quán)限的用戶才能進(jìn)入本系統(tǒng),沒有權(quán)限的用戶或非法用戶不能進(jìn)入本系統(tǒng),從而有效地保證系統(tǒng)的安全。第2方面是合同信息的查找。能夠?qū)贤木唧w信息進(jìn)行查找。可以提供按時間范圍查找、按所屬部門查找、按合同編號查找、按客戶名稱查找、按合同類別查找、按模糊條件查找。第3方面也是合同統(tǒng)計(jì)系統(tǒng)的核心工作,即合同基本信息錄入。能夠?qū)贤幕拘畔⑦M(jìn)入錄入,包括合同的編號、合同的類別、合同名稱、合同部門、所屬部門、合同開始日期、

23、合同結(jié)束日期、合同額等。3-2.模塊設(shè)計(jì):根據(jù)需求分析的結(jié)果,我將本系統(tǒng)主要弄分為6個子模塊:用戶登錄、圖書管理、圖書查詢、借閱查詢、借閱管理、基礎(chǔ)維護(hù)。系統(tǒng)各模塊的主要功能如下:(1) 用戶登錄管理模塊。本模塊的主要功能是對系統(tǒng)的操作進(jìn)行限制;只有有權(quán)限的用戶才能進(jìn)入本系統(tǒng),沒有權(quán)限的用戶或非法用戶不能進(jìn)入本系統(tǒng),從而有效地保證系統(tǒng)的安全。(2) 合同基本信息錄入模塊。本模塊的主要功能是能夠?qū)贤幕拘畔⑦M(jìn)入錄入,包括合同的編號、合同的類別、合同名稱、合同部門、所屬部門、合同開始日期、合同結(jié)束日期、合同額等。(3) 用戶密碼修改模塊。本模塊的主功能是為了保證軟件的安全,用戶需要定期修改密碼

24、。用戶在登錄后要能對自己的密碼進(jìn)行修改。(4)合同統(tǒng)計(jì)模塊。本模塊的主要功能是首先是通過本模塊可以瀏覽到數(shù)據(jù)庫內(nèi)所有合同的具體信息,還能添加、刪除、修改、保存合同信息。同時,作為操作本軟件的主要平臺,通過它能夠訪問其它的模塊,如用戶修改模塊、收款模塊等。(5)收款模塊。本模塊的主要功能是對合同的收款的情況信息進(jìn)行管理,包括對收款信息的錄入、刪除、修改、保存等。第4章 合同統(tǒng)計(jì)系統(tǒng)的實(shí)現(xiàn)4-1軟件流程圖合同統(tǒng)計(jì)模塊(主窗體)用戶登錄模塊基礎(chǔ)維護(hù)模塊收款模塊合同統(tǒng)計(jì)模塊合同信息錄入模塊用戶密碼修改模塊4-2 分析與創(chuàng)建數(shù)據(jù)庫4-2-1 新建數(shù)據(jù)庫及字段運(yùn)行Microsoft公司的Office200

25、0辦公軟件中的Access數(shù)據(jù)庫軟件。1點(diǎn)擊菜單“文件”,在出現(xiàn)的菜單項(xiàng)中選擇“新建”菜單項(xiàng)。2然后點(diǎn)擊“空數(shù)據(jù)庫”,在彈出的“文件新建數(shù)據(jù)庫”對話框中鍵入數(shù)據(jù)庫的名稱,本軟件中應(yīng)寫入:database.mdb。3這時系統(tǒng)將會自動進(jìn)入詳細(xì)的數(shù)據(jù)庫設(shè)計(jì)窗體。我們選擇“使用設(shè)計(jì)器”創(chuàng)建表。4在彈出的“表1”設(shè)計(jì)窗體中,依次寫入各個字段名以及他們相對應(yīng)的數(shù)據(jù)類型和說明事項(xiàng)。在本數(shù)據(jù)庫中他們依次是:字段名稱數(shù)據(jù)類型字段大小作用Dbname文本20用戶名Dbpassword文本50密碼Dbbranch文本50部門權(quán)限文本50權(quán)限5設(shè)計(jì)好字段名后,關(guān)閉并保存表為“l(fā)ogin,即“用戶登錄信息”表 。6雙擊

26、“l(fā)ogin”表,然后在彈出的數(shù)據(jù)錄入窗體中錄入數(shù)據(jù),并保存。因?yàn)檐浖行枰齻€數(shù)據(jù)庫表,所以還要在數(shù)據(jù)庫中新建一個“基本資料”表、“收款信息”表。下面就用表格的形式分別列出這二個表的字段名稱和數(shù)據(jù)類型?;举Y料表字段名稱數(shù)據(jù)類型字段大小作用合同編號文本50合同編號客戶名稱文本50客戶名稱合同類別文本50合同類別所屬部門文本50所屬部門合同開始日期日期/時間合同開始日期合同額貨幣合同額已收款貨幣已收款成本貨幣成本已付成本貨幣已付成本應(yīng)付稅金貨幣應(yīng)付稅金已付稅金貨幣已付稅金未收余額貨幣未收余額未付成本貨幣未付成本未付稅金貨幣未付稅金項(xiàng)目毛利貨幣項(xiàng)目毛利可分配毛利貨幣可分配毛利收款計(jì)劃貨幣收款計(jì)劃

27、合同結(jié)束日期日期/時間合同結(jié)束日期收款信息表字段名稱數(shù)據(jù)類型字段大小作用收款id文本50收款id合同編號文本50合同編號客戶名稱文本50客戶名稱合同類別文本50合同類別所屬部門文本50所屬部門合同期日期/時間合同期收款時間日期/時間收款時間下一期收款時間日期/時間下一期收款時間合同額貨幣合同額本期收款貨幣本期收款成本貨幣成本本期付成本貨幣本期付成本應(yīng)付稅金貨幣應(yīng)付稅金本期付稅金貨幣本期付稅金未收余額貨幣未收余額未付成本貨幣未付成本未付稅金貨幣未付稅金項(xiàng)目毛利貨幣項(xiàng)目毛利可分配毛利貨幣可分配毛利收款計(jì)劃貨幣收款計(jì)劃收款人文本50收款人4-3系統(tǒng)各模塊的設(shè)計(jì)與實(shí)現(xiàn)4-3-1用戶登錄管理模塊的設(shè)計(jì)1

28、. 用戶登錄管理模塊的主要功能是對系統(tǒng)的操作進(jìn)行限制;只有有權(quán)限的用戶才能進(jìn)入本系統(tǒng),沒有權(quán)限的用戶或非法用戶不能進(jìn)入本系統(tǒng),從而有效地保證系統(tǒng)的安全。2.界面設(shè)計(jì):新建一個窗體,然后在上面加上各種必須的控件,運(yùn)行圖如下所示: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

29、= _ & App.Path & database.mdb;Persist Security Info=False 打開表 With ADORecordset .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.Add

30、Item 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 = FalseEnd

31、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 + vbO

32、KOnly, 警告 txtPassword.SetFocus txtPassword.SelStart = 0 txtPassword.SelLength = Len(txtPassword.Text) Exit Sub Else 用戶權(quán)限 = IIf(IsNull(ADOmrc.Fields(權(quán)限).Value), _ , ADOmrc.Fields(權(quán)限).Value) 所屬部門 = IIf(IsNull(ADOmrc.Fields(DBBranch).Value), _ , ADOmrc.Fields(DBBranch).Value) End If Set ADOmrc = Nothin

33、g Unload Me Load 合同統(tǒng)計(jì)系統(tǒng) 合同統(tǒng)計(jì)系統(tǒng).Show vbModalEnd Sub4-3-2合同基本信息錄入模塊設(shè)計(jì)1. 合同基本信息錄入模塊的主要功能是能夠?qū)贤幕拘畔⑦M(jìn)入錄入,包括合同的編號、合同的類別、合同名稱、合同部門、所屬部門、合同開始日期、合同結(jié)束日期、合同額等。從嚴(yán)格意義上來說本模塊是合同統(tǒng)計(jì)模塊中的一個小模塊,這實(shí)現(xiàn)合同統(tǒng)計(jì)模塊中的合同信息錄入的功能。2.窗體界面的設(shè)計(jì):新建一個窗體,然后在上面加上各種必須的控件,運(yùn)行圖如下所示:3.核心代碼及解釋如下:在輸入正確的合同信息后,按“確定”按鈕觸發(fā)的事件代碼如下所示:Private Sub comOK_Cli

34、ck()Dim strtxtSQL As String If txtID.Text = Or txtName.Text = Then MsgBox 合同編號不能為空 txtID.SetFocus Exit Sub End If 計(jì)算已收款 If Val(txtPactMoney.Text) Val(txtEndMoney.Text) Then MsgBox 已收金額不能大于合同金額 txtEndMoney.SetFocus Exit Sub End If txtNotMoney.Text = Val(txtPactMoney.Text) - Val(txtEndMoney.Text) 計(jì)算未付

35、成本 If Val(txtCost.Text) Val(txtEndCost.Text) Then MsgBox 已付成本不能小于成本 txtEndCost.SetFocus Exit Sub End If txtNotCost.Text = Val(txtCost.Text) - Val(txtEndCost.Text) 計(jì)算未付稅金 If Val(txtTax.Text) Val(txtEndTax.Text) Then MsgBox 已付稅金不能小于應(yīng)付稅金 txtEndTax.SetFocus Exit Sub End If txtNotTax.Text = Val(txtTax.Te

36、xt) - Val(txtEndTax.Text) 計(jì)算項(xiàng)目毛利 If Val(txtPactMoney.Text) Val(txtCost.Text) + Val(txtTax.Text) Then MsgBox 成本+應(yīng)付稅金不能大于合同額 txtTax.SetFocus Exit Sub End If txtGrossProfit.Text = Val(txtPactMoney.Text) - Val(txtCost.Text) - Val(txtTax.Text) 計(jì)算可分配毛利 If Val(txtPactMoney.Text) Val(txtEndCost.Text) + Val(

37、txtEndTax.Text) Then MsgBox 已付成本+已付稅不能大于已收款 txtEndTax.SetFocus Exit Sub End If txtAssignGrossPprofit.Text = Val(txtEndMoney.Text) - Val(txtEndCost.Text) - Val(txtEndTax.Text) mycon.ConnectionString = ConnString mycon.Open strtxtSQL = select * from 基本資料 order by 合同編號 Set ADORecordset = ExecuteSQL(str

38、txtSQL) 打開基本資料表 ADORecordset.AddNew ADORecordset!合同編號 = txtID.Text ADORecordset!客戶名稱 = txtName.Text ADORecordset!合同類別 = txtSort.Text ADORecordset!所屬部門 = txtBranch.Text ADORecordset!合同開始日期 = DTPicker1 txtDate.Text ADORecordset!合同結(jié)束日期 = DTPicker2 ADORecordset!合同額 = txtPactMoney.Text ADORecordset!已收款 =

39、 txtEndMoney.Text ADORecordset!成本 = txtCost.Text ADORecordset!已付成本 = txtEndCost.Text ADORecordset!應(yīng)付稅金 = txtTax.Text ADORecordset!已付稅金 = txtEndTax.Text ADORecordset!未收余額 = txtNotMoney.Text ADORecordset!未付成本 = txtNotCost.Text ADORecordset!未付稅金 = txtNotTax.Text ADORecordset!項(xiàng)目毛利 = txtGrossProfit.Text

40、ADORecordset!可分配毛利 = txtAssignGrossPprofit.Text ADORecordset!收款計(jì)劃 = txtProject.Text ADORecordset.Update Set mycon = Nothing Set ADORecordset = Nothing mycon.Close Set mycon = Nothing Unload Me Call 合同統(tǒng)計(jì)系統(tǒng).Initializtion(0)End Sub4-3-3用戶密碼修改模塊1.本模塊的主功能是為了保證軟件的安全,用戶需要定期修改密碼。用戶在登錄后要能對自己的密碼進(jìn)行修改。2.界面設(shè)計(jì):新建

41、一個窗體,然后在上面加上各種必須的控件,運(yùn)行圖如下所示:3.在輸入正確的新密碼后按“確定”按鈕觸發(fā)的事件代碼如下:響應(yīng)窗體加載事件,進(jìn)行數(shù)據(jù)庫的連接。代碼如下:Private Sub comOK_Click() Dim strSQL As String Dim ADOCommand As New ADODB.Command Dim 權(quán)限 As String Select Case Combo1.Text Case 管理員 權(quán)限 = 0 Case 修改 權(quán)限 = 1 Case 瀏覽 權(quán)限 = 2 End Select If Text1.Text = Then MsgBox 新密碼不能為空。 Te

42、xt1.SetFocus Exit Sub ElseIf Text2.Text = Then MsgBox 請輸入確認(rèn)新密碼。 Text2.SetFocus 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

43、(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 _ & ,權(quán)限 = & 權(quán)限 & where DBName= & cobName.Text & ADORecordset.MoveNext Loop

44、Else strSQL = Insert into login (DBName,DBPassword,DBBranch,權(quán)限) Values( & cobName.Text & , & Text1.Text & , & cobBranch.Text & , & 權(quán)限 & ) End If Set ADOCommand.ActiveConnection = mycon ADOCommand.CommandText = strSQL ADOCommand.Execute Set ADOCommand = Nothing Set ADORecordset = Nothing Unload MeEnd

45、 Sub4-3-4合同統(tǒng)計(jì)模塊的設(shè)計(jì)1.本模塊的主要功能是首先是通過本模塊可以瀏覽到數(shù)據(jù)庫內(nèi)所有合同的具體信息,還能添加、刪除、修改、保存合同信息。同時,作為操作本軟件的主要平臺,通過它能夠訪問其它的模塊,如用戶修改模塊、收款模塊等。2.窗體設(shè)計(jì):新建一個窗體,然后在上面加上各種必須的控件,運(yùn)行圖如下所示:3.核心代碼及解釋如下:(1)響應(yīng)“新增基本資料”按鈕的單擊事件,觸發(fā)的事件代碼如下:Private Sub ComNew_Click() fomBasic.txtID.Text = fomBasic.txtName.Text = fomBasic.txtSort.Text = fomBas

46、ic.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.Te

47、xt = 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 = .strGrossPro

48、fit = .strAssignGrossPprofit = .strProject = End With fomBasic.Show vbModalEnd Sub(2)響應(yīng)“修改基本資料”按鈕的單擊事件,觸發(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

49、 = 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.C

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論