超市管理系統(tǒng)正文_第1頁
超市管理系統(tǒng)正文_第2頁
超市管理系統(tǒng)正文_第3頁
超市管理系統(tǒng)正文_第4頁
超市管理系統(tǒng)正文_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、中文摘要PAGE PAGE II摘要現(xiàn)在為方便小區(qū)居民生活社區(qū)便利超市已運(yùn)而生,隨著社區(qū)超市所售商品的不斷增多,有關(guān)商品的各種信息量也成倍增長。僅僅依靠以往的人工記賬操作和商品管理已經(jīng)不能應(yīng)付超市的日常工作,超市隨時(shí)需要對商品各種信息進(jìn)行統(tǒng)計(jì)分析,其中包括進(jìn)貨管理,銷售管理,退貨管理和基本系統(tǒng)管理等功能。本系統(tǒng)正是針對這些需要為目的開發(fā)的。系統(tǒng)實(shí)現(xiàn)了超市日常經(jīng)營管理所必需的交易管理,進(jìn)貨統(tǒng)計(jì),銷售統(tǒng)計(jì),查看數(shù)據(jù)表,系統(tǒng)管理等基本功能模塊。并且在每個(gè)模塊中又分別實(shí)現(xiàn)了若干相應(yīng)的子功能。并且針對超市中的具體情況進(jìn)行了不同權(quán)限的設(shè)置,不同權(quán)限的可以進(jìn)行不同操作。系統(tǒng)主要利用VB6.0作為前端的應(yīng)用開

2、發(fā)工具,利用Access作為后臺(tái)的數(shù)據(jù)庫。首先經(jīng)過總體設(shè)計(jì)后再進(jìn)行各功能模塊逐一設(shè)計(jì),然后通過各模塊編程、調(diào)試,最后的組合調(diào)試和數(shù)據(jù)測試最終調(diào)試成功。關(guān)鍵詞:物資管理系統(tǒng) VB6.0 數(shù)據(jù)庫英文摘要PAGE PAGE IIIABSTRACTPAGE 56ABSTRACTA supermarket management system is an indispensable part in the management process for supermarket, it is vital for decision-makers and managers of the supermarket,

3、because a supermarket management system can provide enough information for users, increase the benefits and save the cost. The system is developed just for this purpose. VB6.0 is taken as the foreground development tool while Access is taken as the background database. Five functional modules are im

4、plemented in the system, including exchange management, stock statistic, sale statistic, viewing data tables, system management etc. Many subsystems corresponding with the modules are also implemented. The system is easy to use, and the interface is laconic and decent.Keywords: Materials management

5、system VB6.0 Database第一章 緒論第一章 緒論1.1超市管理系統(tǒng)的發(fā)展現(xiàn)狀以及前人做出的成就計(jì)算機(jī)信息系統(tǒng)的發(fā)展有以下四個(gè)階段:第一階段(1954-1964)電子數(shù)據(jù)處理階段(EDP)。此階段以單項(xiàng)數(shù)據(jù)處理為主,如財(cái)務(wù)管理、物資管理、工資管理等。第二階段(1964-1974)管理信息系統(tǒng)階段(MIS)。在這期間,由于高速度的處理機(jī)、高速度大容量的存儲(chǔ)器與其它器件有了突破性進(jìn)展,使得計(jì)算機(jī)應(yīng)用系統(tǒng)從單項(xiàng)應(yīng)用的EDP發(fā)展到多功能、多層次、綜合性的應(yīng)用階段,使得MIS日漸成熟,具有了控制、預(yù)測、輔助和決策的功能。第三階段(1974-1980)決策支持系統(tǒng)階段(DSS)。在此階段解

6、決的主要是面向高層管理,大范圍的決策問題以及非結(jié)構(gòu)化信息的處理。第四階段(1980-)職能管理系統(tǒng)階段(IMS)。這個(gè)階段強(qiáng)調(diào)的是綜合管理功能,多維服務(wù)模式,人機(jī)協(xié)調(diào)的、智能化的、集成化的計(jì)算機(jī)輔助管理功能等。據(jù)統(tǒng)計(jì),目前美國在物資管理中80-100%的信息處理由計(jì)算機(jī)完成。由此可以看出,當(dāng)今物資管理對計(jì)算機(jī)的依賴程度已經(jīng)達(dá)到一個(gè)前所未有的水平??梢哉f,沒有信息化的支撐,就不可能實(shí)現(xiàn)現(xiàn)代零售商業(yè)的高效率管理。1.2超市管理系統(tǒng)的背景及意義當(dāng)今社會(huì)是一個(gè)信息社會(huì),是一個(gè)知識經(jīng)濟(jì)時(shí)代。誰控制的信息越多,誰利用信息資源的效率越高,誰就會(huì)在各方面的競爭中占有一席之地,誰就會(huì)有更多的優(yōu)勢。管理信息系統(tǒng)(

7、MIS)的概念是1961年美國人J.D.GALLAGHER首先提出來的,它是一門新興的、集管理科學(xué)、信息科學(xué)、系統(tǒng)科學(xué)及計(jì)算機(jī)科學(xué)為一體的綜合性學(xué)科,研究的是企業(yè)中信息管理活動(dòng)的全過程,以便有效的管理信息,提供各類管理決策信息,輔助企業(yè)進(jìn)行現(xiàn)代化管理。隨著超市規(guī)模的發(fā)展不斷擴(kuò)大,商品數(shù)量急劇增加,有關(guān)商品的各種信息量也成倍增長。超市在時(shí)時(shí)刻刻需要對商品各種信息進(jìn)行統(tǒng)計(jì)分析,如日報(bào)表、月報(bào)表、年報(bào)表,員工信息的管理等。以上說明開發(fā)一套超市管理系統(tǒng)具有積極的現(xiàn)實(shí)意義。1.3本文所做的主要工作本文是針對超市管理方面的需求開發(fā)設(shè)計(jì)了一套適合超市管理應(yīng)用的計(jì)算機(jī)管理信息系統(tǒng)。論文對系統(tǒng)進(jìn)行了較為全面的業(yè)

8、務(wù)需求分析,并進(jìn)行有針對性的系統(tǒng)設(shè)計(jì),包括開發(fā)平臺(tái)和工具選型、功能模塊設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)等,最后選用VB 6.0和Access數(shù)據(jù)庫進(jìn)行了系統(tǒng)實(shí)現(xiàn),并進(jìn)行了相應(yīng)的系統(tǒng)測試和調(diào)試。第三章 系統(tǒng)設(shè)計(jì)第二章 系統(tǒng)可行性與需求分析第二章 系統(tǒng)可行性與需求分析2.1系統(tǒng)的可行性分析該系統(tǒng)所需硬件設(shè)備,如服務(wù)器、PC機(jī)、打印機(jī)及網(wǎng)絡(luò)配件等,與過去相比這些設(shè)備在性能上已經(jīng)有了很大提高,價(jià)格又相對較低,能滿足系統(tǒng)功能需求。軟件上,操作系統(tǒng)采用WINDOWSXP,數(shù)據(jù)庫采用ACCSEE,這些軟件在MIS開發(fā)中已被大量應(yīng)用,技術(shù)上都比較成熟,因此技術(shù)上是可行的。本系統(tǒng)屬于一個(gè)工具型的系統(tǒng),它可以將工作人員從手工操作

9、中解脫出來,而且可以迅速準(zhǔn)確地進(jìn)行錄入、整理、查詢、修改,極大地提高工作效率,同時(shí)促進(jìn)業(yè)務(wù)的規(guī)范化、程序化,及時(shí)給各級領(lǐng)導(dǎo)提供必要的信息統(tǒng)計(jì)。系統(tǒng)開發(fā)所需的費(fèi)用是比較低的,由于系統(tǒng)并不復(fù)雜,其運(yùn)行與培訓(xùn)費(fèi)用也不會(huì)占用很多資金,可以預(yù)見系統(tǒng)完成后可以帶來較大的經(jīng)濟(jì)效益。2.2需求分析2.2.1系統(tǒng)需求超市管理系統(tǒng)開發(fā)應(yīng)該滿足一定的需求。滿足超市行業(yè)經(jīng)營管理的基本要求。進(jìn)行多層次數(shù)據(jù)匯總,為經(jīng)營管理決策者、普通職員等各層次的管理者提供數(shù)據(jù)支持。 提供方便靈活的數(shù)據(jù)查詢功能,滿足繁雜,多樣的數(shù)據(jù)查詢需求。對操作人員的技能要求比較低,操作方便。能夠?qū)崿F(xiàn)方便的擴(kuò)展,滿足超市企業(yè)發(fā)展的需要。能夠保障管理數(shù)

10、據(jù)的安全,準(zhǔn)確。2.2.2功能需求在對超市行業(yè)的組織結(jié)構(gòu)及職能充分調(diào)查了解后,依據(jù)對超市行業(yè)的數(shù)據(jù)流動(dòng)特點(diǎn)的分析,現(xiàn)在可以進(jìn)行系統(tǒng)的功能分析。根據(jù)軟件工程的原理,需求分析的任務(wù)是確定系統(tǒng)必須完成的工作。經(jīng)過詳細(xì)的調(diào)研分析之后,可以得出超市管理系統(tǒng)必須具備的功能下:交易管理:在交易管理中要實(shí)現(xiàn)進(jìn)貨登記、銷售登記、退貨登記這三大功能模塊。第一,在進(jìn)貨登記這個(gè)模塊下要實(shí)現(xiàn)對入庫的每個(gè)商品及其對應(yīng)的供貨商的詳細(xì)信息(例如,進(jìn)貨編號、商品編號、廠商名稱、聯(lián)系人等等)一一記錄的功能。第二,在銷售登記這個(gè)模塊下要實(shí)現(xiàn)對已售出商品的詳細(xì)信息(例如,銷貨編號,生產(chǎn)廠商,銷售日期等等)一一記錄的功能。第三,在退貨

11、登記這個(gè)模塊下要實(shí)現(xiàn)對退貨商品的詳細(xì)信息(例如,退貨編號,銷售日期,退貨日期,生產(chǎn)廠商等等)一一記錄的功能。進(jìn)貨統(tǒng)計(jì):在進(jìn)貨統(tǒng)計(jì)中包括今日進(jìn)貨統(tǒng)計(jì)、本月進(jìn)貨統(tǒng)計(jì)、本季度進(jìn)貨統(tǒng)計(jì)、本年度進(jìn)貨統(tǒng)計(jì)這四個(gè)功能模塊。本系統(tǒng)需要實(shí)現(xiàn)無論按日,按月還是按季度,按年都可以查詢相應(yīng)時(shí)間段內(nèi)進(jìn)貨的詳細(xì)信息(例如,進(jìn)貨編號、商品名稱、生產(chǎn)廠商、總金額等等)這樣的功能。銷售統(tǒng)計(jì):在銷售統(tǒng)計(jì)中包括今日銷售統(tǒng)計(jì)、本月銷售統(tǒng)計(jì)、本季度銷售統(tǒng)計(jì)、本年度銷售統(tǒng)計(jì)這四個(gè)功能模塊。本系統(tǒng)需要實(shí)現(xiàn)無論按日,按月還是按季度,按年都可以查詢相應(yīng)時(shí)間段內(nèi)貨物銷售的詳細(xì)信息(例如,銷貨編號、商品名稱、銷售時(shí)間、銷售單價(jià)等等)這樣的功能。查

12、看數(shù)據(jù)表:在這一功能模塊中要實(shí)現(xiàn)隨時(shí)隨地查看超市的進(jìn)貨表、現(xiàn)存商品表、銷售表、退貨表、管理員工表、進(jìn)貨商表這六項(xiàng)表格的功能。從而達(dá)到為超市管理人員提供了超市運(yùn)營的各種實(shí)時(shí)數(shù)據(jù),以便其做出正確的決策的目的。系統(tǒng)管理: 在這一功能模塊中要需要實(shí)現(xiàn)更換用戶、修改密碼、退出系統(tǒng)這三項(xiàng)功能。以便用戶在進(jìn)入后可以根據(jù)自己的需要進(jìn)行更改密碼,調(diào)換用戶重新登陸和退出本系統(tǒng)。6)數(shù)據(jù)庫管理:在本系統(tǒng)中管理員應(yīng)該可以對現(xiàn)有的數(shù)據(jù)庫進(jìn)行管理和維護(hù),包括數(shù)據(jù)備份和恢復(fù)等,從而達(dá)到提高系統(tǒng)的數(shù)據(jù)安全性的目的。2.2.3硬件需求硬件環(huán)境:在最低配置的情況下,系統(tǒng)的性能往往不令人滿意,現(xiàn)在的硬件性能已經(jīng)相當(dāng)出色,而且價(jià)格也

13、很便宜,因此我們通常給服務(wù)器端配置高性能硬件。以下為最低配置:處理器:Inter Pentium IV 或更高內(nèi)存:1GB以上硬盤空間:10GB以上顯卡:SVGA 顯示適配器操作系統(tǒng):Windows XP數(shù)據(jù)庫:MicrosoftAccess 2003第三章 系統(tǒng)設(shè)計(jì)第三章 系統(tǒng)設(shè)計(jì)第三章 系統(tǒng)設(shè)計(jì)3.1系統(tǒng)功能設(shè)計(jì)系統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)各種信息的系統(tǒng)化、規(guī)范化和自動(dòng)化。系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成。根據(jù)系統(tǒng)需要與任務(wù)的分配要完成的主要任務(wù)與功能有:對本系統(tǒng)的登錄模塊的實(shí)現(xiàn),根據(jù)不同的用戶權(quán)限來登錄到主窗體。對本統(tǒng)主要界面的設(shè)計(jì)實(shí)現(xiàn),在主界面中要實(shí)現(xiàn)五個(gè)彈出菜單;有交易管理

14、菜單,進(jìn)貨統(tǒng)計(jì)菜單,銷售統(tǒng)計(jì)菜單,查看數(shù)據(jù)表菜單,系統(tǒng)管理菜單。(1)交易管理:包括進(jìn)貨登記、銷售登記、退貨登記等。其中進(jìn)貨登記中還包含進(jìn)貨商登記,如果是新的進(jìn)貨廠商,可以直接在此登記入庫。進(jìn)貨和銷售的主要交易都是在此進(jìn)行。每次交易(包括進(jìn)貨、銷貨和退貨)都需要對商品名稱、生產(chǎn)廠商、商品型號、單價(jià)、數(shù)量、總金額、交易日期、經(jīng)手業(yè)務(wù)員編號等各項(xiàng)記錄。在交易過程中,程序的編寫盡可能的方便員工進(jìn)行交易,比如:進(jìn)貨登記時(shí),如果商品編號相同,則自動(dòng)添加該商品的相關(guān)屬性;銷貨登記時(shí),用戶只要輸入商品編號,該商品的屬性即可自動(dòng)出現(xiàn)。退貨登記時(shí),只要輸入正確的銷貨編號,其銷售信息也將自動(dòng)列出,盡量的方便用戶的

15、操作,同時(shí)對于登陸的員工編號程序也自動(dòng)的將其列在進(jìn)貨登記、銷貨登記中,以防止員工進(jìn)行非正常的交易。(2)進(jìn)貨統(tǒng)計(jì):包括今日進(jìn)貨統(tǒng)計(jì)、本月進(jìn)貨統(tǒng)計(jì)、本年度進(jìn)貨統(tǒng)計(jì)等。其中每次進(jìn)貨統(tǒng)計(jì)都是按進(jìn)貨廠商和進(jìn)貨總金額統(tǒng)計(jì)顯示的。使用一個(gè)表格顯示所選時(shí)間段的全部進(jìn)貨數(shù)據(jù),包括進(jìn)貨編號、商品名稱等。再使用另一個(gè)表格顯示分別從各個(gè)廠商進(jìn)貨的金額,還有一個(gè)文本框用于顯示次時(shí)間段的進(jìn)貨總金額。(3)銷貨統(tǒng)計(jì):包括今日銷售統(tǒng)計(jì)、本月銷售統(tǒng)計(jì)、本季度銷售統(tǒng)計(jì)、本年度銷售統(tǒng)計(jì)等,其中每次銷售統(tǒng)計(jì)都是按生產(chǎn)廠商和銷售總金額統(tǒng)計(jì)顯示的。使用一個(gè)表格顯示所選時(shí)間段的全部銷售數(shù)據(jù),包括銷貨編號、商品名稱等。再使用另一個(gè)表格顯示

16、分別從各個(gè)廠商進(jìn)貨的金額,還有一個(gè)文本框用于顯示次時(shí)間段的銷售總金額。(4)查看數(shù)據(jù)表:實(shí)現(xiàn)各種數(shù)據(jù)表的瀏覽,包括進(jìn)貨表,商品庫存表、銷售表、退貨表、員工表、進(jìn)貨商表等。對于員工表管理員還可以對其進(jìn)行刪除或添加用戶操作。(5) 系統(tǒng)管理: 包括更換用戶、修改密碼、退出系統(tǒng)等。更換用戶的操作方便了用戶的使用,同時(shí)更加方便了管理員對于系統(tǒng)數(shù)據(jù)的查詢,可以做到隨時(shí)查看,以使管理員對賬目一目了然,同時(shí)方便了普通用戶的交接班使用本系統(tǒng)。修改密碼和退出系統(tǒng)都是對于系統(tǒng)管理的輔助功能。3.2程序流程圖系統(tǒng)管理系統(tǒng)管理圖3.1程序流程圖3.3 E-R圖設(shè)計(jì)1交易管理模塊:用于管理商品的進(jìn)貨,銷售,退貨登記的操

17、作。實(shí)體E-R圖如下:交易管理交易管理銷售登記退貨登記進(jìn)貨登記銷售登記退貨登記進(jìn)貨登記圖3.2交易管理模塊2進(jìn)貨統(tǒng)計(jì)管理:主要用于對商品每日,每月,每季度,每年的進(jìn)貨情況進(jìn)行統(tǒng)計(jì)管理,此功能只有以管理員的身份進(jìn)入時(shí)才為可用狀態(tài)。實(shí)體E-R圖如下:進(jìn)貨統(tǒng)計(jì)管理進(jìn)貨統(tǒng)計(jì)管理本季度進(jìn)貨今年進(jìn)貨本月進(jìn)貨今日進(jìn)貨本季度進(jìn)貨今年進(jìn)貨本月進(jìn)貨今日進(jìn)貨圖3.3進(jìn)貨統(tǒng)計(jì)管理3銷售統(tǒng)計(jì)管理:主要用于對商品每日,每月,每季度,每年的銷售情況進(jìn)行統(tǒng)計(jì)管理,此功能只有以管理員的身份進(jìn)入時(shí)才為可用狀態(tài)。實(shí)體E-R圖如下:銷售統(tǒng)計(jì)管理銷售統(tǒng)計(jì)管理今日銷售今年銷售本季度銷售本月銷售今日銷售今年銷售本季度銷售本月銷售圖3.4銷

18、售統(tǒng)計(jì)管理4查看數(shù)據(jù):主要能查看進(jìn)貨表,商品信息表,銷售表,退貨表等進(jìn)行查看,以實(shí)現(xiàn)對商品信息的及時(shí)了解。實(shí)體E-R圖如下:查看數(shù)據(jù)表查看數(shù)據(jù)表管理員工表管理員工表進(jìn)貨商品表進(jìn)貨表退貨表銷售表進(jìn)貨商品表進(jìn)貨表退貨表銷售表現(xiàn)存商品表圖3.5查看數(shù)據(jù)3.3數(shù)據(jù)庫設(shè)計(jì)在系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)中,進(jìn)貨表、銷貨表、商品庫存表和退貨表涉及了交易管理三個(gè)子菜單的絕大部分?jǐn)?shù)據(jù),是本系統(tǒng)數(shù)據(jù)庫的核心。buy表(進(jìn)貨表)中包括有進(jìn)貨編號、商品編號、商品名稱、生產(chǎn)廠商、型號、數(shù)量、進(jìn)貨價(jià)、進(jìn)貨年、進(jìn)貨月、進(jìn)貨日、總金額、業(yè)務(wù)員編號等。設(shè)計(jì)該數(shù)據(jù)表的主要目的是方便管理員的查看,使系統(tǒng)的數(shù)據(jù)管理能夠更加層次化。具體設(shè)置如表3

19、.1所示:表3.1 buy表字段名數(shù)據(jù)類型說明進(jìn)貨編號文本字段大小為20商品名稱文本字段大小為20生產(chǎn)廠商文本字段大小為20型號文本字段大小為20數(shù)量數(shù)字長整型進(jìn)貨價(jià)貨幣貨幣進(jìn)貨年數(shù)字整型進(jìn)貨月數(shù)字整型進(jìn)貨日數(shù)字整型業(yè)務(wù)員編號文本字段大小為20總金額貨幣貨幣goods表(現(xiàn)存商品表)中包括有商品編號、生產(chǎn)廠商、商品名稱、型號、進(jìn)貨價(jià)、銷貨價(jià)、數(shù)量、進(jìn)貨年、進(jìn)貨月、進(jìn)貨日、業(yè)務(wù)員編號、總金額等字段。具體設(shè)置如表3.2所示:表3.2 goods表字段名數(shù)據(jù)類型說明商品編號文本字段大小為20商品名稱文本字段大小為20生產(chǎn)廠商文本字段大小為20型號文本字段大小為20數(shù)量數(shù)字長整型進(jìn)貨價(jià)貨幣貨幣銷貨價(jià)貨

20、幣貨幣sell表(銷貨表)中包括有銷貨編號、商品編號、商品名稱、生產(chǎn)廠商、型號、數(shù)量等字段。具體設(shè)置如表3.3所示:表3.3 sell表字段名數(shù)據(jù)類型說明銷貨編號文本字段大小為20商品編號文本字段大小為20商品名稱文本字段大小為20生產(chǎn)廠商文本字段大小為20型號文本字段大小為20數(shù)量數(shù)字長整型 retreat表(退貨表)中包括有退貨編號、銷貨編號、生產(chǎn)廠商、商品名稱、型號、單價(jià)、數(shù)量、總金額、退貨年、退貨月、退貨日、業(yè)務(wù)員編號等。具體設(shè)置如表3.4所示:表3.4 retreat表字段名數(shù)據(jù)類型說明退貨編號文本字段大小為20銷貨編號文本字段大小為20商品名稱文本字段大小為20生產(chǎn)廠商文本字段大小

21、為20型號文本字段大小為20單價(jià)貨幣貨幣數(shù)量數(shù)字長整型總金額貨幣貨幣退貨年數(shù)字整型退貨月數(shù)字整型退貨日數(shù)字整型業(yè)務(wù)員編號文本字段大小為20第四章 詳細(xì)設(shè)計(jì)第四章 詳細(xì)設(shè)計(jì)4.1開發(fā)工具介紹4.1.1 VISUAL BASIC 6.0Visual Basic作為當(dāng)今社會(huì)功能強(qiáng)大的可視化開發(fā)工具具有以下幾大特點(diǎn):(1)成功的簡化了界面的設(shè)計(jì)過程。(2)提供了多種向?qū)?。?)具有強(qiáng)大的數(shù)據(jù)和字符串處理功能。(4)提供了IntelliSense技術(shù)。4.1.2 ACCESS數(shù)據(jù)庫Access與許多優(yōu)秀的關(guān)系數(shù)據(jù)庫一樣,可以很容易地連接相關(guān)的信息而且還對其他的數(shù)據(jù)庫系統(tǒng)有所補(bǔ)充。它能操作其它來源的資料,

22、包括許多流行的PC數(shù)據(jù)庫程序(如DBASE,Paradox,Microsoft FoxPro)和服務(wù)器、小型積極大型機(jī)上的許多SQL數(shù)據(jù)庫。Access還完全支持Microsoft的OLE技術(shù)。Access還提供windows操作系統(tǒng)的高級應(yīng)用程序開發(fā)系統(tǒng)。Access與其它數(shù)據(jù)庫開發(fā)系統(tǒng)之間相當(dāng)顯著的區(qū)別就是:不用寫一行代碼,就可以在很短的時(shí)間里開發(fā)出一個(gè)功能強(qiáng)大而且相當(dāng)專業(yè)的數(shù)據(jù)庫應(yīng)用程序,并且這一過程是完全可視的。如果能給它加上簡短的VBA代碼,那么程序決不比專業(yè)程序員潛心開發(fā)的程序差。4.1.3 ADO技術(shù)Active Data Objects(ADO)微軟最新的數(shù)據(jù)庫訪問技術(shù),它被設(shè)

23、計(jì)用來同新的數(shù)據(jù)訪問層OLE DB Provider一起協(xié)同工作,以提高通用數(shù)據(jù)訪問(Universal Data Access).OLE DB是一個(gè)低層的數(shù)據(jù)訪問接口,用它可以訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,以及電子郵件系統(tǒng)及自定義的商業(yè)對象。ADO最重要的三個(gè)對象是:Connection, Command,Recordset。(1) Connection對象Connection對象用于建立與數(shù)據(jù)庫的連接。通過連接可從應(yīng)用程序訪問數(shù)據(jù)源。它保存諸如指針類型,連接字符串,查詢超時(shí),連接超時(shí)和缺省數(shù)據(jù)庫這樣的連接信息。(2) Command對象在建立Connection后,可以發(fā)出命令操

24、作數(shù)據(jù)源。一般情況下,Command對象可以在數(shù)據(jù)庫中添加,刪除或更新數(shù)據(jù),或者在表中進(jìn)行數(shù)據(jù)查詢。Command對象在定義查詢參數(shù)或執(zhí)行一個(gè)有輸出參數(shù)的存儲(chǔ)過程時(shí)非常有用。(3) Recordset對象Recordset對象只代表一個(gè)記錄集,這個(gè)記錄集是一個(gè)連接的數(shù)據(jù)庫中的表,或者是Command對象的執(zhí)行結(jié)果返回的記錄集。在ADO對象模型中,是在行中檢查和修改數(shù)據(jù)的最主要的方法,所有對數(shù)據(jù)的操作幾乎都是在Recordset對象中完成的。Record對象用于指定行,移動(dòng)行、添加、更改、刪除記錄。4.2系統(tǒng)主界面4.2.1登陸窗體一設(shè)計(jì)思路:本窗口的主要作用是提供用戶一個(gè)登陸界面,需要用戶在相

25、應(yīng)的對話框中輸入正確的用戶名和密碼之后才可以正常登陸,并且根據(jù)系統(tǒng)的內(nèi)部設(shè)定來識別登陸用戶的具體操作權(quán)限,是操作員還是系統(tǒng)管理員。操作員則進(jìn)入操作員界面,管理員則進(jìn)入管理員界面。二具體設(shè)計(jì):首先點(diǎn)擊工程菜單,選擇添加窗體,在新建工程內(nèi)添加一個(gè)空窗體,先在適當(dāng)位置畫出一個(gè)框架,然后在框架內(nèi)添加兩個(gè)標(biāo)簽控件和兩個(gè)文本框,然后把另一個(gè)標(biāo)簽和兩個(gè)命令按鈕畫在預(yù)定位置。設(shè)置各控件屬性,最后編寫源代碼。例如:將第二個(gè)標(biāo)簽控件控制名設(shè)為“Label4_Click”,Caption屬性設(shè)為“退出”,字體屬性設(shè)為“華文行楷”,Enabled和Visible屬性均設(shè)為“True”編寫按鈕單擊事件源代碼如下:Pri

26、vate Sub Label4_Click()Unload Mecnn.Close其界面如圖4.1所示:圖4.1登陸窗體輸入相應(yīng)的用戶名和密碼。如果用戶的密碼輸錯(cuò)錯(cuò)誤,則不能登錄到系統(tǒng)主窗體;如果用戶密碼正確,則進(jìn)入系統(tǒng)的MDI主窗體。代碼設(shè)計(jì):Private Sub Label3_Click() If Combo1.Text = Then MsgBox 請輸入用戶名!, vbOKOnly + vbInformation, 注意 Combo1.SetFocus Exit Sub ElseIf Text1.Text = Then MsgBox 請輸入密碼!, vbOKOnly + vbInfor

27、mation, 注意 Text1.SetFocus Exit Sub4.2.2系統(tǒng)主界面一設(shè)計(jì)思路:本窗口的是系統(tǒng)的主要界面,在此界面下可以根據(jù)不同的用戶權(quán)限來進(jìn)行相應(yīng)的菜單操作,操作員只能進(jìn)行交易管理,進(jìn)行普通的進(jìn)貨,銷售和退貨登記。系統(tǒng)管理員則可在此界面下進(jìn)行進(jìn)貨,銷售的統(tǒng)計(jì),以及察看各類數(shù)據(jù)。還可以進(jìn)行系統(tǒng)管理。二具體設(shè)計(jì):首先點(diǎn)擊工具欄內(nèi)新建工程按鈕,新建一個(gè)工程,自動(dòng)產(chǎn)生了一個(gè)空窗體,在窗體上單擊右鍵,在彈出的菜單上點(diǎn)擊“菜單編輯器”命令,打開菜單編輯器。按計(jì)劃設(shè)計(jì)好程序各級菜單。其界面如圖4.2所示:圖4.2系統(tǒng)主界面在主窗體中,設(shè)計(jì)了5項(xiàng)菜單,分別為“交易管理”、“進(jìn)貨統(tǒng)計(jì)”、“

28、銷售統(tǒng)計(jì)”、“查看數(shù)據(jù)表”、“系統(tǒng)管理”。其中管理員權(quán)限包括進(jìn)貨統(tǒng)計(jì)、銷貨統(tǒng)計(jì)、查看數(shù)據(jù)表、系統(tǒng)管理。操作員權(quán)限只有交易管理。部分設(shè)計(jì)代碼如下:Private Sub mnBuyMonth_Click()frmBuyall.Text2.Enabled = FalsefrmBuyall.SSTab1.Tab = 1frmBuyall.SSTab1.TabEnabled(0) = FalsefrmBuyall.SSTab1.TabEnabled(1) = TruefrmBuyall.SSTab1.TabEnabled(2) = FalsefrmBuyall.SSTab1.TabEnabled(3)

29、 = FalsefrmBuyall.Showstrbuy = select * from buy where 進(jìn)貨年= & inty & and 進(jìn)貨月= & intm & rs_buy.Open strbuy, cnn, adOpenKeyset, adLockPessimisticfrmBuyall.Adodc2.RecordSource = strbuyfrmBuyall.Adodc2.RefreshfrmBuyall.DataGrid2.ReBindIf rs_buy.EOF = True Then frmBuyall.Adodc6.RecordSource = strbuy frmB

30、uyall.Adodc6.Refresh frmBuyall.DataGrid6.ReBind MsgBox 您本月沒有進(jìn)貨記錄!, vbOKOnly + vbInformation, 注意rs_buy.Closestrfctotal = select 生產(chǎn)廠商,sum(總金額) as 各廠商進(jìn)貨總金額 from buy where 進(jìn)貨年= & inty & and 進(jìn)貨月= & intm & group by 生產(chǎn)廠商rs_fctotal.Open strfctotal, cnn, adOpenKeyset, adLockPessimisticfrmBuyall.Adodc6.Record

31、Source = strfctotalfrmBuyall.Adodc6.RefreshfrmBuyall.DataGrid6.ReBindrs_fctotal.Closestrtotal = select sum(總金額) as 進(jìn)貨總金額 from buy where 進(jìn)貨年= & inty & and 進(jìn)貨月= & intm & rs_total.Open strtotal, cnn, adOpenKeysetm, adLockPessimisticfrmBuyall.Text2.Text = rs_total.Fields(進(jìn)貨總金額)rs_total.CloseEnd Sub4.2.3

32、進(jìn)貨登記模塊一設(shè)計(jì)思路: 在此模塊中操作員可以進(jìn)行供貨廠商的登記以及進(jìn)貨商品的登記,每次進(jìn)貨都需要對商品名稱、生產(chǎn)廠商、商品型號、單價(jià)、數(shù)量、總金額、交易日期、經(jīng)手業(yè)務(wù)員編號等各項(xiàng)記錄。供貨廠商則需要對具體的聯(lián)系人廠商的名稱、地址、聯(lián)系電話進(jìn)行記錄。在登記過程中添加進(jìn)貨編號和廠商編號不允許重復(fù),但具體進(jìn)貨的商品編號是允許重復(fù)的。二具體設(shè)計(jì):首先按設(shè)計(jì)添加窗體,添加2個(gè)框架,在框架里做好各控件的布局,設(shè)置相應(yīng)屬性,例如:將添加框架里面的添加入庫按鈕的caption屬性設(shè)置為添加入庫,backcolor屬性設(shè)置為&H00C0C0等,設(shè)置完成后編寫源代碼。其界面如圖4.3所示:圖4.3進(jìn)貨登記進(jìn)貨登

33、記模塊中可以進(jìn)行對所進(jìn)的商品的信息及生產(chǎn)廠商的相關(guān)信息的添加,清空等操作。 其實(shí)現(xiàn)的部分代碼如下:下面是對進(jìn)貨表進(jìn)行添加記錄操作! str_buy = select * from buy where 進(jìn)貨編號= & Text1.Text & rs_buy.Open str_buy, cnn, adOpenStatic, adLockOptimistic 打開進(jìn)貨表 If rs_buy.EOF = True Then rs_buy.AddNew rs_buy.Fields(進(jìn)貨編號) = Text1.Text rs_buy.Fields(商品名稱) = Text3.Text rs_buy.Fie

34、lds(生產(chǎn)廠商) = Text4.Text rs_buy.Fields(型號) = Text5.Text rs_buy.Fields(數(shù)量) = Val(Text6.Text) rs_buy.Fields(進(jìn)貨價(jià)) = Val(Text7.Text) rs_buy.Fields(進(jìn)貨年) = Text9.Text rs_buy.Fields(進(jìn)貨月) = Text10.Text rs_buy.Fields(進(jìn)貨日) = Text11.Text rs_buy.Fields(業(yè)務(wù)員編號) = Text12.Text rs_buy.Fields(總金額) = Val(Text13.Text) rs

35、_buy.Update rs_buy.Close 關(guān)閉進(jìn)貨表 Else MsgBox 此進(jìn)貨編號已存在,請重添!, vbOKOnly + vbInformation, 注意 Text1.Text = Text1.SetFocus rs_buy.Close Exit Sub 關(guān)閉進(jìn)貨表 End If 下面是對商品庫存表進(jìn)行入庫操作! Dim sql As String sql = select * from goods where 商品編號 = & Text2.Text & rs_goods.Open sql, cnn, adOpenStatic, adLockOptimistic If rs_

36、goods.EOF = True Then rs_goods.Close str_goods = select * from goods rs_goods.Open str_goods, cnn, adOpenStatic, adLockOptimistic 打開庫存表 rs_goods.AddNew rs_goods.Fields(商品編號) = Text2.Text rs_goods.Fields(商品名稱) = Text3.Text rs_goods.Fields(生產(chǎn)廠商) = Text4.Text rs_goods.Fields(型號) = Text5.Text rs_goods.F

37、ields(數(shù)量) = Val(Text6.Text) rs_goods.Fields(進(jìn)貨價(jià)) = Val(Text7.Text) rs_goods.Fields(銷貨價(jià)) = Val(Text8.Text) rs_goods.Update MsgBox 商品入庫成功, vbOKOnly + vbExclamation, rs_goods.Close 關(guān)閉庫存表 Else numgoods = rs_goods.Fields(數(shù)量) rs_goods.Fields(數(shù)量) = Val(Text6.Text) + numgoods rs_goods.Update MsgBox 商品入庫成功,

38、vbOKOnly + vbExclamation, 關(guān)閉庫存表 rs_goods.Close End IfEnd Sub4.2.4銷售登記模塊一設(shè)計(jì)思路:在本模塊中操作員可以進(jìn)行商品的銷售登記,操作時(shí)需要具體登記此次銷售記錄的編號和商品名稱、型號、銷售日期、業(yè)務(wù)員編號、總金額、銷售時(shí)間、商品編號、生產(chǎn)廠商、單價(jià)、數(shù)量。并且銷售編號不允許重復(fù)而且商品編號也必須是在進(jìn)貨登記時(shí)所添加過的,能在進(jìn)貨紀(jì)錄中查詢到的編號,若是編號不存在則會(huì)提示非法操作。二具體設(shè)計(jì):新添加一個(gè)窗體后,在窗體中添加標(biāo)簽:銷貨編號、商品名稱、型號、銷售日期、業(yè)務(wù)員編號、總金額、銷售時(shí)間、商品編號、生產(chǎn)廠商、單價(jià)、數(shù)量。分別設(shè)置

39、好標(biāo)簽對應(yīng)的caption屬性.在添加2個(gè)命令按鈕。其界面如圖4.4所示:圖4.4銷售登記銷售登記模塊中對銷售的商品進(jìn)行相關(guān)信息的登記,并進(jìn)行銷售金額的計(jì)算。其部分設(shè)計(jì)代碼如下:Private Sub Command1_Click() If Text1.Text = Then MsgBox 請?zhí)顚戜N貨編號!, vbOKOnly + vbInformation, 注意 Text1.SetFocus Exit Sub ElseIf Text2.Text = Then MsgBox 請?zhí)顚懮唐肪幪枺? vbOKOnly + vbInformation, 注意 Text2.SetFocus Exit

40、SubEnd If str_goods = select * from goods where 商品編號= & Text2.Text & rs_goods.Open str_goods, cnn, adOpenStatic, adLockOptimistic If rs_goods.EOF = True Then MsgBox 對不起,此商品型號已無貨!請選擇其他型!, vbOKOnly + vbInformation, 注意 rs_goods.Close Exit Sub4.2.5退貨登記模塊一設(shè)計(jì)思路:在此模塊中操作員可以對用戶退回的商品進(jìn)行登記,需要對退貨編號、商品名稱、型號、銷售日期、

41、業(yè)務(wù)員編號、總金額、銷售日期、銷貨編號、生產(chǎn)廠商、單價(jià)、數(shù)量和商品編號逐一登記核對。在核對過程中需要查詢是否與銷售庫中的商品名稱、型號、總金額、銷售日期、銷貨編號、生產(chǎn)廠商、單價(jià)、數(shù)量和商品編號逐一核對若是有一項(xiàng)核對結(jié)果有誤則系統(tǒng)會(huì)提示無法進(jìn)行退貨操作。若是操作成功則會(huì)刪除相應(yīng)的銷售記錄。二具體設(shè)計(jì):新建一個(gè)窗體,新添加一個(gè)窗體后,在窗體中添加標(biāo)簽:退貨編號、商品名稱、型號、銷售日期、業(yè)務(wù)員編號、總金額、銷售日期、銷貨編號、生產(chǎn)廠商、單價(jià)、數(shù)量和商品編號。分別設(shè)置好標(biāo)簽對應(yīng)的caption屬性.然后添加2個(gè)命令按鈕.其界面如圖4.5所示:圖4.5退貨登記退貨登記模塊對退貨的相關(guān)信息進(jìn)行記。如商

42、品名、編號、價(jià)格、退貨員、數(shù)量,金額、時(shí)間等等進(jìn)行登記。 其部分實(shí)代碼如下:Private Sub Command1_Click()If Text1.Text = Then MsgBox 請?zhí)顚懲素浘幪枺? vbOKOnly + vbInformation, 注意 Text1.SetFocus Exit Sub ElseIf Text2.Text = Then MsgBox 請?zhí)顚戜N貨編號!, vbOKOnly + vbInformation, 注意 Text2.SetFocus Exit Sub ElseIf Text11.Text = Then MsgBox 請?zhí)顚懮唐窋?shù)量!, vbOKO

43、nly + vbInformation, 注意 Text11.SetFocus Exit SubEnd If 下面是對銷售表進(jìn)行操作! str_sell = select * from sell where 銷貨編號= & Text2.Text & rs_sell.Open str_sell, cnn, adOpenStatic, adLockOptimistic If rs_sell.EOF = True Then MsgBox 對不起,沒有銷售此商品型號!無法退貨!, vbOKOnly + vbInformation, 注意 rs_sell.Close Exit Sub ElseIf rs

44、_sell.Fields(數(shù)量) Val(Text11.Text) Then MsgBox 對不起,退貨數(shù)量過大,無法退貨!, vbOKOnly + vbInformation, 注意 rs_sell.Close Exit Sub4.2.6進(jìn)貨統(tǒng)計(jì)模塊一設(shè)計(jì)思路:此模塊主要用于對商品每日、每月、每季度、每年的進(jìn)貨情況進(jìn)行統(tǒng)計(jì)管理,并且以列表的形勢進(jìn)行顯示。在列表中可以對進(jìn)貨紀(jì)錄逐一進(jìn)行查詢并對進(jìn)貨總金額進(jìn)行統(tǒng)計(jì)并且顯示。二具體設(shè)計(jì):此窗體上設(shè)置八個(gè)命令按鈕,二個(gè)Adodc控件,二個(gè)Datagrid控件,一個(gè)標(biāo)簽控件和一個(gè)文本框,一個(gè)SSTab控件.首先按設(shè)計(jì)添加窗體,做好各控件的布局,設(shè)置相應(yīng)

45、屬性,如:Datagrid控件名稱屬性設(shè)置為Datagrid1,DragMode屬性設(shè)置為0,控件SSTab1的caption屬性設(shè)置為今日進(jìn)貨等.其界面如圖4.6所示:圖4.6進(jìn)貨統(tǒng)計(jì)進(jìn)貨統(tǒng)計(jì)主要用于對商品每日、每月、每季度、每年的進(jìn)貨情況進(jìn)行統(tǒng)計(jì)管理,此功能只有以管理員的身份進(jìn)入時(shí)才為可用狀態(tài)。其部分設(shè)計(jì)代碼如下:Private Sub Form_Load()inty = Year(Date)intm = Month(Date)intd = Day(Date)Dim str As Stringstr = Provider=Microsoft.Jet.OLEDB.4.0;Data Sourc

46、e= & App.Path & sellsystem.mdb;Adodc1的相對路徑連接Adodc1.ConnectionString = strAdodc1.CommandType = adCmdTextAdodc1.RecordSource = select * from buy where 進(jìn)貨年= & inty & and 進(jìn)貨月= & intm & and 進(jìn)貨日= & intd & Adodc1.RefreshSet DataGrid1.DataSource = Adodc1DataGrid1.RefreshAdodc2的相對路徑連接Adodc2.ConnectionString

47、= strAdodc2.CommandType = adCmdTextAdodc2.RecordSource = select * from buy where 進(jìn)貨年= & inty & and 進(jìn)貨月= & intm & Adodc2.RefreshSet DataGrid2.DataSource = Adodc2DataGrid2.Refresh4.2.7銷售統(tǒng)計(jì)模塊一設(shè)計(jì)思路:此模塊主要用于對商品每日、每月、每季度、每年的銷售情況進(jìn)行統(tǒng)計(jì)管理,并且以列表的形勢進(jìn)行顯示。在列表中可以對進(jìn)貨紀(jì)錄逐一進(jìn)行查詢并對銷售總金額進(jìn)行統(tǒng)計(jì)并且顯示。二具體設(shè)計(jì):本窗體上設(shè)置八個(gè)命令按鈕,二個(gè)Adodc

48、控件,二個(gè)Datagrid控件,一個(gè)標(biāo)簽控件和一個(gè)文本框,一個(gè)SSTab控件.首先按設(shè)計(jì)添加窗體,做好各控件的布局,設(shè)置相應(yīng)屬性,如:Datagrid控件名稱屬性設(shè)置為Datagrid1,DragMode屬性設(shè)置為0,控件SSTab1的caption屬性設(shè)置為今日銷貨等.其界面如圖4.7所示:圖4.7銷售統(tǒng)計(jì)銷售統(tǒng)計(jì)主要用于對商品每日,每月,每季度,每年的進(jìn)銷存情況進(jìn)行統(tǒng)計(jì)管理,此功能只有以管理員的身份進(jìn)入時(shí)才為可用狀態(tài)。其部分設(shè)計(jì)代碼如下:Private Sub Form_Load()inty = Year(Date)intm = Month(Date)intd = Day(Date)Tex

49、t1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseDim str As Stringstr = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & sellsystem.mdb;Adodc1.ConnectionString = strAdodc1.CommandType = adCmdTextAdodc1.RecordSource = select * from sell where 銷售年= & inty & an

50、d 銷售月= & intm & and 銷售日= & intd & Adodc1.RefreshSet DataGrid1.DataSource = Adodc1DataGrid1.RefreshAdodc2.ConnectionString = strAdodc2.CommandType = adCmdTextAdodc2.RecordSource = select * from sell where 銷售年= & inty & and 銷售月= & intm & Adodc2.RefreshSet DataGrid2.DataSource = Adodc2DataGrid2.Refresh

51、4.2.8查看數(shù)據(jù)表功能模塊的設(shè)計(jì)一設(shè)計(jì)思路:在這個(gè)功能模塊中,主要有如下幾個(gè)小功能模塊組成:查看進(jìn)貨表, 查看超市庫存表,查看超市退貨表,查看銷售表,員工信息表等幾個(gè)功能。主要實(shí)現(xiàn)對超市的進(jìn)、存、銷進(jìn)行管理以及對超市員工的管理。這幾個(gè)功能都是以表格的形式來顯示相關(guān)的數(shù)據(jù)。在查看現(xiàn)成超市表中,采用搜索的功能,在表中填入相關(guān)的關(guān)鍵詞,就能查到相關(guān)的商品名,商品號,生產(chǎn)商,條碼等信息。主要是采用SQL語言中的搜索,SELCET語句進(jìn)行關(guān)鍵字的搜索。在員工管理中,可以對用戶及用戶的相關(guān)信息進(jìn)行添加或刪除。二具體設(shè)計(jì):在新建的窗體上設(shè)置4個(gè)命令按鈕,在工程菜單欄中選擇部件(O).在控件選項(xiàng)里把Micr

52、osoft Ado Data Control6.0(OLEDB)和Microsoft DataGrid Control 6.0(OLEDB)選中,并確定。此時(shí)一個(gè)Adodc控件和一個(gè)Datagrid控件便在工具箱中出現(xiàn)了,把它們拖到本窗體上,并進(jìn)行相應(yīng)的設(shè)置。進(jìn)貨表界面如圖4.8所示:圖4.8進(jìn)貨表庫存查詢界面如圖4.9所示:圖4.9庫存查詢銷售表界面如圖4.10所示:圖4.10銷售表退貨表界面如圖4.11所示:圖4.11退貨表員工信息表界面如圖4.12所示:圖4.12員工信息表進(jìn)貨商表界面如圖4.13所示:圖4.13進(jìn)貨商表這六個(gè)小功能模塊設(shè)計(jì)的部分代碼如下:Private Sub Comm

53、and2_Click()當(dāng)文本框?yàn)榭諘r(shí)的屏蔽操作If Text1.Text = And Text2.Text = Then MsgBox 請輸入查詢條件!, vbOKOnly + vbInformation, Exit SubEnd If 定義連接庫存表?xiàng)l件時(shí)的SQL條件句 If Text1.Text = And Text2.Text Then strgoods = select * from goods where 生產(chǎn)商= & Text2.Text & End If If Text1.Text And Text2.Text = Then strgoods = select * from g

54、oods where 超市名稱= & Text1.Text & End If If Text1.Text And Text2.Text Then strgoods = select * from goods where 超市名稱= & Text1.Text & and 生產(chǎn)商= & Text2.Text & End If4.2.9修改密碼模塊一設(shè)計(jì)思路: 本模塊提供管理員修改用戶的密碼只有輸入正確的用戶名和相應(yīng)的密碼后,才能設(shè)置新的密碼。并且新密碼要重復(fù)輸入兩次準(zhǔn)確無誤后新密碼才設(shè)置成功。二具體設(shè)計(jì):在新建的窗體中添加一個(gè)框架,并在框架中添加四個(gè)標(biāo)簽和四個(gè)文本框.另外在窗體上添加2個(gè)命令按鈕,

55、并進(jìn)行簡單的屬性設(shè)置即可.如:設(shè)置好它們的對應(yīng)的Caption屬性.其界面如圖4.14:圖4.14修改密碼在這個(gè)模塊中,用戶可以進(jìn)行自己密碼的修改,確保用戶信息和安全性。其部分設(shè)計(jì)代碼如下:Private Sub Command1_Click()If Text1.Text = Then MsgBox 請?zhí)顚懹脩裘? vbOKOnly + vbInformation, 注意 Text1.SetFocus Exit Sub ElseIf Text2.Text = Then MsgBox 請?zhí)顚懺艽a!, vbOKOnly + vbInformation, 注意 Text2.SetFocus Ex

56、it Sub ElseIf Text3.Text = Then MsgBox 請?zhí)顚懶旅艽a!, vbOKOnly + vbInformation, 注意 Text3.SetFocus Exit Sub ElseIf Text4.Text = Then MsgBox 請?zhí)顚懶旅艽a!, vbOKOnly + vbInformation, 注意 Text4.SetFocus Exit Sub第五章 軟件測試第五章 軟件測試5.1 軟件測試的概念及其意義軟件測試是程序的一種執(zhí)行過程,目的是盡可能發(fā)現(xiàn)并改正被測試軟件中的錯(cuò)誤,提高軟件的可靠性。它是軟件生命周期中一項(xiàng)非常重要且非常復(fù)雜的工作,對軟件可靠性

57、保證具有極其重要的意義。在目前形式化方法和程序正確性證明技術(shù)還無望成為實(shí)用性方法的情況下,軟件測試在將來相當(dāng)一段時(shí)間內(nèi)仍然是軟件可靠性保證的有效方法。軟件工程的總目標(biāo)是充分利用有限的人力和物力資源,高效率、高質(zhì)量地完成軟件開發(fā)項(xiàng)目。不足的測試勢必使軟件帶著一些未揭露的隱藏錯(cuò)誤投入運(yùn)行,這將意味著更大的危險(xiǎn)讓用戶承擔(dān)。過度測試則會(huì)浪費(fèi)許多寶貴的資源。到測試后期,即使找到了錯(cuò)誤,然而付出了過高的代價(jià)。程序測試只能表明錯(cuò)誤的存在,而不能表明錯(cuò)誤不存在。可見,測試是為了使軟件中蘊(yùn)涵的缺陷低于某一特定值,使產(chǎn)出、投入比達(dá)到最大,出自文獻(xiàn)14。5.2 軟件測試的目標(biāo)測試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過

58、程;好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試方案;成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試。5.3 本系統(tǒng)進(jìn)行軟件測試的方法 由于已經(jīng)知道了本系統(tǒng)應(yīng)該具有的全部功能,所以我通過檢驗(yàn)是否每個(gè)功能都能正常使用的測試方法即黑盒測試法來完成對本系統(tǒng)的軟件測試工作。黑盒測試又稱為功能測試,他把程序看成一個(gè)黑盒子,完全不考慮程序內(nèi)部結(jié)構(gòu)和處理過程,他是在程序接口進(jìn)行的測試,它只檢查程序功能是否按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮茌斎霐?shù)據(jù)產(chǎn)生正確的輸出信息,并保持外部信息的完整性,出自文獻(xiàn)14。5.4 軟件測試的過程(1)對交易管理模塊進(jìn)行測試:在進(jìn)貨登記窗體中,發(fā)現(xiàn)對于進(jìn)貨

59、編號系統(tǒng)需要對其進(jìn)行唯一設(shè)定,即入庫登記時(shí)進(jìn)貨編號應(yīng)是buy(進(jìn)貨表)表中所沒有的。所以需要先屏蔽掉該處的非法操作。具體做法是:在窗體級變量中定義一個(gè)變量rs_buy,作為對buy(進(jìn)貨表)表的記錄集。讓記錄集連接到一個(gè)指定進(jìn)貨編號為進(jìn)貨登記窗體中文本框text2的text屬性的值的進(jìn)貨表記錄中,如果該記錄的編號與正在添加的進(jìn)貨信息中的進(jìn)貨編號一致,則提示用戶該編號已無法使用。如圖5.1所示: 圖5.1提示框其實(shí)現(xiàn)主要代碼如下所示:Dim rs_buy As New ADODB.Recordset 定義連接buy表的記錄集Dim str_buy As String 定義連接SQL的連接字符串P

60、rivate Sub Command1_Click() 單擊商品入庫按鈕事件str_buy = select * from buy where 進(jìn)貨編號= & Text1.Text & rs_buy.Open str_buy, cnn, adOpenStatic, adLockOptimistic If rs_buy.EOF = True Thenrs_buy.AddNewrs_buy.Fields(進(jìn)貨編號) = Text1.Text將進(jìn)貨信息添加到buy(進(jìn)貨表)表中rs_buy.Updaters_buy.Close 關(guān)閉進(jìn)貨表ElseMsgBox 此進(jìn)貨編號已存在,請重添!,vbOKOn

溫馨提示

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

評論

0/150

提交評論