畢業(yè)論文-庫存管理_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p>  前言 ···························

2、····························· 2

3、 </p><p>  摘要 ·······························

4、83;························ 2 </p><p>  概述&#

5、160; ···································

6、;······ 3</p><p>  開發(fā)背景 ·························&#

7、183;·········· 4 </p><p>  系統(tǒng)分析····················

8、················· 4</p><p>  系統(tǒng)設計··············

9、3;······················ 6</p><p>  系統(tǒng)實施·········&#

10、183;··························· 13</p><p>  系統(tǒng)使用說明···

11、3;···························· 24</p><p>  附錄 參考文獻 ··&

12、#183;································ 25</p><p&g

13、t;<b>  前言</b></p><p>  倉庫庫存管理系統(tǒng)是一個企業(yè)不可缺少的部分,它的內(nèi)容對于企業(yè)的決策者和管理者來說都至關重要,所以倉庫庫存管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理倉庫中的各種物資設備,這種管理方式存在著許多缺點,如:效率低、另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。</

14、p><p>  隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。</p><p>  作為計算機應用的一部分,使用計算機對物資信息進行管理,具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高人事勞資管理的效率,也是企業(yè)的科學化、正規(guī)化管理,

15、與世界接軌的重要條件。</p><p>  因此,開發(fā)這樣一套庫存管理軟件成為很有必要的事情。</p><p><b>  摘 要</b></p><p>  庫存管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強.數(shù)據(jù)安全性好的庫。而對于后者則要求

16、應用程序功能完備,易使用等特點。</p><p>  經(jīng)過分析如此情況,我們使用微軟公司的VisualBasic開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是ADO,是能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,短期內(nèi)就可以開發(fā)出用戶滿意的可行系統(tǒng)。</p><p>  關鍵字:庫存管理 ADO面相對象庫存ABC分析</p><p><b>

17、;  Abstract</b></p><p>  Stockpile manage system is a typical MIS.It’s development mostly include the foundation and maintenance of the database and the development of the client application programme.

18、For the former we must eatablish a better database,which has well data consistency and data security.For the latter we must make the programme has self-contained function and easy to be use.</p><p>  By anal

19、ysing the situation,we use the VB of the Microsoft company as client tool,and use some of the tools of opp, especially ADO object,which can easily conveniently manipulate the database.We use it can develop a satisfactory

20、 system in short time </p><p>  Key:Stockpile manage ADOOPP The analysis of Stockpile</p><p><b>  第一章 概述</b></p><p>  1.1 庫存管理的必要性</p><p>  大多數(shù)庫存管理理論認為,庫存

21、是物理上和邏輯上庫房庫位的所有有形和無形物料極其價值的總和,具體包括成品、原材料、在制品、在途品、生產(chǎn)前物料、備品備件等。雖然持有一些庫存是必要的,過量的庫存卻非但沒有用處而且占用了資金。占用的資金對于公司發(fā)展、新產(chǎn)品開發(fā)等都是非常需要的;減少資金占用還可以大大減少來自銀行貸款的利息和風險。對那些采購量特別大、采購件市場價格有波動的物料庫存,加強庫存管理效果更為明顯。因此,平衡公司庫存投資與其它資金需求至關重要。</p>

22、<p><b>  1.2 庫存分類</b></p><p>  企業(yè)怎樣管理庫存,是庫存管理的最大難點和挑戰(zhàn)。因此,通過MRPII物料主計劃模塊和采購模塊建立計劃與控制系統(tǒng)以有效地實施庫存管理和采購補償成為題中應有之義。通過調(diào)查,我們得知任何庫存均可分為如下三類:</p><p> ?。令愇锲罚焊咧旦ぉr值占庫存總值70-80%的相對少數(shù)物品。通常為物品的

23、15-20%。</p><p> ?。骂愇锲罚褐兄旦ぉた傊嫡紟齑婵傊档模保?20%。物品數(shù)居中,通常占物品的30-40%。</p><p>  C類物品:低值──庫存總值幾乎可以忽略不計,只占5-10%。是物品的大多數(shù),通常占60-70%。</p><p>  顯然,A類物品是關鍵;如果我們把精力集中于A類物品,使其庫存壓縮10-50%,就是總庫存的相當可觀的一筆壓

24、縮。</p><p>  關于ABC分類方法有幾條基本法則:</p><p><b>  a. 控制的程度:</b></p><p>  對A類物品嚴加控制,包括做完備、準確的記錄,高層監(jiān)督和經(jīng)常評審,從供應商按大合同訂單頻繁交貨,對車間緊密跟蹤以壓縮提前期。</p><p>  對B類物品做正??刂疲己玫挠涗浥c常

25、規(guī)的關注。</p><p>  對C類物品盡可能使用簡便的控制,諸如定期目視檢查庫存實物、簡要記錄或以簡便標志法表明補充存貨已經(jīng)訂貨,采用大庫存量與訂貨量以避免缺貨,安排車間日程計劃時給以低優(yōu)先級。</p><p><b>  b.優(yōu)先級</b></p><p>  在一切活動中給A類物品以高優(yōu)先級以壓縮其提前期與庫存。</p>

26、<p>  對B類物品予以正常處理,僅在關鍵時給以高優(yōu)先級。 </p><p>  予C類物品以最低優(yōu)先級。</p><p><b>  c.訂貨過程</b></p><p>  對A類物品提供及時、準確的采購信息和狀態(tài)查詢。計算機數(shù)據(jù)需要人工加以核對,進行階段性盤點,以及頻繁的評審以壓縮庫存。</p><p>

27、;  對B類物品,按一定周期或當發(fā)生重大變化時評審一次庫存數(shù)據(jù)和訂貨點,MRPII操作按例行公事處理。</p><p>  對C類物品可以盤點處理或訂貨點計算。訂貨往往不用MRPII作計劃??梢詰{業(yè)務人員的經(jīng)驗加以控制。</p><p>  由上可以看出庫存管理的重要性。因此,庫存管理是企業(yè)管理的重要組成部分。市場需要庫存商品提供給用戶,企業(yè)的經(jīng)營需要庫存保證各種藥品的供應以進行藥品的銷售

28、,庫存對生產(chǎn)效率的提高有著極其重要的影響。因此,庫存管理系統(tǒng)是計算機管理系統(tǒng)的中心。因為,所有企業(yè)的經(jīng)營活動都離不開物流的活動。</p><p>  1.3 庫存管理的目標</p><p>  庫存管理的主要目標就是通過對倉庫所有入出庫活動的管理和控制及對庫存數(shù)據(jù)有效的統(tǒng)計和分析,以保證企業(yè)生產(chǎn)中暢通的物流,使決策人員及早發(fā)現(xiàn)問題,采取相應措施,調(diào)整庫存結構,縮短儲備周期,加速資

29、金周轉(zhuǎn),最大限度地降低庫存占用,同時,通過周期性的倉庫盤點,及時補救管理中的漏洞,使庫存管理系統(tǒng)實時地反映企業(yè)中各個倉庫的現(xiàn)時情況,為各類管理人員從不同側(cè)面提供所需信息,以便協(xié)調(diào)企業(yè)經(jīng)營收到更大效益,庫存管理系統(tǒng)是協(xié)調(diào)企業(yè)生產(chǎn)經(jīng)營的基礎,其數(shù)據(jù)的準確性、方便的查詢、有效的分析是整個計算機管理系統(tǒng)順利運行的關鍵。</p><p><b>  第二章 開發(fā)背景</b></p>&l

30、t;p>  企業(yè)的庫存物資管理往往是很復雜、很繁瑣的。由于所掌握的物資種類眾多,訂貨、管理、發(fā)放的渠道各有差異,各個企業(yè)之間的管理體制不盡相同,各類統(tǒng)計報表繁多,因此倉庫的庫存管理必須編制一套庫存管理信息系統(tǒng),實現(xiàn)計算機化操作,而且必須根據(jù)企業(yè)的具體情況制定相應的方案。</p><p>  根據(jù)當前的企業(yè)管理體制,一般的庫存管理系統(tǒng),總是根據(jù)所掌握的物資類別,相應分成幾個科室來進行物資的計劃,訂貨,核銷托收

31、,驗收入庫,根據(jù)企業(yè)各個部門的需求來發(fā)送物資設備,并隨時按期進行庫存盤點,作臺帳,根據(jù)企業(yè)領導和自身管理的需要按月、季度、年度進行統(tǒng)計分析,產(chǎn)生相應報表。為了加強關鍵物資、設備的管理,要定期掌握其儲備,消耗情況,根據(jù)計劃定額和實際纖毫定額的比較,進行定額管理,使得資金使用合理,物資設備的儲備最佳。</p><p>  一個完整的企業(yè)物資供應管理系統(tǒng)應包括采購計劃管理,合同收托管理、倉庫庫存管理、定額管理、統(tǒng)計管理

32、、財務管理等模塊。其中倉庫的庫存管理是整個物資供應管理系統(tǒng)的核心。因此有必要開發(fā)一套獨立的庫存管理系統(tǒng)來提高企業(yè)工作效率, 而所使用的這套庫存管理系統(tǒng)是企業(yè)生產(chǎn)經(jīng)營管理活動中的核心,此系統(tǒng)必須可以用來控制合理的庫存費用、適時適量的庫存數(shù)量,使企業(yè)生產(chǎn)活動效率最大化。通過對這些情況的仔細調(diào)查,我開發(fā)了下面的倉庫庫存管理系統(tǒng)。</p><p><b>  第三章 系統(tǒng)分析</b></p&g

33、t;<p>  本系統(tǒng)采用了結構化生命周期法,結構化生命周期法是最常用的管理信息系統(tǒng)開發(fā)方法,分為四個步驟,即系統(tǒng)調(diào)研分析、數(shù)據(jù)庫設計實現(xiàn)、界面設計實現(xiàn)和系統(tǒng)功能設計實現(xiàn)。其中系統(tǒng)調(diào)研分析階段是最基礎、也是最容易被開發(fā)人員忽視的環(huán)節(jié)。</p><p><b>  3.1進行資料收集</b></p><p>  在整個系統(tǒng)分析階段,我在圖書館認真查看了很多

34、關于倉庫庫存管理方面的書籍,收集到了相應的入庫單、領料單、臺賬、物料卡、報表等資料,這些資料可以用作數(shù)據(jù)庫設計的依據(jù),具體如下:</p><p>  入庫單是入庫單位在把相應的零部件送人倉庫時必須填寫的單據(jù);領料單是領料人員從倉庫中領取零部件時必須填寫的單據(jù)(即出庫);零部件臺賬(相當于本系統(tǒng)中的操作日志)實際是一個流水賬,用于記錄每天發(fā)生的入庫、出庫信息;物料卡(在本系統(tǒng)中用現(xiàn)有庫存信息來表示)的作用是記錄某

35、一種零部件的數(shù)量變化,以便庫管員盤查;報表是倉庫向有關領導和部門定期提交的零部件庫存匯總信息。收集到的入庫單、領料單、零部件庫存臺賬、零部件物料卡等單據(jù)和報表的實物樣式在此略去,有興趣者請參考有關類似企業(yè)的樣本即可。</p><p>  3.2繪制業(yè)務流程圖</p><p>  在某公司的調(diào)研過程中,已了解到所涉及的業(yè)務主要是入庫和出庫,圖3.1是系統(tǒng)入庫、出庫業(yè)務流程圖。</p&g

36、t;<p>  不合格 領料</p><p><b>  入 合</b></p><p><b>  庫 格</b></p><p>  圖3.1庫存管理系統(tǒng)業(yè)務流程圖</p><p><b>  業(yè)務流程圖說明</b></p>

37、<p>  外部環(huán)境 處理過程 決策過程</p><p>  數(shù)據(jù)存檔 數(shù)據(jù)流向</p><p>  圖3.2業(yè)務流程圖符號說明</p><p>  3.3用戶需求分析     用戶需求分析就是在用戶需求調(diào)研的基礎上,確

38、定系統(tǒng)的總體結構方案,完成相應的需求分析報告。在確定系統(tǒng)的總體結構方案過程中,包括確定應用程序的結構、系統(tǒng)開發(fā)環(huán)境和系統(tǒng)的功能模塊。用戶需求調(diào)研結束之后,應該立即進行用戶需求分析。</p><p>  3.3.1應用程序結構確定     從用戶應用角度來看,可把應用程序系統(tǒng)的組成部分分成數(shù)據(jù)存儲層、業(yè)務處理層和界面表示層等3個層次,而應用程序結構可歸納為:集中式應用程序結

39、構、單用戶應用程序結構、多層服務器應用程序結構、瀏覽器/服務器應用程序結構、客戶機/服務器應用程序結構等5種類型。    本庫存管理系統(tǒng)就采用了當前最流行的客戶機/服務器應用程序結構(即C/S結構),此時,客戶機提出請求,服務器對客戶機的請求作出回應。通過對服務功能的分布實現(xiàn)了分工服務。數(shù)據(jù)存儲層放在服務器上,業(yè)務處理層和界面表示層放在客戶機上,因此又被稱為“靈敏的客戶機”結構。許多操作可以在本

40、地的客戶機上執(zhí)行,只是當需要數(shù)據(jù)時,才向服務器發(fā)出請求。并使應用程序的處理更接近用戶,使整個系統(tǒng)具有較好的性能,可以并行地處理應用程序的請求、減少了數(shù)據(jù)傳輸量、降低了服務器的負荷。由于條件所限,將此系統(tǒng)所有程序都置于一臺計算機上,以便調(diào)試運行。    3.3.2確定系統(tǒng)開發(fā)環(huán)境    由于大多數(shù)公司內(nèi)部使用的計算機平臺都是基于Windows環(huán)境的。為了

41、降低系統(tǒng)成本,應最大程度地利用現(xiàn)有的資源、兼容現(xiàn)有的環(huán)境,可確定使</p><p><b>  第四章 系統(tǒng)設計</b></p><p><b>  1總體設計</b></p><p>  4.1.1系統(tǒng)目標設計</p><p>  系統(tǒng)開發(fā)的總體任務是實現(xiàn)企業(yè)物資設備管理的系統(tǒng)化、規(guī)范化和自動化,

42、從而達到企業(yè)倉庫庫存管理效率的目的。</p><p>  4.1.2開發(fā)設計思想</p><p>  庫存管理的物資主要是企業(yè)生產(chǎn)中所需要的各種設備、原材料及零部件。進貨時經(jīng)檢查合同確認為有效托收后,進行驗收入庫,填寫入庫單,進行入庫登記。企業(yè)各個部門根據(jù)所需要的物資設備總額和部門生產(chǎn)活動需要提出物資需求申請。計劃員根據(jù)整個企業(yè)的需求開出物資設備出庫單,倉庫管理員根據(jù)出庫單核對發(fā)放設備、原

43、材料及零部件。有些設備使用完畢需要及時歸還入庫,填寫還庫單。根據(jù)需要按照月、季、年進行統(tǒng)計分析,產(chǎn)生相應報表。</p><p>  倉庫庫存管理的特點是信息處理量比較大。所管理的物資設備、原材料及零部件種類繁多,而且由于入庫單、出庫單、需求單等單據(jù)發(fā)生量特別大,關聯(lián)信息多,查詢和統(tǒng)計的方式各不相同,因此在管理上實現(xiàn)起來有一定的困難。在管理的過程中經(jīng)常會出現(xiàn)信息的重復傳遞;單據(jù)、報表種類繁多,各個部門規(guī)格不統(tǒng)等問題

44、。</p><p>  在本系統(tǒng)的設計過程中,為了克服這些困難,滿足計算機管理的需要,我們采取了下面的一些原則:</p><p>  統(tǒng)一各種原始單據(jù)的格式,統(tǒng)一帳目和報表的格式。</p><p>  刪除不必要的管理冗余,實現(xiàn)管理規(guī)范化、科學化。</p><p>  程序代碼標準化,軟件統(tǒng)一化,確保軟件的可維護性和實用性。</p>

45、;<p>  界面盡量簡單化,做到實用、方便,盡量滿足企業(yè)中不同層次員工的需要。</p><p>  建立操作日志,系統(tǒng)自動記錄所進行的各種操作。</p><p>  4.1.3系統(tǒng)功能分析</p><p>  本系統(tǒng)需要完成的功能主要有以下幾點。</p><p>  庫存管理的各種信息的輸入,包括入庫、出庫、還庫、需求信息的輸

46、入等。</p><p>  庫存管理的各種信息的查詢、修改和維護。</p><p>  設備采購報表的生成。</p><p>  在材料庫存中加入所允許的最大庫存合最小庫存字段,對所有庫存物資實現(xiàn)監(jiān)控和報警。</p><p>  企業(yè)各個部門的物資需求管理。</p><p><b>  操作日志的管理<

47、/b></p><p>  庫存管理系統(tǒng)的使用幫助。</p><p><b>  4.2詳細設計</b></p><p>  4.2.1 系統(tǒng)功能模塊設計</p><p>  在系統(tǒng)功能分析的基礎上,考慮VB和Access的特點,設計出如圖4.1所示的系統(tǒng)功能模塊圖。

48、 </p><p>  圖4.1 系統(tǒng)功能模塊圖</p><p><b>  系統(tǒng)模塊</b></p><p>  包括報表的打印及設置,操作日志的管理。</p><p>  管理員可以通過管理界面添加或刪除用戶,添加新管理員或刪除原有管理員,驗證用戶的合法性,阻止非法用戶登錄。&

49、lt;/p><p>  管理員或其他用戶可以修改自己的密碼。</p><p><b>  入庫模塊</b></p><p>  包括填寫入庫單,更新,刪除入庫記錄,查看現(xiàn)有庫存信息,入庫記錄的查詢及打印</p><p><b>  出庫模塊</b></p><p>  包括填

50、寫出庫單,更新,刪除出庫記錄,查看現(xiàn)有庫存信息,出庫記錄的查詢及打印</p><p><b>  還庫模塊</b></p><p>  包括填寫還庫單,更新,刪除還庫記錄,還庫記錄的查詢及打印</p><p><b>  需求模塊</b></p><p>  包括填寫需求計劃表,更新,刪除采購計

51、劃信息,查看現(xiàn)有采購信息,采購信息的查詢及打印,以及預測短期內(nèi)的需求計劃。</p><p>  圖4.2 庫存管理HIPO圖</p><p>  4.2.2數(shù)據(jù)庫設計</p><p><b>  數(shù)據(jù)庫需求分析</b></p><p>  在仔細調(diào)查企業(yè)庫存物資材料管理過程的基礎上,設計出本系統(tǒng)所處理的數(shù)據(jù)流程圖(圖4.

52、2)</p><p>  圖4.3 庫存系統(tǒng)數(shù)據(jù)流程圖</p><p>  通過對企業(yè)倉庫管理內(nèi)容和數(shù)據(jù)流程分析,設計的數(shù)據(jù)項合數(shù)據(jù)結構如下:</p><p>  設備代碼信息。包括的數(shù)據(jù)項有設備號、設備名稱。</p><p>  現(xiàn)有庫存信息。包括的數(shù)據(jù)項有現(xiàn)有設備、現(xiàn)有數(shù)目、最大庫存、最小庫存等。</p><p>

53、  設備使用信息。包括的數(shù)據(jù)項有使用的設備、使用部門。數(shù)目。使用時間、出庫時狀態(tài)等。</p><p>  設備采購信息。包括的數(shù)據(jù)項有采購的設備、采購員、供應商、采購數(shù)目、采購時間等。</p><p>  設備歸還信息。包括的數(shù)據(jù)項有歸還設備、歸還部門、歸還數(shù)目、歸還時間、經(jīng)手人等。</p><p>  設備需求信息。包括的數(shù)據(jù)項有需求的部門、需求設備、需求數(shù)目、需

54、求時間等。</p><p>  有了上面的數(shù)據(jù)結構、數(shù)據(jù)項和數(shù)據(jù)流程,就可以進行下面的數(shù)據(jù)庫設計。</p><p><b>  數(shù)據(jù)庫概念結構設計</b></p><p>  這一設計階段是在需求分析的基礎上,設計出能夠滿足用戶需求的各種實體,以及它們之間的關系,為后面的邏輯結構設計打下基礎。根據(jù)上面的設計規(guī)劃出的實體有庫存實體、出庫實體、入庫

55、實體、采購實體、還庫實體、需求實體。各個實體的E-R圖及其關系描述如下:</p><p>  圖4.4 庫存實體E-R圖</p><p>  圖4.5 入庫實體E-R圖</p><p>  圖4.6 出庫實體E-R圖</p><p>  圖4.7 部門需求實體E-R圖</p><p>  圖4.8 庫存實體E-R圖&l

56、t;/p><p>  圖4.9 計劃采購實體E-R圖</p><p>  實體與實體間的關系E-R圖如下所示:</p><p>  圖4.10實體之間關系E-R圖</p><p><b>  數(shù)據(jù)庫邏輯結構設計</b></p><p>  在上面的實體以及實體之間關系的基礎上,形成各個表格之間的關系。

57、</p><p>  庫存管理系統(tǒng)數(shù)據(jù)庫中的各個表的設計結果如下面的幾個表格所示,,每個表格表示數(shù)據(jù)庫中的一個表。</p><p>  表 4.1 設備代碼表</p><p><b>  表 4.2 權限表</b></p><p>  表 4.3 設備入庫表</p><p>  表 4.4 設備出

58、庫表</p><p>  表 4.5 現(xiàn)有庫存庫表</p><p>  表 4.6 部門需求表</p><p>  表 4.7 設備還庫表</p><p>  表 4.8 操作日志表</p><p>  表 4.9 設備采購計劃表</p><p><b>  4.3 代碼設計</

59、b></p><p>  任何庫存均可分為如下三類:</p><p> ?。令愇锲罚焊咧旦ぉr值占庫存總值70-80%的相對少數(shù)物品。通常為物品的15-20%。</p><p> ?。骂愇锲罚褐兄旦ぉた傊嫡紟齑婵傊档模保?20%。物品數(shù)居中,通常占物品的30-40%。</p><p> ?。妙愇锲罚旱椭旦ぉ齑婵傊祹缀蹩梢院雎圆挥?,只占

60、5-10%。是物品的大多數(shù),通常占60-70%。</p><p><b>  因此設計編碼如下:</b></p><p>  設備號或零件號 × × × × × × </p><p><b>  自定義</b></p><

61、p><b>  自定義</b></p><p><b>  自定義</b></p><p>  例如設備號或零件號 A 0 1 0 2 </p><p><b>  A類</b></p><p><b>  消耗性物資</b>&

62、lt;/p><p><b>  常用零件</b></p><p>  4.4 輸入輸出設計</p><p>  本系統(tǒng)界面標準Windows形式,鍵盤輸入(也可以用條形碼讀取),人機交互,容易使用。輸入輸出的設計考慮美觀實用和通俗易懂,圖文并茂。</p><p>  4.5系統(tǒng)安全性設計</p><p&g

63、t;  系統(tǒng)數(shù)據(jù)庫中包含多個二維表,所以在系統(tǒng)與數(shù)據(jù)庫的連接上,并沒有把數(shù)據(jù)庫和系統(tǒng)的連接直接寫入代碼,而是通過對服務器端進行系統(tǒng)設置,使數(shù)據(jù)庫名及路徑不可見,并通過ACCESS的數(shù)據(jù)庫安全設置,保證了數(shù)據(jù)庫的安全性。系統(tǒng)根據(jù)用戶身份不同賦予不同權限,用戶用密碼登陸,同樣也保證了系統(tǒng)數(shù)據(jù)的安全性。</p><p><b>  第五章 系統(tǒng)實施</b></p><p>

64、  5.1、開發(fā)工具簡介</p><p>  本系統(tǒng)的前端開發(fā)工具,我選擇了Visual Basic6.0,后臺數(shù)據(jù)庫采用Access2000。</p><p>  5.1.1 VB簡介 </p><p>  Visual意為“可視化的”,指的是一種開發(fā)圖形用戶界面的方法,所以Visual Basic是基于Basic的可視化的程序設計語言。在Visual Basic

65、中,一方面繼承了Basic所具有的程序設計語言簡單易用的特點,另一方面在其編程系統(tǒng)中采用了面向?qū)ο?、事件?qū)動的編程機制,用一種巧妙的方法把Windows的編程復雜性封裝起來,提供了一種所見即所得的可視化程序設計方法。 </p><p>  5.1.2 VB功能特點 </p><p>  具有面向?qū)ο蟮目梢暬O計工具 </p><p>  在VB中,應用面向?qū)ο蟮某绦?/p>

66、設計方法(OOP),把程序和數(shù)據(jù)封裝起來視為一 個對象,每個對象都是可視的。程序員在設計時只需用現(xiàn)有工具根據(jù)界面設計要求,直接在屏幕上“畫”出窗口、菜單、按鈕、滾動條等不同類型的對象,并為每個對象設置屬性。程序員的編程工作僅限于編寫相關對象要完成的功能程序,因而程序設計的效率可大大提高。 </p><p>  事件驅(qū)動的編程機制 </p><p>  事件驅(qū)動是非常適合圖形用戶界面的編程

67、方式。在圖形用戶界面的應用程序中,是由用戶的動作即事件掌握著程序運行的流向,每個事件都能驅(qū)動一段程序的運行。程序員只要編寫響應用戶動作的代碼,而各個動作之間不一定有聯(lián)系。 </p><p>  提供了易學易用的應用程序集成開發(fā)環(huán)境 </p><p>  在VB集成開發(fā)環(huán)境中,用戶可設計界面、編寫代碼、調(diào)試程序,直至把應用程序編譯成可執(zhí)行文件在Windows中運行,使用戶在友好的開發(fā)環(huán)境中工

68、作。 </p><p>  結構化的程序設計語言 </p><p>  VB具有豐富的數(shù)據(jù)類型和結構化程序結構,作為一種程序設計語言,它還有如下一些特點: </p><p>  強大的數(shù)值和字符串處理功能 </p><p>  豐富的圖形指令,可方便地繪制各種圖形 </p><p>  提供靜態(tài)和動態(tài)數(shù)組,有利于簡化內(nèi)

69、存的管理 </p><p>  過程可遞歸調(diào)用,使程序更為簡練 </p><p>  支持隨機文件和順序文件的訪問 </p><p>  提供了一個可供應用程序調(diào)用的包含多種類型的圖標庫 </p><p>  具有完善的運行出錯處理 </p><p>  支持多種數(shù)據(jù)庫系統(tǒng)的訪問 </p><p&g

70、t;  利用數(shù)據(jù)控件可訪問的數(shù)據(jù)庫系統(tǒng)有:Microsoft Access、Btrieve、DBASE、Microsfot FoxPro和Paradox等,也可以訪問Microsoft Excel、Lotus1-2-3等多種電子表格。 </p><p>  支持動態(tài)數(shù)據(jù)交換(DDE)、動態(tài)鏈接庫(DLL)和對象的鏈接與嵌入(OLE)技術 </p><p>  完備的HELP聯(lián)機幫助功能 &

71、lt;/p><p>  與Windows環(huán)境下的軟件一樣,在VB中,利用幫助菜單和F1功能鍵,用戶可以隨時方便地得到所需要的幫助信息。VB幫助窗口中顯示了有關的示例代碼,通過復制、粘貼操作可獲取大量的示例代碼,為用戶的學習和使用提供了極大的方便。 </p><p>  VB程序設計的概念就是面向?qū)ο蟮母拍?,對象就是?shù)據(jù)(DATA)和代碼(CODE)互相結合的綜合體。Windows上面的每一個圖

72、標,包括窗口本身都是對象,如果沒有任何事情發(fā)生,對象處于停頓狀態(tài)。當存在外來事件時,程序段執(zhí)行,它的執(zhí) 行是由外來事件決定的。因此是“事件”驅(qū)動的。 </p><p>  編寫VB程序較為簡單,首先將各個對象放在空白窗體上,然后將程序代碼分別添加給對象或圖標,將它們組合起來就可以隨意運行了。 </p><p>  在VB中,窗體實際上是一個對象,VB的窗體含有許多內(nèi)嵌特性,

73、這使得用戶界面部分的建立像是從一個目錄中挑選一個個合適的控件,而不是從零開始一步一步地建立控件。這種開發(fā)者能親眼看到的程序設計過程就是“可視化程序設計”(Visual Programming) </p><p>  5.1.3 VB中的基本概念</p><p>  對象:面向?qū)ο缶幊蹋∣OP)的提法大家一定也很耳熟,雖然Visual Basic并不是完全的面向?qū)ο缶幊蹋怖昧藢ο缶幊?/p>

74、技術。對象簡單地說就是大家經(jīng)??吹降母鞣N窗口、按鈕、文本框甚至打印機等?! 傩裕喝缤娨曈泻诎住⒉噬忠粯?,作為對象的Windows中的窗口也是有大有小,文本框的位置不可能完全一樣,菜單要顯示出不同的功能,這些都是由對象的屬性決定的。不同對象的屬性可能不同。屬性一般決定了對象的位置、大小、顯示等情況。  方法:就是對象能夠做的事,如打印機對象就有打?。≒rint)方法、窗口對象支持隱藏(Hide)方法、很多對象支持移動(Move

75、)方法等。  事件:就是對象對用戶各種操作的反映情況。如用戶用鼠標按一下按鈕,就會觸發(fā)按鈕的“按”(Click)事件。  控件:控件就是Visual Basic提供的編程用的模塊,與對象有直接的聯(lián)系,如同積木的木塊,使用這樣的控件,就可以像拼圖或堆積木一樣“搭”、“拼”你的程序界面。Visual Basic中使用控件,簡化了Windows中的窗口、按鈕等對象的編程設計。每個控件都有各自的屬性、事件及方法。只需修改這些特征你就可以&l

76、t;/p><p>  5.1.4 Access2000數(shù)據(jù)庫簡介</p><p>  作為Microsoft的office套件產(chǎn)品之一,access已經(jīng)成為世界上最流行的桌面數(shù)據(jù)庫系統(tǒng)。Access與許多優(yōu)秀的關系數(shù)據(jù)庫一樣,可以讓你很容易地連接相關的信息而且還對其他的數(shù)據(jù)庫系統(tǒng)有所補充。它能操作其它來源的資料,包括許多流行的PC數(shù)據(jù)庫程序(如dBASE,Paradox,Microsoft F

77、oxPro)和服務器、小型機及大型機上的許多SQL數(shù)據(jù)庫。Access還完全支持Microsoft的OLE技術。</p><p>  Access還提供windows操作系統(tǒng)的高級應用程序開發(fā)系統(tǒng)。Access與其它數(shù)據(jù)庫開發(fā)系統(tǒng)之間相當顯著的區(qū)別就是:您不用寫一行代碼,就可以在很短的時間里開發(fā)出一個功能強大而且相當專業(yè)的數(shù)據(jù)庫應用程序,并且這一愉快的過程是完全可視的!如果您能給它加上簡短的VBA代碼,那么您的程

78、序決不比專業(yè)程序員潛心開發(fā)的程序差。</p><p>  Access的總體結構</p><p>  Access將所有有名字的東西都成為對象(object),在Access 2000中,最重要的對象有表,查詢,窗體,報表,宏和模塊。</p><p>  表 用戶定義的存儲資料的對象。每一個表都包含有關某個主體的信息。表包括存儲不同種類資料的字段(列),而記錄(行)

79、則收集特定主體實例的所有信息。</p><p>  查詢 為來自一個或多個表的資料提供定制視圖的對象。在Access中,可以利用圖形化的實例查詢機制(QBE)或通過SQL語句來建立查詢。你可以在查詢中選擇、更新、插入或刪除資料,也可以用查詢來建立新表。</p><p>  窗體 窗體是主要的人機接口。大量的操作(幾乎所有)都要通過窗體完成。窗體通過運行宏(macro)或Visual Bas

80、ic for Applicatinns(VBA)過程,來響應大量的事件。Access 2000為我們提供了強大的(同時也是相當方便的向?qū)В﹣斫藴实腤indows窗體。</p><p>  報表 為格式化、計算、打印選定資料而設計的對象。它是衡量一個優(yōu)秀的數(shù)據(jù)庫的重要標準(有時甚至是唯一的標準)。</p><p>  宏 為了響應已定義的事件,需要讓Access去執(zhí)行一個或多個操作,而宏

81、就是對這些操作的結構化的定義對象。它可以讓你像堆積木一樣建立一個功能強大的程序,而無須寫大量的代碼。</p><p>  模塊 包括用VBA編碼的定制過程的一個對象。模塊提供了獨立的動作流以捕獲錯誤,而宏做不到。模塊能直接響應窗體或報表事件,也可以從應用程序的任何地方被調(diào)用。</p><p>  5.1.5 本系統(tǒng)中VB與Access2000的連接</p><p>

82、  Microsoft.Jet.OLEDB.4.0</p><p><b>  5.2 系統(tǒng)實現(xiàn)</b></p><p>  5.2.1.系統(tǒng)管理模塊實現(xiàn)</p><p><b>  系統(tǒng)管理菜單 </b></p><p><b>  修改用戶密碼程序</b></p&g

83、t;<p>  Private Sub Command1_Click()</p><p>  Adodc1.RecordSource = frmLogin.Adodc1.RecordSource</p><p>  Adodc1.Refresh</p><p>  Set Text4.DataSource = Adodc1</p><

84、;p>  Text4.DataField = "密碼"</p><p>  If Text1 = "" Then</p><p>  MsgBox "請輸入原密碼!", , "修改密碼"</p><p><b>  Exit Sub</b></p>

85、<p>  ElseIf Text1.Text <> Adodc1.Recordset.Fields("密碼") Then</p><p>  MsgBox "原密碼錯誤!", , "修改密碼"</p><p><b>  Exit Sub</b></p><p&

86、gt;  ElseIf Text2 = "" Or Text3 = "" Then</p><p>  MsgBox "請輸入新密碼!!", , "修改密碼"</p><p><b>  Exit Sub</b></p><p>  ElseIf Text2 <

87、;> Text3 Then</p><p>  MsgBox "密碼不一致??!", , "修改密碼"</p><p><b>  Exit Sub</b></p><p><b>  Else</b></p><p>  Text4.Text = Tex

88、t2.Text</p><p>  Adodc1.Recordset.MoveFirst</p><p>  MsgBox "密碼修改成功??!", , "修改密碼"</p><p><b>  Unload Me</b></p><p><b>  End If</

89、b></p><p><b>  End Sub</b></p><p>  5.2.2 用戶管理界面(程序略)</p><p>  5..2.3入庫模塊的實現(xiàn)</p><p>  Private Sub Command1_Click( ) 設備入庫程序</p><p>  Dim I, J

90、 As Integer</p><p>  Dim STR As String</p><p>  If Text1.Text = "" Or Text2 = "" Or Combo1.Text = "" Or Text4 = "" Or Text5 = "" Or Text6 = &quo

91、t;" Or Text7 = "" Then</p><p>  MsgBox "請輸入完整信息!"</p><p><b>  Exit Sub</b></p><p>  Else 將記錄存入入庫記錄表</p><p>  設備入庫表.datPrimaryRS.Rec

92、ordset.Fields("設備號") = Text1.Text</p><p>  設備入庫表.datPrimaryRS.Recordset.Fields("入庫數(shù)量") = Text2.Text</p><p>  設備入庫表.datPrimaryRS.Recordset.Fields("入庫時間") = Combo1.Te

93、xt</p><p>  設備入庫表.datPrimaryRS.Recordset.Fields("供應商") = Text4.Text</p><p>  設備入庫表.datPrimaryRS.Recordset.Fields("供應商電話") = Text5.Text</p><p>  設備入庫表.datPrimaryR

94、S.Recordset.Fields("價格") = Text6.Text</p><p>  設備入庫表.datPrimaryRS.Recordset.Fields("采購員") = Text7.Text</p><p>  MsgBox "已經(jīng)成功入庫!"</p><p><b>  End

95、If</b></p><p>  設備入庫表.Adodc1.RecordSource = "select * from 現(xiàn)有庫存表 where 設備號='" & Text1.Text & "'"</p><p>  設備入庫表.Adodc1.Refresh</p><p>  設備入

96、庫表.DataGrid1.Refresh</p><p>  If 設備入庫表.Adodc1.Recordset.RecordCount > 0 Then</p><p>  將記錄加入現(xiàn)有庫存表中</p><p>  設備入庫表.Text9.Text = CInt(設備入庫表.Text9.Text) + CInt(Text2.Text)</p>

97、<p>  設備入庫表.Text9.Refresh</p><p>  J = 設備入庫表.Text9</p><p>  設備入庫表.Adodc1.Recordset.MoveFirst</p><p>  設備入庫表.Adodc1.Recordset.Fields.Refresh</p><p>  設備入庫表.DataGri

98、d1.Refresh</p><p>  MsgBox "現(xiàn)有庫存量為:" & J</p><p><b>  Else</b></p><p>  STR = "現(xiàn)有庫存表中無此設備!" & vbCrLf & "請在設備代碼表和現(xiàn)有庫存表中手動添加記錄?。?quot;&

99、lt;/p><p>  MsgBox STR</p><p>  Load frm現(xiàn)有庫存表</p><p>  frm現(xiàn)有庫存表.Show</p><p>  Call frm現(xiàn)有庫存表.Command1_Click</p><p>  FrmAddNewEqu.Text1.Text = frmInput.Text1.T

100、ext</p><p>  FrmAddNewEqu.Text2.Text = frmInput.Text2.Text</p><p>  Load frm設備代碼表</p><p>  frm設備代碼表.Show</p><p><b>  End If</b></p><p><b>

101、;  End Sub</b></p><p>  Private Sub cmdDelete_Click( ) 刪除入庫表中記錄</p><p>  On Error GoTo DeleteErr</p><p>  Dim YesNo As String</p><p>  YesNo = MsgBox("刪除&quo

102、t;, vbYesNo, "刪除記錄")</p><p>  If YesNo = vbYes Then</p><p>  With datPrimaryRS.Recordset</p><p><b>  .Delete</b></p><p><b>  .MoveNext</b

103、></p><p>  If .EOF Then .MoveLast</p><p><b>  End With</b></p><p><b>  Else</b></p><p><b>  Exit Sub</b></p><p><

104、b>  End If</b></p><p>  DeleteErr:</p><p>  MsgBox Err.Description</p><p><b>  End Sub</b></p><p>  Private Sub cmdUpdate_Click( ) 更新紀錄程序</p>

105、<p>  On Error GoTo UpdateErr</p><p>  datPrimaryRS.Recordset.UpdateBatch adAffectAll</p><p><b>  Exit Sub</b></p><p>  UpdateErr:</p><p>  MsgBox Er

106、r.Description</p><p><b>  End Sub</b></p><p>  5..2.4出庫模塊實現(xiàn)</p><p>  Private Sub Command1_Click( )設備出庫程序</p><p>  Dim i, J, k As Integer</p><p&g

107、t;  Dim STR As String</p><p>  frm設備出庫表.Adodc1.RecordSource = "select * from 現(xiàn)有庫存表 where 設備號='" & Text1.Text & "'"</p><p>  frm設備出庫表.Adodc1.Refresh</p>

108、<p>  frm設備出庫表.DataGrid1.Refresh</p><p>  If IsNumeric(Text2) = False Then</p><p>  MsgBox "數(shù)量必須是數(shù)字!"</p><p><b>  Exit Sub</b></p><p><b&

109、gt;  End If</b></p><p>  If Text1.Text = "" Or Text2 = "" Or Combo1.Text = "" Or Text4 = "" Or Text5 = "" Or Text6 = "" Or Text7 = "&quo

110、t; Then</p><p>  MsgBox "請輸入完整信息!"</p><p><b>  Exit Sub</b></p><p>  ElseIf frm設備出庫表.Adodc1.Recordset.RecordCount <= 0 Then</p><p>  STR = &quo

111、t;現(xiàn)有庫存表中無此設備!請檢查輸入是否正確?。?quot;</p><p>  MsgBox STR</p><p><b>  Exit Sub</b></p><p><b>  Else</b></p><p>  frm設備出庫表.datPrimaryRS.Recordset.Fields

112、("設備號") = Text1.Text</p><p>  frm設備出庫表.datPrimaryRS.Recordset.Fields("出庫數(shù)量") = Text2.Text</p><p>  frm設備出庫表.datPrimaryRS.Recordset.Fields("出庫時間") = Combo1.Text</

113、p><p>  frm設備出庫表.datPrimaryRS.Recordset.Fields("經(jīng)手人") = Text4.Text</p><p>  frm設備出庫表.datPrimaryRS.Recordset.Fields("領取人") = Text5.Text</p><p>  frm設備出庫表.datPrimaryR

114、S.Recordset.Fields("使用部門") = Text6.Text</p><p>  frm設備出庫表.datPrimaryRS.Recordset.Fields("用途") = Text7.Text</p><p>  MsgBox "已經(jīng)成功存入設備出庫表庫!"</p><p><b

115、>  End If</b></p><p>  If frm設備出庫表.Adodc1.Recordset.RecordCount > 0 Then</p><p>  k = CInt(frm設備出庫表.Text9.Text) - CInt(Text2.Text)</p><p>  If k >= 0 Then</p>

116、<p>  frm設備出庫表.Text9.Text = CInt(frm設備出庫表.Text9.Text) - CInt(Text2.Text)</p><p>  frm設備出庫表.Text9.Refresh</p><p>  J = frm設備出庫表.Text9</p><p>  frm設備出庫表.Adodc1.Recordset.MoveFirs

117、t</p><p>  frm設備出庫表.Adodc1.Recordset.Fields.Refresh</p><p>  frm設備出庫表.DataGrid1.Refresh</p><p>  MsgBox "現(xiàn)有庫存量為:" & J</p><p><b>  Else</b><

118、/p><p>  MsgBox "現(xiàn)有庫存量不足!請輸入合適數(shù)量??!"</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p><b>  Else</b></p><p>

119、  STR = "現(xiàn)有庫存表中無此設備!請檢查輸入是否正確?。?quot;</p><p>  MsgBox STR </p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub cmdDele

120、te_Click( )刪除出庫記錄</p><p>  On Error GoTo DeleteErr</p><p>  Dim YesNo As String</p><p>  YesNo = MsgBox("刪除", vbYesNo, "刪除記錄")</p><p>  If YesNo = v

121、bYes Then</p><p>  With datPrimaryRS.Recordset</p><p><b>  .Delete</b></p><p><b>  .MoveNext</b></p><p>  If .EOF Then .MoveLast</p><

122、p><b>  End With</b></p><p><b>  Else</b></p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  DeleteErr:</p>

123、;<p>  MsgBox Err.Description</p><p><b>  End Sub</b></p><p>  更新記錄程序同入庫的更新程序相同,在此略</p><p>  5.2.5設備采購模塊實現(xiàn),程序略</p><p>  5.2.6現(xiàn)有模塊實現(xiàn),程序略</p>&l

124、t;p>  5.2.7設備代碼模塊實現(xiàn)</p><p><b>  主要程序</b></p><p>  Private Sub cmdAdd_Click( ) 添加設備</p><p>  On Error GoTo AddErr</p><p>  datPrimaryRS.Recordset.AddNew&l

125、t;/p><p><b>  Exit Sub</b></p><p><b>  AddErr:</b></p><p>  MsgBox Err.Description</p><p><b>  End Sub</b></p><p>  5.2.8

126、庫存報警模塊實現(xiàn)</p><p><b>  主要程序</b></p><p>  Private Sub Command1_Click() 顯示高于最大警戒庫存的設備</p><p>  datPrimaryRS.RecordSource = "select * from 現(xiàn)有庫存表 where 現(xiàn)有庫存>最大庫存"

127、</p><p>  datPrimaryRS.Refresh</p><p>  grdDataGrid.Refresh</p><p>  If datPrimaryRS.Recordset.RecordCount > 0 Then</p><p><b>  Beep</b></p><p

128、>  MsgBox "表中設備已過量!"</p><p><b>  Else</b></p><p>  MsgBox "沒有設備庫存過量!"</p><p><b>  End If</b></p><p><b>  End Sub<

129、;/b></p><p>  Private Sub Command2_Click()顯示低于于最小警戒庫存的設備</p><p>  datPrimaryRS.RecordSource = "select * from 現(xiàn)有庫存表 where 現(xiàn)有庫存<最小庫存"</p><p>  datPrimaryRS.Refresh<

130、/p><p>  grdDataGrid.Refresh</p><p>  If datPrimaryRS.Recordset.RecordCount > 0 Then</p><p><b>  Beep</b></p><p>  MsgBox "表中設備庫存量已過警戒線!請采購!!"<

131、/p><p><b>  Else</b></p><p>  MsgBox "沒有設備庫存量過少!"</p><p><b>  End If</b></p><p><b>  End sub</b></p><p>  Privat

132、e Sub Timer1_Timer() 自動報警程序</p><p>  frmAlarm.datPrimaryRS.RecordSource = "select * from 現(xiàn)有庫存表 where 現(xiàn)有庫存>最大庫存"</p><p>  frmAlarm.datPrimaryRS.Refresh</p><p>  If frmAl

133、arm.datPrimaryRS.Recordset.RecordCount > 0 Then</p><p><b>  Beep</b></p><p>  MsgBox "有設備庫存超過警戒庫存!" & vbCrLf & "請查看庫存報警記錄"</p><p>  Timer1

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論