![畢業(yè)論文-VB6.0對外貿(mào)易公司退稅管理系統(tǒng).doc_第1頁](http://file.renrendoc.com/FileRoot1/2019-2/24/524c56f9-145d-494a-a99b-e32e6c56699f/524c56f9-145d-494a-a99b-e32e6c56699f1.gif)
![畢業(yè)論文-VB6.0對外貿(mào)易公司退稅管理系統(tǒng).doc_第2頁](http://file.renrendoc.com/FileRoot1/2019-2/24/524c56f9-145d-494a-a99b-e32e6c56699f/524c56f9-145d-494a-a99b-e32e6c56699f2.gif)
![畢業(yè)論文-VB6.0對外貿(mào)易公司退稅管理系統(tǒng).doc_第3頁](http://file.renrendoc.com/FileRoot1/2019-2/24/524c56f9-145d-494a-a99b-e32e6c56699f/524c56f9-145d-494a-a99b-e32e6c56699f3.gif)
![畢業(yè)論文-VB6.0對外貿(mào)易公司退稅管理系統(tǒng).doc_第4頁](http://file.renrendoc.com/FileRoot1/2019-2/24/524c56f9-145d-494a-a99b-e32e6c56699f/524c56f9-145d-494a-a99b-e32e6c56699f4.gif)
![畢業(yè)論文-VB6.0對外貿(mào)易公司退稅管理系統(tǒng).doc_第5頁](http://file.renrendoc.com/FileRoot1/2019-2/24/524c56f9-145d-494a-a99b-e32e6c56699f/524c56f9-145d-494a-a99b-e32e6c56699f5.gif)
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
編號 題目 對外貿(mào)易公司退稅管理系統(tǒng) 摘 要數(shù)據(jù)庫對于每一個人可能都不陌生,在現(xiàn)代社會它的應用范圍越來越廣,在各個領域都可以看到數(shù)據(jù)庫的應用。數(shù)據(jù)庫技術在計算機中的應用大大提高了人們的工作效率。我的畢業(yè)設計論文的題目就是“退稅管理系統(tǒng)”。這是一個操作、管理數(shù)據(jù)庫的例子,通過這個例子來介紹數(shù)據(jù)庫在工作中的具體應用。關鍵字 數(shù)據(jù)庫 退稅管理系統(tǒng) Abstract Maybe database is not strange to everybody. In present-day society it is used wide and wide and you can see its application in various domains. The applications of the Database technology used in computer greatly improve the work efficiency of the people. The subject of my graduate project is “ Management System”. This is an example which operating and managing the database and we use this example to introduce the detailed application of the database in the work.Keywords: Database Management System1.VisualBasic6.0編程軟件介紹及數(shù)據(jù)庫概述.42.VisualBasic6.0訪問數(shù)據(jù)庫的四種方法比較.63.ADO使用方法及其編程概述.94.退稅管理系統(tǒng)的實現(xiàn).144.1系統(tǒng)各模塊及其功能.144.2各功能模塊流程圖或聯(lián)系圖.154.3 軟件所用Access數(shù)據(jù)庫zlgl.mdb的制作.16新建數(shù)據(jù)庫及字段.164.4數(shù)據(jù)庫操作界面中的基本功能介紹.18 4.5系統(tǒng)中部分核心代碼及難點代碼的解釋.21 4.6軟件設計中遇到的問題及解決辦法. 4.7性能測試與分析.275.總結.31致謝.參考文獻.321. Visual Basic編程軟件介紹及數(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 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ù)訪問接口有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 Basic 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)境設計器:允許編程人員可視化地創(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都能勝任。2. Visual Basic 6.0訪問數(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ù)報表設計器。2.1.數(shù)據(jù)訪問對象(DAO)控件數(shù)據(jù)訪問對象(DAO)是Jet引擎的面向對象的編程接口。Jet引擎使最終用戶與正在訪問的特定數(shù)據(jù)庫無關。Jet引擎駐留在(動態(tài)連接庫)文件中,運行時將應用程序的請求翻譯成對數(shù)據(jù)庫的物理操作。Jet引擎真正讀取、寫入和修改數(shù)據(jù)庫,并處理所有的內(nèi)部的事務。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.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引擎。2.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ù)庫的。2.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)點:其一是易于使用、速度快、內(nèi)存支出少和磁盤遺跡小。其二是“遠程數(shù)據(jù)訪問”,能夠通過一個來回的傳輸將數(shù)據(jù)從服務器移動到客戶端應用程序或Web中,然后在客戶端對數(shù)據(jù)進行操作,最后將更新數(shù)據(jù)返回服務器。接著,我們介紹一下ADO的使用方法,也就是本畢業(yè)設計程序操作數(shù)據(jù)庫的方法。3. ADO使用方法及其編程概述本畢業(yè)設計就是用ADO操作數(shù)據(jù)庫zlgl.mdb。因為Visual Basic的面板上沒有ADO組件,所以需要手工加入。打開Visual Basic的“工程”菜單項,并打開“部件”項,然后在跳出“部件”頁中選中“Microsoft ADO Data Control 6.0(OLEDB),然后按“確定”按鈕將其加入到面板中。如下圖所示:在空白窗體上放置一個ADODC組件,一個DataGrid組件,一個Text組件。先設定一下部分組件屬性如下:設定DataGrid1組件的DataSource屬性為ADODC1,設定Text1組件的DataSource屬性為ADODC1,并設置其Datafield屬性為ADODC1所連數(shù)據(jù)庫中某一表中的某一字段的字段名。雙擊ADODC1的Connectionstring屬性打開連接字符串設定窗口如下圖: 系統(tǒng)顯示“屬性頁”對話框。其中的三個單選框提供了創(chuàng)建數(shù)據(jù)源的三種方式:第一個單選框創(chuàng)建一個OLEDB文件;第二個單選框創(chuàng)建ODBC數(shù)據(jù)源名稱(DSN)文件;第三個單選框建立OLEDB連接字符串。我們單擊第三個單選框,并點擊“生成”按鈕,將打開“數(shù)據(jù)連接屬性”窗口如下圖,其中有四個頁面,在第一個“提供者”頁面中,列出了可以使用的各種驅動數(shù)據(jù)庫驅動。我們選擇Microsoft Jet 4.0 OLE DB Provider驅動。如下圖所示: 選擇完畢數(shù)據(jù)庫驅動后,點擊“連接”頁面,圖如下:在這里輸入或選擇數(shù)據(jù)庫,這里我們查找并選擇數(shù)據(jù)庫為“C:hbjzlgl.mdb”,如果數(shù)據(jù)庫有密碼可將“空白密碼”復選框去掉選擇,就可以輸入密碼,選中“允許保存密碼”這樣以后就可以無需再輸入密碼了。接下來可以點擊“測試連接”按鈕,如果提示“測試連接成功”那么說明數(shù)據(jù)庫可正常連接上。在“高級”頁面中選擇訪問權限為“ReadWrite”。在“所有”頁面中顯示的是用戶目前設定的連接屬性,用戶可以再修改。點擊“確定”按鈕后返回到上圖,這時可以看到屬性設定字符串已經(jīng)自動生成,點擊“OK”按鈕返回即可。接著設定ADODC1組件的RecordSource屬性,單擊RecordSource將會跳出一個記錄來源設置對話框,如下圖所示: 在“命令類型”中,選中“2-adCmdTaBle”。在“表或存儲過程名稱”的下拉框中,選中要連接的數(shù)據(jù)庫中的某一個表的名稱。如上圖,就是本程序的選擇之一。下面列出ADO控件連接設置表:連接屬性ADO控件屬性說明ConnectionString包含了用于與數(shù)據(jù)源建立連接的相關信息(ADO控件沒有DatabaseName屬性)。RecordSource確定具體可訪問的數(shù)據(jù),這些數(shù)據(jù)構成記錄集對象Recordset。4.退稅管理系統(tǒng)的實現(xiàn)4.1系統(tǒng)各模塊及其功能1.登錄模塊: 功能是為了軟件和數(shù)據(jù)庫的安全,防止非法用戶入侵系統(tǒng)。(對應窗體frmlogin)2.用戶管理模塊:可以隨時修改登錄用戶名和密碼,并可以添加、刪除和修改登錄用戶信息。(對應窗體form9)3.出口貨物退稅申報數(shù)據(jù)錄入系統(tǒng)模塊:功能是對數(shù)據(jù)庫中“出口貨物退稅申報數(shù)據(jù)”表中數(shù)據(jù)的增加、刪除、修改。(對應窗體form2)4.出口貨物免稅申報數(shù)據(jù)錄入系統(tǒng)模塊:功能是對數(shù)據(jù)庫中“出口貨物免稅申報數(shù)據(jù)”表中數(shù)據(jù)的增加、刪除、修改。(對應窗體form3)5.進料加工復出口貿(mào)易免稅數(shù)據(jù)錄入系統(tǒng)模塊:功能是對數(shù)據(jù)庫中“進料加工復出口貿(mào)易免稅數(shù)據(jù)錄入系統(tǒng)”表中數(shù)據(jù)的增加、刪除、修改。(對應窗體form4)6.數(shù)據(jù)查詢模塊:功能是對各個表中數(shù)據(jù)庫進行查詢后得出的查詢結果存放的窗體。(對應窗體form8)7.整體界面模塊:功能是在同一大的表格顯示所有的數(shù)據(jù)。與3、4、5模塊相對應。3、4、5模塊一次只是顯示一條記錄的所有數(shù)據(jù)。7模塊是顯示所有記錄的所有數(shù)據(jù)。這樣看起來更直觀一點。(對應窗體form6)8.主菜單模塊:主要是在登錄模塊輸入正確的用戶名和密碼后,進入的主界面模塊,功能主要是:為軟件提供一個軟件界面,同時為訪問其他模塊提供一個操作平臺。(對應窗體form1)9.關于模塊:功能主要是顯示軟件名稱、軟件作者、軟件版本等,同時還有顯示操作系統(tǒng)版本信息的功能。(對應窗體frmAbout)10.報表生成與打印模塊:功能是提供數(shù)據(jù)庫中所有信息(包括出口貨物退稅申報數(shù)據(jù)、出口貨物免稅申報數(shù)據(jù)、進料加工復出口貿(mào)易免稅數(shù)據(jù))的報表生成與打印。(對應窗體form10)4.2各功能模塊聯(lián)系圖或流程圖主窗體模塊登錄模塊進料加工復出口貿(mào)易免稅數(shù)據(jù)錄入模塊用戶管理模塊主菜單模塊出口貨物免稅申報數(shù)據(jù)錄入模塊數(shù)據(jù)查詢模塊整體界面瀏覽模塊關于模塊出口貨物退稅申報數(shù)據(jù)錄入模塊報表打印模塊4.3 軟件所用Access數(shù)據(jù)庫zlgl.mdb的制作新建數(shù)據(jù)庫及字段運行Microsoft公司的Office2000辦公軟件中的Access數(shù)據(jù)庫軟件。1點擊菜單“文件”,在出現(xiàn)的菜單項中選擇“新建”菜單項。2然后點擊“空數(shù)據(jù)庫”,在彈出的“文件新建數(shù)據(jù)庫”對話框中鍵入數(shù)據(jù)庫的名稱,本軟件中應寫入zlgl.mdb。3這時系統(tǒng)將會自動進入詳細的數(shù)據(jù)庫設計窗體。我們選擇“使用設計器”創(chuàng)建表。4在彈出的“表1”設計窗體中,依次寫入各個字段名以及他們相對應的數(shù)據(jù)類型和說明事項。在本數(shù)據(jù)庫中他們依次是:字段名稱數(shù)據(jù)類型所屬期文本申報序號文本出口報關單耗文本出口發(fā)票號碼文本出口日期文本代理證明編號文本外匯核銷單耗文本客戶名稱文本貿(mào)易性質(zhì)文本出口商品名稱文本計量單位文本出口數(shù)量數(shù)字外幣金額數(shù)字外幣匯率數(shù)字外幣幣種文本人民幣金額數(shù)字征稅稅率數(shù)字退稅率數(shù)字征退稅差額數(shù)字應免抵退稅額數(shù)字進料登記手冊號文本計劃分配率數(shù)字組成計稅價格數(shù)字免抵退稅扣減額數(shù)字不予抵扣稅額抵減額數(shù)字實際免抵退稅額數(shù)字備注備注5設計好字段名后,關閉并保存表為“出口貨物退稅申報數(shù)據(jù)” 。6雙擊“出口貨物退稅申報數(shù)據(jù)”表,然后在彈出的數(shù)據(jù)錄入窗體中錄入數(shù)據(jù),并保存。因為軟件中需要四個數(shù)據(jù)庫表,所以還要在數(shù)據(jù)庫zlgl.mdb中新建一個“出口貨物免稅申報數(shù)據(jù)”表、“進料加工復出口貿(mào)易免稅數(shù)據(jù)”表、“系統(tǒng)用戶”表。其中“系統(tǒng)用戶”表中保存的是本軟件系統(tǒng)登錄時的“用戶名”和“密碼”。下面就用表格的形式分別列出這四個表的字段名稱和數(shù)據(jù)類型?!跋到y(tǒng)用戶”表:字段名稱數(shù)據(jù)類型ID自動編號用戶名文本用戶口令文本注冊標記是/否設計完成后,按同樣的方法向其中加入數(shù)據(jù),即一條原始的含有登錄用戶名和用戶口令的記錄?!俺隹谪浳锩舛惿陥髷?shù)據(jù)”表:字段名稱數(shù)據(jù)類型所屬期文本序號文本出口發(fā)票號碼文本出口日期文本貿(mào)易性質(zhì)文本出口商品名稱文本計量單位文本客戶名稱文本出口數(shù)量數(shù)字退稅率數(shù)字征稅率數(shù)字外幣匯率數(shù)字外幣幣種文本外幣金額數(shù)字人民幣金額數(shù)字不予抵扣稅額抵減額數(shù)字備注備注 “進料加工復出口貿(mào)易免稅數(shù)據(jù)”表:字段名稱數(shù)據(jù)類型所屬期文本序號文本客戶名稱文本進料登記手冊號文本出口貨物報關單號文本海關核銷免稅進口料件組成計稅價格數(shù)字征稅率數(shù)字退稅率數(shù)字不予抵扣稅額抵減額數(shù)字備注備注然后可以分別向其中加入少許記錄,當然不加也行。這樣,一個包含四個表的退稅管理系統(tǒng)的數(shù)據(jù)庫zlgl.mdb就初步制作完成了。4.4數(shù)據(jù)庫操作界面中的基本功能介紹四個數(shù)據(jù)庫操作界面中主要包括了對數(shù)據(jù)庫的各種操作,包括數(shù)據(jù)庫中記錄的修改、記錄的添加、記錄的刪除、記錄的查詢以及記錄的瀏覽等。這些都是數(shù)據(jù)庫操作中所必須的內(nèi)容。其代碼如下:(1)增加記錄:on Error GoTo AddErr 出錯轉到adderr Adodc1.Recordset.MoveLast 指針到最后一個記錄 Adodc1.Recordset.AddNew 增加記錄 Exit SubAddErr: MsgBox Err.Description 如果出錯,顯示出錯信息(2)刪除記錄: prompt$ = 真的要刪除本記錄嗎?rc = MsgBox(prompt$, vbOKCancel + vbQuestion, “刪除本記錄”) 刪除記錄前的提示信息If rc = vbOK Then 如果按下確認按鈕 Adodc1.Recordset.Delete 刪除當前記錄 Adodc1.Recordset.MoveNext 指針移到下一條記錄 If Adodc1.Recordset.EOF = True Then 如果已是最后一條記錄 Adodc1.Recordset.MoveLast 指針移動到最后一條記錄上 End IfEnd If 是否要刪除記錄,當按下“確認”按鈕時,系統(tǒng)才會刪除記錄。(3)更新數(shù)據(jù)庫: On Error GoTo UpdateErr Adodc1.Recordset.Update 此句是更新數(shù)據(jù)庫語句 Exit SubUpdateErr: MsgBox Err.Description 如果出錯,顯然出錯信息(4)第一條記錄:Adodc1.Recordset.MoveFirst(5)最后一條記錄:Adodc1.Recordset.MoveLast(6)前一條記錄:If Not Adodc1.Recordset.BOF Then 如果當前記錄不是第一個記錄Adodc1.Recordset.MovePrevious 移動到前一條記錄End If(7)后一條記錄:adotable1.next;(8)取消更新:On Error GoTo UpdateErr Adodc1.Recordset.CancelUpdate 取消剛才對數(shù)據(jù)庫的更新 Exit SubUpdateErr:MsgBox Err.Description4.5系統(tǒng)中部分核心代碼及難點代碼的解釋(1)登錄界面中按下“確定”后的代碼:Private Sub Command2_Click()Adodc1.Recordset.MoveFirst 將指針移到第一個,否則會出現(xiàn)這樣的問題,就是當輸入幾個錯誤的用戶名和密碼后,再輸入正確的也進不了系統(tǒng),這是因為輸入錯誤的后指針已經(jīng)移到記錄的最后了,再輸入正確密碼時,沒有從第一個記錄開始找,所以會找不到密碼出錯 Do While Not Adodc1.Recordset.EOF If txtPassword.Text = Text2.Text And txtUserName = Text1.Text Then 因為text1與text2分別接收了數(shù)據(jù)庫中表“系統(tǒng)用戶”的“用戶名”和“用戶口令”的數(shù)據(jù),所以如果輸入的用戶名和密碼與數(shù)據(jù)庫中所存儲的其中的任一套用戶名與密碼相符,即可進入系統(tǒng) LoginSucceeded = True LoginSucceede用來判斷是否已經(jīng)成功登錄,當Loginsuccede為true時表示已經(jīng)成功登錄。 Me.Hide Load Form1 加載主窗體 Form1.Show 顯示主窗體 Exit Do 跳出循環(huán) End If Adodc1.Recordset.MoveNext 移動下一條記錄 LoopIf Not LoginSucceeded Then 如果登錄不成功MsgBox 無效的用戶名或密碼,請重新輸入!, , 登錄txtPassword.Text = txtUserName = End IfEnd Sub(2) 對“出口貨物退稅申報數(shù)據(jù)”表中客戶名稱查詢的代碼:Private Sub Command7_Click()Dim strQuery As StringDim i As Stringi = InputBox(請輸入要查詢的商品名稱, 商品名稱查詢) 接收所要查詢的信息并存放于i中strQuery = SELECT * FROM出口貨物退稅申報數(shù)據(jù)where 商品名稱= & i & 根據(jù)所要查詢的關鍵字生成sql查詢語句Dim str As String 定義str = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= zlgl.mdb;Persist Security Info=False str代碼是一段連接屬性Form8.Adodc1.ConnectionString = str 將str內(nèi)的數(shù)據(jù)庫連接信息賦給adodc1的ConnectionString屬性 Form8.Adodc1.CommandType = adCmdText 說明adodc1的命令類型是adCmdTextForm8.Adodc1.RecordSource = strQuery 將查詢語句strQuery賦給adodc1的RecordSource屬性Form8.Adodc1.Refresh 在窗體8中刷新adodc1Set Form8.DataGrid1.DataSource = Form8.Adodc1 將form8中的Datagrid表格的數(shù)據(jù)源Datasource設為form8的adodc1Form8.SkinLabel1.Caption = 共為您查到了 & Form8.Adodc1.Recordset.RecordCount & 條記錄 顯示所查詢到的符合要求的記錄數(shù)Form8.Show 顯示專門用于接收數(shù)據(jù)查詢結果的窗體8End Sub(3) 雙擊工具欄圖標產(chǎn)生的代碼如下:Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case modipwd 如果按下的是工具欄上的“出口貨物退稅申報數(shù)據(jù)”快捷方式按鈕,那么自動轉到菜單項“出口貨物退稅申報數(shù)據(jù)”的代碼里去。 centerfile_Click Case guanli yongfu_Click Case add_user shengfile_Click Case bar_backup taifile_Click Case zhengti zt_Click Case report report_Click Case bar_auto explain_Click Case bar_hand info_Click Case bar_close exit_Click End SelectEnd Sub(4) About關于窗體中得到“系統(tǒng)信息“的程序代碼 Public Sub StartSysInfo() On Error GoTo SysInfoErr Dim rc As Long Dim SysInfoPath As String 試圖從注冊表中獲得系統(tǒng)信息程序的路徑及名稱. If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then 試圖僅從注冊表中獲得系統(tǒng)信息程序的路徑. ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then 已知32位文件版本的有效位置 If (Dir(SysInfoPath & MSINFO32.EXE) ) Then SysInfoPath = SysInfoPath & MSINFO32.EXE 錯誤 - 文件不能被找到. Else GoTo SysInfoErr End If 錯誤 - 注冊表相應條目不能被找到. Else GoTo SysInfoErr End If Call Shell(SysInfoPath, vbNormalFocus) Exit SubSysInfoErr: MsgBox 此時系統(tǒng)信息不可用, vbOKOnlyEnd SubEnd IfEnd Sub(5) 主菜單窗體Form1的菜單中“使用說明”菜單的部分代碼:Private Sub explain_Click()Shell notepad.exe text1.txt, vbNormalFocus調(diào)用函數(shù)shell打開文本文件text1.textEnd Sub(6) 自動計算功能的實現(xiàn):以下是錄入模塊中的幾個簡單的計算公式,由計算機自動產(chǎn)生數(shù)據(jù):人民幣金額 外幣匯率*外幣金額征退稅差額 外銷貨物人民幣金額*(征稅稅率-退稅率)應免抵退稅額 外銷貨物人民幣金額*退稅率組成計稅價格 人民幣金額*計劃分配率免抵退稅扣減額 組成計稅價格*退稅率不予抵扣稅額抵減額 組成計稅價格*(征稅稅率-退稅率)實際免抵退稅額 應免抵退稅額-免抵退稅扣減額以下這段代碼就是在按下“保存修改”按鈕,自動地用上面的公式將值計算出來并保存到數(shù)據(jù)庫表對應的字段時。其代碼及解釋如下:Private Sub Command4_Click() On Error GoTo UpdateErr Adodc1.Recordset.Update 先將手動輸入的數(shù)據(jù)存入數(shù)據(jù)庫 Adodc1.Recordset.MovePrevious 這句和下一句也很重要,去掉就不行,這是程序編程實踐過程中得到的結論,具體問題的分析見后。 Adodc1.Recordset.MoveNext Adodc1.Recordset!人民幣金額 = Adodc1.Recordset!外幣匯率 * Adodc1.Recordset!外幣金額 通過計算得到其它字段的值 Adodc1.Recordset!征退稅差額 = Adodc1.Recordset!人民幣金額 * (Adodc1.Recordset!征稅稅率 - Adodc1.Recordset!退稅率) Adodc1.Recordset!應免抵退稅額 = Adodc1.Recordset!人民幣金額 * Adodc1.Recordset!退稅率 Adodc1.Recordset!組成計稅價格 = Adodc1.Recordset!人民幣金額 * Adodc1.Recordset!計劃分配率 Adodc1.Recordset!免抵退稅扣減額 = Adodc1.Recordset!組成計稅價格 * Adodc1.Recordset!退稅率 Adodc1.Recordset!不予抵扣稅額抵減額 = Adodc1.Recordset!組成計稅價格 * (Adodc1.Recordset!征稅稅率 - Adodc1.Recordset!退稅率) Adodc1.Recordset!實際免抵退稅額 = Adodc1.Recordset!應免抵退稅額 - Adodc1.Recordset!免抵退稅扣減額 Adodc1.Recordset.Update將計算出來的字段的值存入數(shù)據(jù)庫中 Exit SubUpdateErr: MsgBox Err.DescriptionEnd Sub4.6軟件設計中遇到的問題及解決方法(1)無法訪問ACCESS2000數(shù)據(jù)庫問題的查找及解決辦法:Visual Basic6.0訪問Access數(shù)據(jù)庫有多種方法,開始我使用的是DAO技術,即利用Data控件來訪問數(shù)據(jù)庫。但由于我使用的是Access2000數(shù)據(jù)庫,通過我的實踐發(fā)現(xiàn):Data控件對Access2000的數(shù)據(jù)庫竟然無法識別,而只能識別Access97,我想可能是因為Access2000是后出來的版本且兼容性不好的原因吧。隨后我試著用ADO技術操作數(shù)據(jù)庫,即通過VB6.0提供的Adodc控件對Access2000數(shù)據(jù)庫進行訪問。通過查找參考書我知道了要使ADO能訪問Access2000數(shù)據(jù)庫首先必須要到微軟官方網(wǎng)站下載MDAC2.7,只能通過MDAC2.7才能夠驅動Access2000數(shù)據(jù)庫。同時,因為Access2000 己經(jīng)使用 Jet 4.0 Engine,所以要將 ADO 的 Connect String 中的 Provider 修改為:PROVIDER=Microsoft,Jet.OLEDB.4.0。按照上面的辦法,我對軟件原程序進行了修改和重新設置,接著我再次試著訪問數(shù)據(jù)庫,成功了。(2)在實現(xiàn)“自動計算其他字段值”這一功能的過程中,我遇到了一個問題,即:運行時按下“保存修改”這一按鈕時,系統(tǒng)會彈出一個出錯窗體:“”,并自動退出系統(tǒng)。我在調(diào)試過程中發(fā)現(xiàn)了一個問題,即在按“添加記錄”按鈕并添加新記錄后,再按“保存修改”按鈕里,系統(tǒng)會彈出一個出錯窗體:“”,并自動退出系統(tǒng)。這一問題我在設計過程中沒有遇到過,于是我對“保存修改”按鈕里的代碼進行了逐行測試,發(fā)現(xiàn)問題出在兩個Adodc1.Recordset.Update語句上,顯然系統(tǒng)不認可兩次update語句。雖然我找到了出問題的地方,可是通過一次次的調(diào)試還是找不到解決這一問題的辦法,于是我上網(wǎng)進行搜索,查找這一問題的解決辦法。果然,經(jīng)過耐心細致的尋找,我找到了解決問題的辦法,具體方法如下:進行了本軟件因為是畢業(yè)設計,對數(shù)據(jù)的安全要求不高,所以并沒有對數(shù)據(jù)庫進行加密處理,也就沒有對加密的數(shù)據(jù)庫進行訪問。如果要對加密和Access2000數(shù)據(jù)庫進行訪問,而程序直接由 Access 打開果然我按照上面的方法做時,系統(tǒng)不再提示出錯信息,并按我設計的要求把值自動計算出來并自動存入了數(shù)據(jù)庫。但此時我發(fā)現(xiàn)按下“保存修改”按鈕后,系統(tǒng)并不立即將自動計算出來的字段的值顯示在當前記錄上,而需要移動到上一個或下一個記錄然后再回到原記錄時才顯示出來,我也不知道是什么原因。為了解決這一問題,很簡單了,我就直接加了 Adodc1.Recordset.MovePrevious Adodc1.Recordset.MoveNext 這兩條語句。再次調(diào)試時成功了,系統(tǒng)按我設計的要求完美地工作了。 (3)如何動態(tài)訪問Access數(shù)據(jù)庫:軟件制作完成后發(fā)布時我發(fā)現(xiàn)了一個比較嚴重的問題,就是程序只能放在c:hbj下才能運行,放在其他目錄下運行時會提示出錯信息“找不到數(shù)據(jù)庫文件c:hbjzlgl.mdb”。通過分析我找到了問題的原因:因為軟件制作時是在c:hbj目錄下制作調(diào)試的。程序中所使用的數(shù)據(jù)庫的連接路徑都是絕對路徑。如str = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:hbjzlgl.mdb;Persist Security Info=False。其中C:hbjzlgl.mdb就是絕對路徑,所以如果換到別的目錄下運行時,由于C:hbj文件夾不存在,所以就找不到zlgl.mdb文件,所以就會提示出錯信息。問題找到了,然后就要找解決的辦法,通過查詢資料我明白了解決的方法也不復雜,只要在數(shù)據(jù)庫連接代碼中將C:hbjzlgl.mdb直接改為zlgl.mdb就可以了,即str = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= zlgl.mdb;Persist Security Info=False。這樣程序會自動在可執(zhí)行文件所在目錄下查找數(shù)據(jù)庫zlgl.mdb,而不會再到C:hbj目錄下找zlgl.mdb文件了。(4)在設計登錄用戶名和密碼驗證功能時,遇到這樣的問題,即當輸入錯誤的密碼,系統(tǒng)提示錯誤,這里再輸入正確密碼時,系統(tǒng)也提示用戶名或密碼錯誤。通過逐行測試與總體分析我找到了問題出現(xiàn)的原因:在輸入幾個錯誤的用戶名和密碼后,再輸入正確的也進不了系統(tǒng),這是因為輸入錯誤的用戶名和密碼后指針已經(jīng)移到記錄的最后了,再輸入正確密碼時,沒有從第一個記錄開始找,所以會找不到密碼出錯。找到了問題出現(xiàn)的原因,解決的方法就簡單多了:即在每次查找之前加上一個指針移動第一條記錄的代碼:Adodc1.Recordset.MoveFirst 再次測試時,問題成功地解決了。 4.7性能測試與分析經(jīng)過不斷的努力,終于完成了對外貿(mào)易公司退稅管理系統(tǒng)的初步設計和編制。我對本系統(tǒng)進行改編的性能測試。 1測試環(huán)境:PIII 256M/64G 2操作系統(tǒng):WindowsXP 3系統(tǒng)平臺:VISUAL Basic 6.0中文版 系統(tǒng)調(diào)試過程:程序的最后調(diào)試工作是應用程
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代辦公環(huán)境的網(wǎng)絡安全培訓
- 未來學習模式基于網(wǎng)絡教育平臺的思考
- 現(xiàn)代辦公空間中的綠色環(huán)保用品設計思考
- 2024年四年級品德與社會上冊 第三單元 生活在這里真好 第11課《我家來了新鄰居》說課稿 粵教版001
- 2024-2025學年高中物理 第十二章 機械波 4 波的衍射和干涉說課稿4 新人教版選修3-4001
- Module 1 Unit 1 She's a nice teacher(說課稿)-2023-2024學年外研版(三起)英語四年級下冊
- 2023九年級化學上冊 第一章 大家都來學化學1.2 化學實驗室之旅說課稿(新版)粵教版001
- 2025農(nóng)村養(yǎng)殖場場地租地合同
- 2025國際專利技術許可合同模板版
- Unit 5 Nature and Culture(說課稿)2023-2024學年人教新起點版英語六年級下冊
- 八年級下冊歷史思維導圖
- 電動汽車用驅動電機系統(tǒng)-編制說明
- 江蘇卷2024年高三3月份模擬考試化學試題含解析
- (正式版)JTT 1497-2024 公路橋梁塔柱施工平臺及通道安全技術要求
- 醫(yī)療器械物價收費申請流程
- 招聘專員轉正述職報告
- “一帶一路”背景下的西安市文化旅游外宣翻譯研究-基于生態(tài)翻譯學理論
- 2024年江蘇省昆山市六校中考聯(lián)考(一模)化學試題
- 大學生文學常識知識競賽考試題庫500題(含答案)
- 國家電網(wǎng)智能化規(guī)劃總報告
- 邢臺市橋西區(qū)2024年事業(yè)單位考試《公共基礎知識》全真模擬試題含解析
評論
0/150
提交評論