庫存管理系統(tǒng)設計方案_第1頁
庫存管理系統(tǒng)設計方案_第2頁
庫存管理系統(tǒng)設計方案_第3頁
庫存管理系統(tǒng)設計方案_第4頁
庫存管理系統(tǒng)設計方案_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄摘要…………1Abstract……………………2 緒論………………31.1管理信息系統(tǒng)的概述………32數(shù)據(jù)庫應用系統(tǒng)開發(fā)介紹…………………33庫存管理系統(tǒng)………………51.3.1國內(nèi)外同類管理軟件的研究現(xiàn)狀與發(fā)展趨勢………………… 51.3.2庫存管理系統(tǒng)研究背景與意義……………………6第二章數(shù)據(jù)庫理論基礎……………………72.1數(shù)據(jù)庫系統(tǒng)設計………………72.2SQL語言介紹…………………72.2.1SQL基礎……………72.2.2SQL語句……………8第三章應用系統(tǒng)開發(fā)工具………………93.1VisualBasic介紹及實現(xiàn)原理…………………93.2數(shù)據(jù)庫組件介紹………………93.3SQL語言在VB中的應用……………………103.4Access簡述………………11庫存管理系統(tǒng)設計分析…………124.1需求分析………………………124.2模塊劃分………………………134.3數(shù)據(jù)庫設計……………………15應用程序設計……………………185.1程序構(gòu)造……………………185.2程序源代碼…………………19第六章設計總結(jié)………38參考文獻……………………39

摘要 隨著當代工業(yè)的發(fā)展,計算機信息管理系統(tǒng)越來越受到公司重視。本文重要分析了庫存管理系統(tǒng)的某些基本功效和構(gòu)成狀況,涉及系統(tǒng)的需求分析、系統(tǒng)構(gòu)造,功效模塊劃分以及數(shù)據(jù)庫模式分析等,重點對應用程序的實際開發(fā)實現(xiàn)作了介紹。達成了數(shù)據(jù)的一致性和安全性,且應用程序功效完備,符合了庫存管理系統(tǒng)作為典型的信息管理系統(tǒng)(MIS)的規(guī)定。同時簡樸介紹了VisualBasic編程環(huán)境和Access數(shù)據(jù)庫管理系統(tǒng)的功效特點,庫存管理系統(tǒng)是公司物流管理中不可或缺的一部分。核心詞:庫存管理,數(shù)據(jù)庫,信息管理,VB

AbstractWiththedevelopmentofmodernindustry,theinformationmanagementsystemofthecomputerisbeingpaidattentiontobyenterprises.Thistexthasanalysedsomebasicfunctionsoftheadministrativesystemofthestockandmakesupthesituationmainly,includingthesystematicdemandisanalysed,systematicstructure,thefunctionmoduledividesandthedatabasemodeisanalysedetc.,haverealizeddoingtheintroductiontotheactualdevelopmentoftheapplicationprogramespecially.Havingreachedtheconsistencyandsecurityofthedata,andtheapplicationprogramfunctioniscomplete,haveaccordedwiththeadministrativesystemofthestockastherequestforthetypicalinformationmanagementsystem(MIS).IntroducedthefunctioncharacteristicsofVisualBasicprogrammingenvironmentandAccessdatabasemanagementsystembrieflyatthesametime,theadministrativesystemofthestockisanindispensablepartinenterprise'smaterialflowmanagement.Keywords:stockmanagement,database,informationmanagement,VB

緒論庫存管理系統(tǒng)是一種企事業(yè)單位不可缺少的一部分,它的內(nèi)容對于公司的決策者和管理者來說都是至關(guān)重要的,因此,庫存管理系統(tǒng)應當能夠為顧客提供充足的信息和快捷的查詢手段,但始終以來人們使用傳統(tǒng)的人工方式管理庫存,這種管理方式存在著許多缺點,諸如效率低,保密性差等,并且時間一長,將產(chǎn)生大量的文獻和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。隨著科學技術(shù)的不停提高,計算機科學不停發(fā)展,其強大的功效已經(jīng)被人們深刻認識,它已經(jīng)進入了人類社會的各個領域并發(fā)揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對產(chǎn)品庫存信息進行管理,含有著人工管理無法比擬的優(yōu)點,它檢索快速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等,可減少更多的人力物力,這些都能夠極大地提高貨品庫存的管理效率,也是公司庫存管理科學化、正規(guī)化,與世界接軌的重要條件。因此,開發(fā)一種庫存管理系統(tǒng)是很有必要的,含有其特有的技術(shù)意義和管理意義。 1.1管理信息系統(tǒng)的概述管理信息系統(tǒng)(簡稱MIS)是在管理科學、系統(tǒng)科學、計算機科學等的基礎上發(fā)展起來的綜合性邊沿科學。在21世紀信息高速發(fā)展的時代中,管理信息系統(tǒng)含有很重要的作用,它的預測和輔助決策的功效,即運用當代管理的決策和支持。管理信息系統(tǒng)是一種由人、機(計算機)構(gòu)成的能進行管理信息的收集、傳遞、存儲、加工、維護和使用的系統(tǒng)。它能觀察公司或組織的多個運動狀況,運用過去的數(shù)據(jù)預測將來;從全局出發(fā)輔助決策;運用信息控制公司或組織行為,協(xié)助其實現(xiàn)久遠的規(guī)劃目的。簡言之,管理信息系統(tǒng)是一種以計算機為工具,含有數(shù)據(jù)解決、預測、控制和輔助決策功效的信息系統(tǒng)。管理信息系統(tǒng)是一種人機系統(tǒng),同時它又是一種一體化集成系統(tǒng)。管理信息系統(tǒng)是信息系統(tǒng)的一種子系統(tǒng),它以計算機技術(shù)、通訊技術(shù)和軟件技術(shù)為技術(shù)基礎,同時將當代管理理論、當代管理辦法及各級管理人員融為一體,最后為某個組織整體的管理與決策服務,是由人和計算機構(gòu)成的能進行管理信息的收集、傳遞、存儲、加工、維護和使用的系統(tǒng)。管理信息系統(tǒng)的基本構(gòu)造能夠概括為四大部件,即信息源、信息解決器、信息顧客和信息管理者。因此,一種成功的管理信息系統(tǒng)應當含有可靠的硬件、實用的軟件、強有力的當代化管理水平。具體講,管理信息系統(tǒng)的三大支柱是:計算機網(wǎng)絡、數(shù)據(jù)庫和當代化的管理,這三打支柱稱為管理信息系統(tǒng)的擴展部件。1.2數(shù)據(jù)庫應用系統(tǒng)開發(fā)介紹在數(shù)據(jù)庫應用系統(tǒng)開發(fā)之前,對開發(fā)數(shù)據(jù)庫的基本概念應當理解,對數(shù)據(jù)庫的構(gòu)造、開發(fā)數(shù)據(jù)庫應用程序的環(huán)節(jié)、開發(fā)體系及辦法都應當有相稱清晰的理解和認識。數(shù)據(jù)庫應用系統(tǒng)開發(fā)的目的是建立一種滿足顧客長久需求的產(chǎn)品。開發(fā)的重要過程為:理解顧客的需求,然后,把它們轉(zhuǎn)變?yōu)橛行У臄?shù)據(jù)庫設計。把設計轉(zhuǎn)變?yōu)閷嶋H的數(shù)據(jù)庫,并且這些數(shù)據(jù)庫帶有功效完備、高效能的應用。數(shù)據(jù)庫技術(shù)在計算機軟件鄰域研究中始終是非常重要的主題,產(chǎn)生于60年代,30數(shù)年來數(shù)據(jù)庫技術(shù)得到了快速發(fā)展,并已形成較為完整的理論體系和一大批實用系統(tǒng)。并且,近年來,隨著WorldWideWeb(WWW)的猛增及Internet技術(shù)的快速發(fā)展,使得數(shù)據(jù)庫技術(shù)之時成為最熱門技術(shù)之一。1.2.1數(shù)據(jù)庫數(shù)據(jù)庫由DBMS(數(shù)據(jù)庫管理系統(tǒng))解決,DBMS則由開發(fā)人員和顧客通過應用程序直接或間接地使用。它重要涉及四個要素:顧客數(shù)據(jù)、元數(shù)據(jù)、索引和應用元數(shù)據(jù)。一、顧客數(shù)據(jù)現(xiàn)在,大多數(shù)主流數(shù)據(jù)庫管理系統(tǒng)把顧客數(shù)據(jù)表達為關(guān)系?,F(xiàn)在把關(guān)系看作數(shù)據(jù)表。表的列包含域或?qū)傩?,表的行包含對應業(yè)務環(huán)境中的實體的統(tǒng)計。并非全部的關(guān)系都同樣符合規(guī)定,有些關(guān)系比其它關(guān)系更構(gòu)造化某些。為了對比構(gòu)造差的關(guān)系和構(gòu)造好的關(guān)系之間的差別,以圖書管理系統(tǒng)中的圖書和圖書借閱者關(guān)系為例來闡明,假若設計關(guān)系R1(借書證號,姓名,性別,身份編號,身份證,聯(lián)系電話,圖書編號,圖書名稱,圖書類別,作者,出版社,出版日期,備注,價格,數(shù)量);這個關(guān)系的問題出在它有有關(guān)兩個不同主題的數(shù)據(jù),就是圖書借閱者和圖書。用這種方式構(gòu)成的關(guān)系在進行修改時,會出現(xiàn)問題。由于一種圖書借閱者可能借閱多本書,如果某個圖書借閱者的某個字段(如聯(lián)系電話)出現(xiàn)變更,它所借閱的圖書統(tǒng)計(可能多個)也就必須變化,這是不好的。因此數(shù)據(jù)用兩個關(guān)系表達更加好?,F(xiàn)在如果某圖書借閱者變化了它的聯(lián)系電話,只有關(guān)系(表)user的對應行需要變化。固然,要想產(chǎn)生一種,顯示圖書名稱及其借閱者聯(lián)系電話的報表,就需要將這兩個表的行結(jié)合起來。成果表明,將關(guān)系分別存儲,在生成報表的時候?qū)⑺鼈兘Y(jié)合起來,比把它們存儲在一種合成的表中更加好。user(借書證號,姓名,性別,身份編號,身份證,聯(lián)系電話,)book(圖書編號,圖書名稱,圖書類別,作者,出版社,出版日期,備注,價格,數(shù)量)二、元數(shù)據(jù)數(shù)據(jù)庫是自描述的,這就意味著它本身包含了它的構(gòu)造的描述,這種構(gòu)造的描述稱作元數(shù)據(jù)。由于DBMS產(chǎn)品是用來存儲和操縱表的,因此大多數(shù)產(chǎn)品把元數(shù)據(jù)以表的形式存儲,有時稱作系統(tǒng)表。這些系統(tǒng)表存儲了數(shù)據(jù)庫中表的狀況,指出每一種表中有多少列,那一列是主核心字,每一列的數(shù)據(jù)類型的描述,它也存儲索引、核心字、規(guī)則和數(shù)據(jù)庫構(gòu)造的其它部分。在表中存儲元數(shù)據(jù)不僅對DBMS是有效的,對顧客也是方便的,由于他們能夠使用與查詢顧客數(shù)據(jù)同樣的查詢工具來查詢元數(shù)據(jù)。三、索引第三種類型的數(shù)據(jù)改善了數(shù)據(jù)庫的性能和可訪問性,這種數(shù)據(jù)經(jīng)常稱作開銷數(shù)據(jù),盡管有時也采用其它類型的數(shù)據(jù)構(gòu)造,如鏈表,但它重要還是索引。索引能夠用來排序和快速訪問數(shù)據(jù)。下面以庫存管理系統(tǒng)中的貨品信息表為例來闡明。假定數(shù)據(jù)在磁盤上是按’貨品編號’的遞增次序排列的,顧客想打印一種按’貨品名稱’排序的貨品數(shù)據(jù)報表。為此,全部的數(shù)據(jù)都需要從源表中提取出來并排序,除非表很小,否則這是一種很費時的過程?;蛘?,能夠在‘貨品名稱’字段上創(chuàng)立一種索引,該索引的條目按照‘貨品名稱’排序,這樣,該索引的條目能夠讀出來,并用來按次序訪問貨品信息數(shù)據(jù)。索引用于快速訪問數(shù)據(jù)。例如,一種顧客只想訪問貨品信息表中‘類別’值為‘01’的那些貨品。如果沒有索引,則必須搜索整個源表;但有了索引之后,能夠找到索引條目,并使用它來挑選全部適宜的行。索引對排序和查找是有協(xié)助的,但要付出代價。貨品信息表中的行每次變化時,索引也必須變化,這意味著索引并非隨意的,應當在真正需要時保存。四、應用元數(shù)據(jù)存儲在數(shù)據(jù)庫中的第四種數(shù)據(jù)是應用元數(shù)據(jù),它用來存儲顧客窗體、報表、查詢和其它形式的查詢組件。并非全部的DBMS都支持應用組件,支持組件的DBMS也不一定把全部組件的構(gòu)造作為應用元數(shù)據(jù)存儲在數(shù)據(jù)庫中。然而,大多數(shù)當代的DBMS產(chǎn)品存儲這種數(shù)據(jù)作為數(shù)據(jù)庫的一部分。普通來說,數(shù)據(jù)庫開發(fā)人員和顧客都不直接訪問應用元數(shù)據(jù),相反,他們通過DBMS中的工具來解決這些數(shù)據(jù)。Access中就支持窗體、存儲過程等應用元數(shù)據(jù)。1.2.2數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)是指數(shù)據(jù)庫系統(tǒng)中管理數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)據(jù)庫系統(tǒng)的核心構(gòu)成部分。對數(shù)據(jù)庫的一切操作,涉及定義、更新及多個控制,都是通過DBMS進行的。DBMS總是基于某種數(shù)據(jù)模型,能夠把DBMS當作是某種數(shù)據(jù)模型在計算機系統(tǒng)上的具體實現(xiàn)。根據(jù)數(shù)據(jù)模型的不同,DBMS能夠分成層次型、網(wǎng)狀型、關(guān)系型、面對對象型等。關(guān)系模型。關(guān)系模型重要是用二維表格構(gòu)造體現(xiàn)實體集,用外鍵表達實體間聯(lián)系。關(guān)系模型是由若干個關(guān)系模式構(gòu)成的集合。關(guān)系模式相稱于前面提到的統(tǒng)計類型,它的實例稱為關(guān)系,每個關(guān)系事實上是一張二維表格。關(guān)系模型和層次、網(wǎng)狀模型的最大鑒別是用核心碼而不是用指針導航數(shù)據(jù),表格簡樸顧客易懂,編程時并不涉及存儲構(gòu)造,訪問技術(shù)等細節(jié)。關(guān)系模型是數(shù)學化模型。SQL語言是關(guān)系數(shù)據(jù)庫的原則化語言,已得到了廣泛的應用。DBMS的特點和功效能夠分為三個子系統(tǒng):設計工具子系統(tǒng)、運行子系統(tǒng)和DBMS引擎。設計子系統(tǒng)有一種方便數(shù)據(jù)庫及其應用創(chuàng)立的工具集。它典型地包含產(chǎn)生表、窗體、查詢和報表的工具。DBMS產(chǎn)品還提供編程語言和對編程語言的接口。運行子系統(tǒng)解決用設計子系統(tǒng)開發(fā)的應用組件。它所包含的運行解決器用來解決窗體和數(shù)據(jù)庫的數(shù)據(jù)交互,以及回答查詢和打印報表等。DBMS引擎從其它兩個組件接受請求,并把它們翻譯成對操作系統(tǒng)的命令,方便讀寫物理介質(zhì)上的數(shù)據(jù)。DBMS引擎還涉及事務管理、鎖、備份和恢復。1.3庫存管理系統(tǒng)當今時代是飛速發(fā)展的信息時代,在各行各業(yè)中離不開信息解決,這正是計算機被廣泛應用于信息解決系統(tǒng)的環(huán)境。計算機最大的好處在于運用它能夠進行信息管理,使用計算機進行信息控制,不僅提高了工作效率,并且大大的提高了其安全性。特別對復雜的信息管理,計算機能夠充足發(fā)揮它的優(yōu)越性。計算機進行信息管理與信息管理系統(tǒng)的開發(fā)親密有關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。倉庫作為一總貨品資源的集散地,貨品的種類繁多,包含諸多的信息數(shù)據(jù)的管理。據(jù)調(diào)查得知,以前倉庫進行信息管理的方式重要是基于文本、表格等紙介質(zhì)的手工解決,對于貨品的出入庫狀況的統(tǒng)計和核算等往往采用對賬本的人工檢查,對管理者的管理權(quán)限等不受約束,任何人都可查看,這樣容易引發(fā)資料外泄。另外,數(shù)據(jù)信息解決工作量大,容易出錯,由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺少系統(tǒng)、規(guī)范的信息管理手段。并且,普通的存儲狀況是統(tǒng)計在賬本上的,倉庫的工作人員和管理員也只是當時記得比較清晰,時間一長,如果再要進行查詢,就得在眾多的資料中翻閱查找了,這樣造成費時、費力,如要對很長時間以前的貨品進行更改就更加困難了。因此,很有必要建立一種庫存管理系統(tǒng),使貨品管理工作規(guī)范化,系統(tǒng)化,程序化。提高信息解決的速度和精確性。1.3.1國內(nèi)外同類管理軟件的研究現(xiàn)狀與發(fā)展趨勢現(xiàn)在國內(nèi)外對這類系統(tǒng)的開發(fā)與研究也是很有實用性的,基本上能滿足各公司的本身特點,來進行庫存方面的管理,同時,改類系統(tǒng)又都在不停地進一步與發(fā)展,來合用更多的公司,普通都能運用于各個公司的庫存管理,但是都沒有針對大眾的廣泛應用,只能運用某個公司或單位,這一點尚有待于此后的進一步開發(fā)與實踐。此后這類軟件將會向條碼庫存管理系統(tǒng)發(fā)展,現(xiàn)階段,隨著物流及管理信息化、網(wǎng)絡化的發(fā)展,應用條碼技術(shù)進行庫存管理、實現(xiàn)倉庫作業(yè)自動化,將是一種必然的發(fā)展趨勢,也是需要迫切解決的一種現(xiàn)實問題。隨著信息化技術(shù)的不停提高和應用的日漸普及,更多的商品擁有自己的條碼,并且,使用條碼化工作替代傳統(tǒng)作業(yè)模式,減少了手工輸入,這樣不僅提高了作業(yè)效率,還能確保資料對的,并減少因人為失誤所造成的損失。1、技術(shù)應用于庫存管理是實現(xiàn)倉庫管理自動化的有效途徑庫存品種多,數(shù)量大。因此,要實現(xiàn)收發(fā)作業(yè)的快速、精確、高效,倉儲管理自動化勢在必行。而實現(xiàn)管理自動化的“瓶頸”則是產(chǎn)品信息的采集、輸入。傳統(tǒng)手工作業(yè)方式,在信息采集量加大的情形下,半因信息不能及時的反饋,給收發(fā)作業(yè)造成一定的困難。運用條碼技術(shù),在入庫及其包裝上加貼條碼,配之以倉庫信息管理系統(tǒng)進行作業(yè),不僅可提高效率,減少作業(yè)強度,也將大大提高產(chǎn)品收發(fā)作業(yè)精確率(如鍵盤輸入僅為百分之一),進而實現(xiàn)倉庫管理的全方面自動化。2、技術(shù)應用于庫存管理對提高倉庫作業(yè)效率有重要作用將條碼技術(shù)和倉庫管理信息系統(tǒng)結(jié)合起來,用于產(chǎn)品收、發(fā)、保管等全過程控制管理,不僅可變化信息采集的傳統(tǒng)手工作業(yè)方式,減少作業(yè)強度,還可避免由此造成的多個差錯,提高作業(yè)效率和科學管庫水平。比較發(fā)現(xiàn),信息輸入時,條碼輸入速度是鍵盤輸入的5倍。入庫時,普通保管員根據(jù)產(chǎn)品上的條碼所反映出的冊序號、出廠期、生產(chǎn)廠家、單價、封存(保管)期等信息,進行實物點驗,同時將條碼信息錄入到管理信息系統(tǒng);出庫時,保管員根據(jù)航材發(fā)付單內(nèi)容,持條碼掃描裝置進行器材揀選,并完畢信息錄入;清庫盤點時,保管員可持掃描裝備進行數(shù)質(zhì)量等內(nèi)容核對,并半采集的信息錄入管理系統(tǒng)中進行自動盤點,生成清庫對帳單等,完畢清庫盤點作業(yè)。3、技術(shù)應用于庫存管理是完善產(chǎn)品保障信息網(wǎng)絡的重要手段儲存產(chǎn)品信息是產(chǎn)品保障信息網(wǎng)絡的重要構(gòu)成部分,是做好產(chǎn)品供應保障工作的基礎。產(chǎn)品保障信息網(wǎng)是實現(xiàn)物資儲運全過程可視化的前提?,F(xiàn)在,有些倉庫內(nèi)部局域網(wǎng)已經(jīng)建成并投入使用,并與業(yè)務主管部門實現(xiàn)了信息溝通,庫存保障信息網(wǎng)在日常航材保障工作中實現(xiàn)了信息溝通,庫存保障信息網(wǎng)在日常產(chǎn)品保障工作中的作用日趨明顯。條碼技術(shù)在儲存管理中的應用,可進一步完善系統(tǒng)各倉庫之間及各倉庫與作業(yè)主管部門之間的信息共享和交換功效,最后達成對產(chǎn)品的全程跟蹤管理,充足發(fā)揮條碼技術(shù)在整個流通中的作用。同時,在軟件系統(tǒng)的研發(fā)過程中,將會融入一種EPR的公司管理思想。大量的研究與實踐已經(jīng)充足表明,ERP作為一種當代公司管理的思想和辦法,將其大力地推廣應用就是有效的促使我國公司管理朝著更加科學化、合理化和規(guī)范化方向發(fā)展的一種具體辦法和途徑。另外,庫存管理的信息化和可視化,每個公司將會擁有兩個倉庫,一種是裝滿貨品的倉庫,尚有一種就是管理系統(tǒng)里的數(shù)據(jù)庫,對上萬種貨品分別編碼,使其成為計算機可識別的語言,形象地說,貨架上的號碼就是貨品的地址,從而避免了貨品的分揀和提取時的翻箱倒柜式的查找。1.3.2庫存管理系統(tǒng)研究背景與意義隨著我國經(jīng)濟的飛速發(fā)展,多個類型規(guī)模的公司公司快速崛起,許多從事生產(chǎn)和經(jīng)營管理的公司都有自己生產(chǎn)和銷售的產(chǎn)品,而這些產(chǎn)品都需要儲存在倉庫中,對于每個公司來說,隨著公司規(guī)模的不停擴大,產(chǎn)品數(shù)量的急劇增加,所生產(chǎn)產(chǎn)品的種類也會不停地更新與發(fā)展,有關(guān)產(chǎn)品的多個信息量也會成倍增加。面對龐大的產(chǎn)品信息量,如何有效地管理庫存產(chǎn)品,對這些公司來說是非常重要的,庫存管理的重點是銷售信息能否及時反饋,從而確保公司運行效益。而庫存管理又涉及入庫、出庫的產(chǎn)品、經(jīng)辦人員及客戶等方方面面的因素,如何管理這些信息數(shù)據(jù),是一項復雜的系統(tǒng)工程,充足考驗著倉庫管理員的工作能力,工作量的繁重是可想而知的,因此這就需要由庫存管理系統(tǒng)來提高庫存管理工作的效率,這對信息的規(guī)范管理、科學統(tǒng)計和快速查詢,減少管理方面的工作量,同時對于調(diào)動廣大員工的工作主動性,提高公司的生產(chǎn)效率,都含有十分重要的現(xiàn)實意義。

第二章 數(shù)據(jù)庫理論基礎2.1數(shù)據(jù)庫系統(tǒng)設計一種成功的信息管理系統(tǒng),是建立在許多條件之上的,而數(shù)據(jù)庫是其中一種非常重要的條件和核心技術(shù)。信息管理系統(tǒng)所涉及的數(shù)據(jù)庫設計分五個環(huán)節(jié):數(shù)據(jù)庫需求分析、概念設計、邏輯設計、物理設計與加載測試。(1)

數(shù)據(jù)庫需求分析的任務是將業(yè)務管理單證流化為數(shù)據(jù)流,劃分主題之間的邊界,繪制出DFD圖,并完畢對應的數(shù)據(jù)字典。(2)

概念設計的任務是從DFD出發(fā),繪制出本主題的實體-關(guān)系圖,并列出各個實體與關(guān)系的綱要表。(3)

邏輯設計的任務是從E-R圖與對應的綱要表出發(fā),擬定各個實體及關(guān)系的表名屬性。(4)

物理設計的任務是擬定全部屬性的類型、寬度與取值范疇,設計出基本表的主鍵,將全部的表名與字段名英文化(現(xiàn)在諸多軟件能支持中文字段,如Access),實現(xiàn)物理建庫,完畢數(shù)據(jù)庫物理設計字典。(5)

加載測試工作貫穿于程序測試工作的全過程,整個錄入、修改、查詢、解決工作均可視為對數(shù)據(jù)庫的加載測試工作。數(shù)據(jù)庫設計重要是進行數(shù)據(jù)庫的邏輯設計,即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來,是面對顧客的。數(shù)據(jù)庫設計時需要綜合公司各個部門的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個數(shù)據(jù)之間的關(guān)系,按照DBMS提供的功效和描述工具,設計出規(guī)模適宜、對的反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多個查詢規(guī)定的數(shù)據(jù)模型。數(shù)據(jù)庫設計的環(huán)節(jié)重要是:(1)

數(shù)據(jù)庫構(gòu)造定義:現(xiàn)在的數(shù)據(jù)庫管理系統(tǒng)(DBMS)有的是支持聯(lián)機事務解決CLTP(負責對事務數(shù)據(jù)進行采集、解決、存儲)的操作型DBMS,有的可支持數(shù)據(jù)倉庫、有聯(lián)機分析解決CLAP(指為支持決策的制訂對數(shù)據(jù)的一種加工操作)功效的大型DBMS,有的數(shù)據(jù)庫是關(guān)系型的、有的可支持面對對象數(shù)據(jù)庫。針對選擇的DBMS,進行數(shù)據(jù)庫構(gòu)造定義。(2)

數(shù)據(jù)表定義:數(shù)據(jù)表定義指定義數(shù)據(jù)庫中數(shù)據(jù)表的構(gòu)造,數(shù)據(jù)表的邏輯構(gòu)造涉及:屬性名稱、類型、表達形式、缺省值、校驗規(guī)則、與否核心字、可否為空等。關(guān)系型數(shù)據(jù)庫要盡量按關(guān)系規(guī)范化規(guī)定進行數(shù)據(jù)庫設計,但為使效率高,規(guī)范化程度應根據(jù)應用環(huán)境和條件來決定。數(shù)據(jù)表設計不僅要滿足數(shù)據(jù)存儲的規(guī)定,還要增加某些如反映有關(guān)信息、操作責任、中間數(shù)據(jù)的字段或臨時數(shù)據(jù)表。(3)

存儲設備和存儲空間組織:擬定數(shù)據(jù)的寄存地點、存儲途徑、存儲設備等,備份方案,對多版本如何確保一致性和數(shù)據(jù)的完整性。(4)

數(shù)據(jù)使用權(quán)限設立:針對顧客的不同使用規(guī)定,擬定數(shù)據(jù)的顧客使用權(quán)限,確保數(shù)據(jù)安全。(5)

數(shù)據(jù)字典設計:用數(shù)據(jù)字典描述數(shù)據(jù)庫的設計,便于維護和修改。2.2SQL語言介紹2.2.1SQL基礎SQL(StructuredQueryLanguage,構(gòu)造查詢語言)是一種功效強大的數(shù)據(jù)庫語言。SQL普通使用于數(shù)據(jù)庫的通訊。ANSI(美國國標學會)聲稱,SQL是關(guān)系數(shù)據(jù)庫管理系統(tǒng)的原則語言。SQL語句普通用于完畢某些數(shù)據(jù)庫的操作任務,例如在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)。使用SQL的常見關(guān)系數(shù)據(jù)庫管理系統(tǒng)有:Oracle、Sybase、MicrosoftSQLServer、Access、Ingres等等。即使絕大多數(shù)的數(shù)據(jù)庫系統(tǒng)使用SQL,但是它們同樣有它們自立另外的專有擴展功效用于它們的系統(tǒng)。但是,原則的SQL命令,例如"Select"、"Insert"、"Update"、"Delete"、"Create"和"Drop"經(jīng)常被用于完畢絕大多數(shù)數(shù)據(jù)庫的操作。SQL語言的突出優(yōu)點就是它的非過程化、統(tǒng)一,并且還是全部關(guān)系數(shù)據(jù)庫的公共語言。SQL語言一次解決一種統(tǒng)計,對數(shù)據(jù)提供自動導航,它允許顧客在高層的數(shù)據(jù)構(gòu)造上工作,而部隊單個統(tǒng)計進行操作,可操作統(tǒng)計集,全部SQL語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的成果作為另一條SQL語句的輸入。同時,它不規(guī)定顧客指定對數(shù)據(jù)的寄存辦法,這種特性使顧客更易集中精力于要得到的成果;全部SQL語句使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對指定數(shù)據(jù)存取的最快速度的手段,查詢優(yōu)化器懂得存在什么索引,在哪兒使用索引適宜,而顧客則從不需要懂得表與否有索引、有什么類型的索引。作為統(tǒng)一的語言,SQL可用于全部顧客的DB活動模型,涉及系統(tǒng)管理員、數(shù)據(jù)庫管理員、應用程序員、決策支持系統(tǒng)人員及許多其它類型的終端顧客。2.2.2SQL語句SQL語句概括起來能夠分為數(shù)據(jù)操作語言,數(shù)據(jù)定義語言和數(shù)據(jù)控制語言幾大組,它們用于對數(shù)據(jù)庫數(shù)據(jù)的查詢,修改和更新,是一種完備的數(shù)據(jù)解決語言。重要用到的數(shù)據(jù)操作語言重要是:SELECT:用于數(shù)據(jù)檢索;INSERT:用于增加數(shù)據(jù)到數(shù)據(jù)庫;UPDATE:用于從數(shù)據(jù)庫中修改現(xiàn)存的數(shù)據(jù);DELETE:用于從數(shù)據(jù)庫中刪除數(shù)據(jù)。

第三章 應用系統(tǒng)開發(fā)工具3.1VisualBasic介紹及實現(xiàn)原理VisualBasic(簡稱VB)是美國微軟公司(Microsoft)于1990年推出的一套完整的Windows系統(tǒng)軟件開發(fā)工具,可用于開發(fā)Windows環(huán)境下的各類應用程序,是一種可視化、面對對象、用事件驅(qū)動方式的構(gòu)造化高級程序設計語言和工具,是現(xiàn)在使用最廣泛的編程語言之一。至今以升級到了6.0版。VB的重要特點之一是可視性。系統(tǒng)引進了窗體和控件的機制,用于設計應用程序界面。顧客通過在屏幕上生成窗體,在窗體中繪制所需要的控件和按鈕,設計菜單和對話框,VB會自動生成對應的代碼。VB的另一重要特點是事件驅(qū)動。當窗體或控件上發(fā)生一種事件時,VB立刻把控制權(quán)交給程序員。程序員不必緊張如何判斷事件與否已發(fā)生,只需要編寫一段代碼告訴計算機在事件發(fā)生后來應當做什么工作就能夠了。這樣,設計一種Windows應用程序簡化為用鼠標在屏幕上點擊、拖拽并添加少量的代碼就能夠完畢了,大大減少了對程序設計的規(guī)定,提高了應用程序的開發(fā)效率。運用VB的可視性特點,可方便的設計了程序的窗體界面,并在各個窗體中的適宜位置繪制所需的每種控件。如要修改窗體或控件的某項屬性,只需在對應的窗體或控件的屬性窗口修改對應的參數(shù)便可達成需要的設計效果。運用VB的事件驅(qū)動性特點,只需在窗體或控件上的代碼窗口中添加少量的代碼,便可達成告訴當在對應的窗體或控件上發(fā)生某一事件時,它們在事件發(fā)生后應當做什么工作的目的。例如幾個窗體上的添加、刪除、返回按鈕的作用,就是通過在各個對應按鈕的代碼窗口中輸入對應的代碼,來達成當在幾個按鈕上出現(xiàn)單擊(Click)事件后,對應按鈕實現(xiàn)添加、刪除、返回的功效的。3.2數(shù)據(jù)庫組件介紹在使用VisualBasic開發(fā)數(shù)據(jù)庫應用程序的時候,會經(jīng)常使用數(shù)據(jù)庫訪問控件。這些控件涉及:● Data控件;● ADOData控件;● DataList控件/DataCombo控件;● DataGrid控件;● MSChart控件。下面將分別對這些控件的重要功效及使用辦法進行介紹。3.2.1 Data控件Data控件是VisualBasic中最基本的數(shù)據(jù)庫操作控件。它使用Recordset對象提供對存儲在數(shù)據(jù)庫中數(shù)據(jù)的訪問。Data控件允許從一種統(tǒng)計移動到另一種統(tǒng)計,并顯示和操縱來自被連接控件的統(tǒng)計的數(shù)據(jù)。許多其它的數(shù)據(jù)庫操作控件都需要Data控件或類似的數(shù)據(jù)源控件(例如ADOData控件)。Data控件能夠執(zhí)行大部分數(shù)據(jù)庫訪問操作,但是它并不能顯示數(shù)據(jù)庫中數(shù)據(jù)的內(nèi)容。Data控件普通需要與其它控件結(jié)合使用。這些與Data控件結(jié)合使用的控件,能夠稱之為“數(shù)據(jù)察覺控件”。由于程序員無需編寫任何代碼,就能夠在這些控件中顯示現(xiàn)在統(tǒng)計的數(shù)據(jù)。當Data控件中現(xiàn)在統(tǒng)計發(fā)生變化時,數(shù)據(jù)察覺控件的內(nèi)容也會隨之發(fā)生變化。當與Data控件相連接時,DataList、DataCombo、DataGrid和MSHFlexGrid控件都能管理統(tǒng)計集合。全部這些控件都允許一次顯示或操作幾個統(tǒng)計。內(nèi)部的Picture、Label、TextBox、CheckBox、Image、OLE、ListBox和ComboBox控件也是數(shù)據(jù)察覺的,能和由Data控件管理的Recordset對象的某個字段相連接。3.2.2 ADOData控件ADOData控件與內(nèi)部Data控件以及RemoteData控件(RDC)相似。顧客能夠使用ADOData控件快速地創(chuàng)立一種到數(shù)據(jù)庫的連接。3.2.3 DataList控件/DataCombo控件DataList控件是一種數(shù)據(jù)綁定列表框,它能夠自動地由一種附加數(shù)據(jù)源中的一種字段充填,并且可選擇地更新另一種數(shù)據(jù)源中一種有關(guān)表的一種字段。DataCombo控件的功效與DataList控件完全相似,只但是DataCombo控件是一種組合框。3.2.4 DataGrid控件在許多狀況下,需要使用表格形式來顯示數(shù)據(jù)庫中的數(shù)據(jù)。這時就要借助于DaatGrid控件。顧客能夠設立DataGrid控件的DataSource屬性為一種ADOData控件,從而將ADOData中的數(shù)據(jù)自動地填充到DataGrid表格中。這個DataGrid控件事實上是一種固定的列集合,每一列的行數(shù)都是不擬定的。3.2.5 MSChart控件MSChart控件的功效是以圖形方式顯示數(shù)據(jù)的圖表。這會使枯燥的數(shù)據(jù)變得更加生動直觀,增加了程序的實用價值。MSChart控件支持一下特性:1、真三維表達;2、支持全部重要的圖表類型;3、數(shù)據(jù)網(wǎng)絡組員支持隨機數(shù)據(jù),數(shù)據(jù)數(shù)組。3.3SQL語言在VB中的應用1.SQL提供的實用函數(shù)為實現(xiàn)使用VB程序調(diào)用SQL語言訪問Access數(shù)據(jù)庫多個統(tǒng)計的目的,我們運用SQL提供的函數(shù)?!馜avgFunction(求平均值)●DcountFunction(計算滿足條件的統(tǒng)計數(shù))●DfirstFunction(返回統(tǒng)計集的第一種統(tǒng)計的某個域值)●DlastFunction(返回統(tǒng)計集的最后一種統(tǒng)計的某個域值)●DlookupFunction(返回統(tǒng)計集中滿足待定條件的統(tǒng)計的域值)●DsumFunction(求和計算)●DmaxFunction(求最大值)●DminFunction(求最小值)運用以上的SQL函數(shù)能夠方便地進行數(shù)據(jù)庫文獻統(tǒng)計地查詢和統(tǒng)計工作,以Dsum為例,語法以下:Dsum(expr,clomain[,criteria])例:計算目的港為英國地全部訂單地運費總和。假定“Orders”是數(shù)據(jù)庫文獻中地一張表格,則x=Dsum(“[Feight]”,”O(jiān)rder”.”[shipcountry]=’UK’”)2.運用SQL訪問多個統(tǒng)計地辦法在進信息查詢和統(tǒng)計地過程中,我們往往需要從統(tǒng)計集中根據(jù)待定的條件提取其中的一部分統(tǒng)計信息。這種變化基于數(shù)據(jù)庫關(guān)系視圖的統(tǒng)計集,這里我們介紹提取統(tǒng)計信息的有效辦法。(1)建立一種新的查詢setmydb=OpenDatabase(“c:\DIR1\manage.mdb”)(打開數(shù)據(jù)庫文獻c:\DIR1\manage.mdb)setmyquery=mydb.creatQueryDef(“monthquery”)(創(chuàng)立查詢名為monthquery的查詢)Myquery.SQL=”select*fromOPNRPTwheremid$(year,7,2)=’”&yeartext.text&”’…”(運用查詢的SQL屬性,建立查詢根據(jù),即查詢的條件。這里用到了SetectStatement)后來如果需要這樣的查詢,只需要引用查詢名”monthquery”即可。需要闡明的兩點是:①使用前先定義DimmydbASDatabase及myqueryASquerydef.②查詢”monthquery”沒有使用Data控件,也就不直接顯示信息。(2)如何設立Data控件的Recordsource屬性設立Datasource屬性的命令為:Data.Recordsource=”SetectVss_code,voyage,Sum(weight)ASWeight20frommonthquerywherectn_size=’20’groupbyVss_code,Voyage”在這個命令中字段名Vss_code為船名代碼,Voyage為航次,ctn_size為集裝箱號,weight為集裝箱重量。計算機通過增加了條件的monthquery查詢構(gòu)成了新的統(tǒng)計集。AS為核心字表達,并定義了別名。通過這一種辦法定義的統(tǒng)計集能夠使用move和Find辦法逐條統(tǒng)計的進行操作。3.4Access簡述Access是關(guān)系數(shù)據(jù)庫開發(fā)工具,1992年,MicrosoftAccess作為第一種面對Windows操作平臺的桌面數(shù)據(jù)庫管理系統(tǒng)而誕生,它不僅充足體現(xiàn)了面對對象的思想,提供可視化的編程手段,并且充足運用了Windows操作平臺的優(yōu)越性,采用與Windows完全一致的界面風格,使界面非常和諧。在Access中,顧客不需要編寫復雜的程序就能夠建立一種完整的數(shù)據(jù)庫應用系統(tǒng),是一種典型的開放式數(shù)據(jù)庫系統(tǒng),它能夠和Windows下的其它應用程序共享數(shù)據(jù)庫資源。數(shù)據(jù)庫能聚集多個信息以供查詢、存儲和檢索。Access的優(yōu)點在于它能使用數(shù)據(jù)表達圖或自定義窗體收集信息。數(shù)據(jù)表達圖提供了一種類似于Excel的電子表格,能夠使數(shù)據(jù)庫一目了然。另外,Access允許創(chuàng)立自定義報表用于打印或輸出數(shù)據(jù)庫中的信息。Access也提供了數(shù)據(jù)存儲庫,能夠使用桌面數(shù)據(jù)庫文獻把數(shù)據(jù)庫文獻置于網(wǎng)絡文獻服務器,與其它網(wǎng)絡顧客共享數(shù)據(jù)庫。Access是一種關(guān)系數(shù)據(jù)庫工具,關(guān)系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述,Access作為關(guān)系數(shù)據(jù)庫開發(fā)含有了許多優(yōu)點,能夠在一種數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強大功效。

庫存管理系統(tǒng)設計分析4.1需求分析本套應用程序名稱為“庫存管理系統(tǒng)”,重要用于倉庫貨品信息的管理,系統(tǒng)涉及倉庫管理、入庫、出庫、某些統(tǒng)計查詢和報表等幾部分構(gòu)成。庫存管理系統(tǒng)需滿足倉庫管理員及工作人員的需求,他們含有登陸應用系統(tǒng)的權(quán)限,因此需要對工作人員的登陸本模塊進行更多的考慮,設計不同顧客的操作權(quán)限和登陸辦法。對于一種倉庫來說,最大的功效就是存儲貨品,因此倉庫管理就是對貨品信息,倉庫信息,短線貨品及超儲貨品的管理,顧客能夠根據(jù)實際狀況對多個貨品信息進行分類管理,涉及添加,刪除更新數(shù)據(jù)庫等。固然,倉庫中貨品入庫也是常有的事,入庫管理操作就是對于貨品入庫狀況的管理,顧客能夠方便地輸入某些貨品的信息。有了貨品的入庫,自然也就有貨品的出庫,這部分提供的功效與入庫操作流程差不多,有所區(qū)別的只是對某些出庫貨品的管理,也很方便數(shù)據(jù)的輸入。倉庫貨品的信息量大,數(shù)據(jù)安全性和保密性規(guī)定高。本系統(tǒng)實現(xiàn)對貨品信息的管理和總體的統(tǒng)計等,倉庫信息,供貨單位和經(jīng)辦人員信息的查看及維護。倉庫管理人員能夠瀏覽、查詢、添加、刪除等貨品的基本信息以及統(tǒng)計等,并能夠?qū)δ承┗镜男畔⑸蓤蟊硇问?,并打印輸出的功效。報表是一種數(shù)據(jù)庫中最重要的功效之一,有了報表才干清晰地懂得貨品的出入庫狀況,在數(shù)據(jù)報表功效中涉及出庫報表,庫存報表及經(jīng)辦人員報表等某些基本信息的打印,方便簡潔。本系統(tǒng)基本涵蓋了庫存管理的重要需求,含有完善細致的功效、和諧的顧客界面、強大的數(shù)據(jù)解決功效和完備的安全機制;隨心所欲的查詢和所見即所得的打印功效,并全方面支持分析和決策的功效?!裣到y(tǒng)特色:1.設立系統(tǒng)顧客登陸功效,即時對系統(tǒng)數(shù)據(jù)進行安全設立與保護。2.和諧的顧客界面,業(yè)務操作簡樸,進入系統(tǒng)即能使用。3.成熟先進的技術(shù)和系統(tǒng)構(gòu)架,采用先進的數(shù)據(jù)庫訪問方式,數(shù)據(jù)更安全,性能更穩(wěn)定。4.強大的數(shù)據(jù)解決能力和開放的數(shù)據(jù)接口,選用品有大型數(shù)據(jù)庫安全機制的數(shù)據(jù)庫系統(tǒng),提供多個級別的數(shù)據(jù)保護和權(quán)限控制方式,確保數(shù)據(jù)的安全可靠。5.系統(tǒng)每種操作都能夠通過菜單來進行。操作快捷、方便。易懂易會。系統(tǒng)集輸入、維護、查詢、統(tǒng)計和多個解決為一體,信息導入導出方便共享。庫存管理系統(tǒng)倉庫管理庫存管理系統(tǒng)倉庫管理入庫管理出庫管理盤存管理綜合管理附項分類歷史數(shù)據(jù)管理打印、查詢系統(tǒng)貨品信息管理貨品庫存管理短線貨品管理超儲貨品管理出庫登記管理貨品出庫年度統(tǒng)計收貨單位年度收貨金額統(tǒng)計盤存錄入貨品出入庫期間匯總表倉庫信息管理供貨單位管理收貨單位管理經(jīng)辦人員管理 基本模塊與功效:1.系統(tǒng)涉及顧客管理,密碼管理,關(guān)閉系統(tǒng),以及數(shù)據(jù)的備份與恢復,能夠根據(jù)需要對整個數(shù)據(jù)庫進行備份,以確保數(shù)據(jù)的安全性。協(xié)助:本系統(tǒng)的協(xié)助信息,涉及應用程序的版本信息;2.庫存管理貨品信息管理:對倉庫里的貨品進行登記;貨品庫存管理:管理倉庫的庫存狀況;短線貨品管理:對倉庫里短線的貨品進行登記,方便及時采購補貨;超儲貨品管理:對倉庫里超儲的貨品進行登記,控制庫存量,減少進貨;3.入庫管理入庫登記管理:能對貨品的入庫登記,刪除,更改等;入庫期間統(tǒng)計:貨品入庫期間年度的統(tǒng)計;供貨單位期間供貨金額統(tǒng)計:對貨品供應的金額進行統(tǒng)計;4.出庫管理對貨品出庫期間的年度統(tǒng)計,出庫登記,及收獲單位金額統(tǒng)計等;5.盤存管理對盤存貨品信息的盤存錄入;6.綜合管理可根據(jù)同一貨品的出入庫狀況,對庫存狀況的匯總;7.附項管理對供貨單位狀況,經(jīng)辦人員,收貨單位狀況,倉庫信息進行登記管理,可進行添加,刪除等操作;8.歷史數(shù)據(jù)管理對歷史庫存,歷史出庫,歷史出庫狀況進行管理;9.打印與查詢可根據(jù)輸入的條件,對貨品的入庫信息,庫存信息等進行簡樸查詢和組合查詢。據(jù)流程圖:登陸庫存管理系統(tǒng)登陸庫存管理系統(tǒng)驗證顧客信息系統(tǒng)主窗體倉庫管理入庫管理出庫管理盤存管理綜合管理附項分類歷史數(shù)據(jù)管理打印、查詢系統(tǒng)貨品入庫單經(jīng)辦人員報表貨品出庫單數(shù)據(jù)備份備份輸出庫存匯總圖4-1庫存管理系統(tǒng)數(shù)據(jù)流程圖密碼錯誤匯總計算貨品信息管理數(shù)據(jù)流程圖:貨品登記貨品登記基本信息錄入貨品基本信息管理貨品調(diào)配匯總出庫貨品信息管理入庫貨品信息管理貨品其它信息管理圖4-2貨品信息管理數(shù)據(jù)流程圖4.3數(shù)據(jù)庫設計本庫存管理系統(tǒng)是應用在單機系統(tǒng)上的,因此只需建立起一種數(shù)據(jù)庫,在此數(shù)據(jù)庫基礎上建立起表格,現(xiàn)將部分數(shù)據(jù)構(gòu)造表描述以下:貨品信息表字段名數(shù)據(jù)類型字段長度與否為空貨品編碼文本5貨品名稱文本10類別文本8型號文本4單位文本2倉庫編碼文本5寄存?zhèn)}庫文本12入庫計劃單價貨幣出庫計劃單價貨幣原始庫存數(shù)字長整型默認貨位文本5警戒底線庫存數(shù)字長整型警戒高線庫存數(shù)字長整型表1 貨品信息表表1 貨品信息表入庫記錄表字段名數(shù)據(jù)類型字段長度與否為空入庫日期日期/時間入庫單號文本10貨品編碼文本5數(shù)量數(shù)字長整型進貨價貨幣總額貨幣已付貨款貨幣供貨單位編碼文本5供貨單位文本20經(jīng)辦人編碼文本5經(jīng)辦人文本8增值稅率數(shù)字單精度型備注備注表2 入庫記錄表表2 入庫記錄表出庫記錄表字段名數(shù)據(jù)類型字段長度與否為空出庫日期日期/時間出庫單號文本10貨品編碼文本5貨品名稱文本10數(shù)量數(shù)字長整型單價貨幣出貨價貨幣總額貨幣已收獲款貨幣收貨單位編碼文本5收貨單位文本20經(jīng)辦人編碼文本5經(jīng)辦人文本8增值稅率數(shù)字單精度型備注備注表3 貨品出庫表表3 貨品出庫表倉庫信息表字段名數(shù)據(jù)類型字段長度與否為空倉庫編號文本5倉庫名稱文本12存貨種類文本2存貨價值貨幣表4 倉庫信息表表4 倉庫信息表供貨單位信息表(收貨單位表)字段名數(shù)據(jù)類型字段長度與否為空單位編號文本5單位名稱文本50單位地址文本50電話文本15聯(lián)系人文本8表5 供貨單位信息表表5 供貨單位信息表經(jīng)辦人員表字段名數(shù)據(jù)類型字段長度與否為空編號文本5姓名文本8家庭住址文本50辦公電話文本15家庭電話文本15表6 經(jīng)辦人員表表6 經(jīng)辦人員表顧客表字段名數(shù)據(jù)類型字段長度與否為空UserID文本10userPWD文本6表7 顧客表表7 顧客表另外,我們還建立了幾張查詢表,用以寄存部分用于計算的統(tǒng)計信息,方便查詢?!袢霂斓怯浗y(tǒng)計表 入庫登記_累計●貨品入庫年度統(tǒng)計表 入庫登記_n●供貨單位年度供貨金額統(tǒng)計表 入庫登記_w●庫存匯總表 庫存 ●出庫登記統(tǒng)計表 出庫登記_累計●貨品出庫年度統(tǒng)計表 出庫登記_h●收貨單位年度收貨金額統(tǒng)計表 出庫登記_d入庫登記_累計表與出庫登記_累計分別是以入庫記錄表和出庫記錄表為基礎的,因此此處不再描述;庫存匯總表重要由出庫表和入庫表建立關(guān)系獲得。入庫登記_n字段名數(shù)據(jù)類型字段長度與否為空貨品名稱文本10入庫日期日期/時間年度數(shù)量數(shù)字長整型表8入庫登記_n表8入庫登記_n入庫登記_w字段名數(shù)據(jù)類型字段長度與否為空供貨單位文本50入庫日期日期/時間年度供貨總額數(shù)字長整型表9入庫登記_w表9入庫登記_w庫存匯總字段名數(shù)據(jù)類型字段長度與否為空貨品編碼文本5入庫日期日期/時間貨品名稱文本10數(shù)量(入庫)數(shù)字長整型進貨價貨幣數(shù)量(出庫)數(shù)字長整型庫存數(shù)量數(shù)字長整型表10庫存匯總表表10庫存匯總表出庫登記_h字段名數(shù)據(jù)類型字段長度與否為空貨品名稱文本10出庫日期日期/時間年度數(shù)量數(shù)字長整型表11出庫登記_h表11出庫登記_h出庫登記_d字段名數(shù)據(jù)類型字段長度與否為空收貨單位文本50出庫日期日期/時間年度金額總額數(shù)字長整型表12出庫登記_d表12出庫登記_d第五章 應用程序設計5.1程序構(gòu)造本應用程序由33個窗體構(gòu)成,重要的分別是:主窗體,歡迎界面,登陸窗體,入庫窗體,出庫窗體,庫存匯總,打印及查詢等窗體構(gòu)成。通過運行程序首先進入歡迎界面和登陸窗體,通過輸入密碼,驗證身份后進入主窗體,在主窗體上有10個菜單項,分別對應各自的功效模塊窗體,涉及系統(tǒng),庫存管理,入庫管理,出庫管理,盤存管理,綜合管理,附項管理,歷史數(shù)據(jù)管理,打印和查詢。需要哪個功效的時候就點哪個菜單,相對應的窗體會自動彈出。5.2程序源代碼程序?qū)崿F(xiàn)的部分代碼以下:●公共模塊Publicdate1AsStringPublicdate2AsStringPublicgUserNameAsString'保存顧客名'添加執(zhí)行SQL語句的函數(shù)PublicFunctiontransactSQL(ByValsqlAsString)AsADODB.RecordsetDimconAsADODB.ConnectionDimrsAsADODB.RecordsetDimstrConnectionAsStringDimstrArray()AsStringSetcon=NewADODB.Connection'創(chuàng)立連接Setrs=NewADODB.Recordset'創(chuàng)立統(tǒng)計集OnErrorGoToTransactSQL_ErrorstrConnection="Provider=Microsoft.jet.oledb.4.0;DataSource=E:\庫存管理\kucun.mdb"strArray=Split(sql)con.OpenstrConnection'打開連接IfStrComp(UCase$(strArray(0)),"select",vbTextCompare)=0Thenrs.OpenTrim$(sql),con,adOpenKeyset,adLockOptimisticSettransactSQL=rs'返回統(tǒng)計集iflag=1Elsecon.Executesql'執(zhí)行命令iflag=1EndIfTransactSQL_Exit:Setrs=NothingSetcon=NothingExitFunctionTransactSQL_Error:MsgBox"查詢錯誤:"&Err.Descriptioniflag=2ResumeTransactSQL_ExitEndFunction●主窗體的程序代碼圖5-1主窗體界面圖5-1主窗體界面PrivateSuba1_Click()Form1.ShowEndSubPrivateSuba2_Click()DimfAddAsNewfrmAddUserfAdd.ShowfAdd.ZOrder0EndSubPrivateSuba3_Click()DimfChangePWDAsNewfrmChangePWDfChangePWD.ShowEndSubPrivateSuba4_Click()frmAbout.ShowEndSubPrivateSuba5_Click()'調(diào)入數(shù)據(jù)備份Loadmain_sjbfmain_sjbf.Showmain.Enabled=FalseEndSubPrivateSuba6_Click()'調(diào)入數(shù)據(jù)恢復Loadmain_sjhfmain_sjhf.Showmain.HideEndSubPrivateSubb1_Click()frm貨品信息.ShowEndSubPrivateSubb12_Click()sql="select*from貨品信息orderby貨品編碼"frmProInfo.createList(sql)frmProInfo.ShowEndSubPrivateSubb2_Click()frm貨品庫存.ShowEndSubPrivateSubB3_Click()frm超儲貨品.ShowEndSubPrivateSubb4_Click()frm短線貨品.ShowEndSubPrivateSubc1_Click()frm入庫登記.ShowEndSubPrivateSubc2_Click()frm貨品入庫年度統(tǒng)計.ShowEndSubPrivateSubc3_Click()frm供貨單位供貨分類金額統(tǒng)計.ShowEndSubPrivateSubc4_Click()frm供貨單位年度供貨金額統(tǒng)計.ShowEndSubPrivateSubCommand1_Click()date1=Text1.Text&"/"&Text3.Text&"/"&Text2.Textdate2=Text6.Text&"/"&Text4.Text&"/"&Text5.TextText7.Text=date1EndSubPrivateSubd1_Click()frm出庫登記.ShowEndSubPrivateSubd2_Click()frm貨品出庫年度統(tǒng)計.ShowEndSubPrivateSubd3_Click()frm收貨單位期間收貨統(tǒng)計.ShowEndSubPrivateSubd4_Click()frm收貨單位年度收貨金額統(tǒng)計.ShowEndSubPrivateSube1_Click()frm盤存錄入.ShowEndSubPrivateSube2_Click()frm盤存表.ShowEndSubPrivateSubf1_Click()frm貨品出入?yún)R總表.ShowEndSubPrivateSubg1_Click()frm經(jīng)辦人員.ShowEndSubPrivateSubg2_Click()frm供貨單位.ShowEndSubPrivateSubg3_Click()frm倉庫信息.ShowEndSubPrivateSubg5_Click()Form6.ShowEndSubPrivateSubh1_Click()frm歷史庫存.ShowEndSubPrivateSubh2_Click()frm歷史入庫.ShowEndSubPrivateSubh3_Click()frm歷史出庫.ShowEndSubPrivateSubi1_Click()DataReport1.ShowEndSubPrivateSubi2_Click()DataReport2.ShowEndSubPrivateSubi3_Click()DataReport3.ShowEndSubPrivateSubj1_Click()Form2.ShowEndSubPrivateSubj2_Click()Form3.ShowEndSubPrivateSubj3_Click()Form4.ShowEndSubPrivateSubj4_Click()Form5.ShowEndSubPrivateSubToolbar1_ButtonClick(ByValButtonAsComctlLib.Button)SelectCaseButton.KeyCaseIs="rk"'調(diào)入入庫登記c1_ClickCaseIs="ck"'調(diào)入出庫登記d1_ClickCaseIs="kchz"'調(diào)入庫存匯總f1_ClickCaseIs="zhcx"'調(diào)入組合查詢j4_ClickCaseIs="sjbf"'調(diào)入數(shù)據(jù)備份a5_ClickEndSelectEndSubPrivateSubx_Click()EndEndSub●登陸模塊的實現(xiàn)PrivateSubcmdLogin_Click()denlu_name=txtUserName.Textdenlu_pass=txtPassword.TextDimmycnAsNewADODB.ConnectionDimmyrsAsNewADODB.RecordsetSetmyrs=NewADODB.Recordsetmycn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=kucun.mdb;"myrs.Open"SELECT*FROM[顧客]whereuserID='"+denlu_name+"';",mycn,adOpenKeyset,adLockOptimisticIfmyrs.BOF=TrueAndmyrs.EOF=TrueThenMsgBox"查無此人",,"登陸信息"ElseIfmyrs("userPWD")=denlu_passThen''''''''''''''''''''''''''''''''''''''''''MsgBox"身份對的",,"登陸信息"main.ShowUnloadMe'''''''''''''''''''''''''''''''''''''''''''''''''''ElseMsgBox"密碼不對的",,"登陸信息"EndIfEndIfEndSub●添加顧客模塊的實現(xiàn)OptionExplicitPrivateSubCommand1_Click()DimsqlAsStringDimrsAsADODB.RecordsetIfTrim(UserName.Text)=""Then'判斷顧客名稱與否為空MsgBox"請輸入顧客名稱!",vbOKOnly+vbExclamation,"警告"ExitSubUserName.SetFocusElsesql="select*from顧客whereUserID='"&UserName&"'"Setrs=transactSQL(sql)Ifrs.EOF=FalseThen'判斷與否已經(jīng)存在顧客MsgBox"這個顧客已經(jīng)存在!請重新輸入顧客名稱!",vbOKOnly+vbExclamation,"警告"UserName.SetFocusUserName.Text=""PassWord.Text=""ConfirmPWD.Text=""ExitSubElseIfTrim(PassWord.Text)<>Trim(ConfirmPWD.Text)Then'判斷兩次密碼與否相似MsgBox"兩次輸入的密碼不一致,請重新輸入密碼!",vbOKOnly+vbExclamation,"警告"PassWord.Text=""ConfirmPWD.Text=""PassWord.SetFocusExitSubElseIfTrim(PassWord.Text)=""Then'判斷密碼與否為空MsgBox"密碼不能為空!",vbOKOnly+vbExclamation,"警告"PassWord.Text=""ConfirmPWD=""PassWord.SetFocusElse'添加顧客sql="insertinto顧客(UserID,UserPWD)values('"&UserNamesql=sql&"','"&PassWord&"')"transactSQL(sql)MsgBox"添加成功!",vbOKOnly+vbExclamation,"添加成果"'重新設立初始化為空UserName.Text=""PassWord.Text=""ConfirmPWD.Text=""UserName.SetFocusEndIfEndIfEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()UserName.Text=""PassWord.Text=""ConfirmPWD.Text=""EndSub●修改顧客密碼的實現(xiàn)OptionExplicitPublicgUserNameAsStringPrivateSubCommand1_Click()DimsqlAsStringDimrsAsADODB.RecordsetIfTrim(OldPWD.Text)=""Then'判斷與否輸入舊密碼MsgBox"請輸入舊密碼!",vbOKOnly+vbExclamation,"警告"OldPWD.SetFocusExitSubElseIfTrim(NewPWD.Text)=""Then'判斷與否輸入新密碼MsgBox"請輸入新密碼!",vbOKOnly+vbExclamation,"警告"NewPWD.SetFocusExitSubElseIfTrim(NewPWD.Text)<>Trim(ConfirmPWD.Text)Then'判斷兩次密碼與否相似MsgBox"兩次密碼不同!",vbOKOnly+vbExclamation,"警告"NewPWD.Text=""ConfirmPWD.Text=""NewPWD.SetFocusElse'修改密碼sql="update顧客setUserPWD='"&NewPWD&"'whereUserID='"sql=sql&gUserName&"'"transactSQL(sql)MsgBox"密碼已經(jīng)修改!",vbOKOnly+vbExclamation,"修改成果"UnloadMeEndIfEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()OldPWD.Text=""NewPWD.Text=""ConfirmPWD.Text=""EndSub●數(shù)據(jù)備份模塊的實現(xiàn)PrivateSubForm_Activate()'賦值給text1Text1.Text="A"EndSubPrivateSubCommand1_Click()'確認數(shù)據(jù)備份Me.MousePointer=11YesNo=MsgBox("準備好了嗎?",vbNo+vbQuestion)IfYesNo=vbNoThenExitSubEndIfOnErrorGoToerrpromptMe.MousePointer=11MkDir(Text1.Text&":\數(shù)據(jù)備份")FileCopyApp.Path&"\kucun.mdb",Text1.Text&":\數(shù)據(jù)備份\kucun"&Date&".mdb"Me.MousePointer=0MsgBox"數(shù)據(jù)已備份完畢。"errprompt:Me.MousePointer=0SelectCaseErr.NumberCase57MsgBox"磁盤已滿!",vbCriticalCase70MsgBox"磁盤寫保護!",vbCriticalEndSelectEndSubPrivateSubCommand2_Click()Loadmainmain.Showmain.Enabled=TrueUnloadMeEndSubPrivateSubForm_Unload(CancelAsInteger)main.Enabled=TrueEndSub●數(shù)據(jù)恢復模塊的實現(xiàn)PrivateSubForm_Unload(CancelAsInteger)main.Enabled=TrueEndSubPrivateSubDir1_Change()File1.Path=Dir1.PathEndSubPrivateSubDrive1_Change()Dir1.Path=Drive1.DriveEndSubPrivateSubFile1_Click()Text1.Text=Dir1.Path&"\"&File1.FileNameEndSubPrivateSubCommand1_Click()'恢復指定途徑下的數(shù)據(jù)庫IfText1.Text=""ThenMsgBox"請選擇要恢復的數(shù)據(jù)!"ElseMe.MousePointer=11FileCopyDir1.Path&"\"&File1.FileName,App.Path&"\kucun.mdb"Me.MousePointer=0MsgBox"數(shù)據(jù)已恢復完畢!"EndIfEndSubPrivateSubCommand2_Click()main.ShowUnloadMeEndSub對于貨品信息的瀏覽,重要采用了MSFlexGrid控件,它是一種Active控件,該控件提供了表格式界面,解決數(shù)據(jù)相稱靈活,含有只讀數(shù)據(jù)綁定、對表格數(shù)據(jù)進行顯示和操作、數(shù)據(jù)分組排序、Data控件賦值、文本自動換行等功效。但它無法對數(shù)據(jù)進行動態(tài)輸入,只能提供瀏覽功效。圖5-2貨品信息界面圖5-2貨品信息界面具體代碼以下:OptionExplicitPrivateSubCommand1_Click()rsGrid.RefreshEndSubPrivateSubForm_Load()DimsqlAsStringsql="select*from貨品信息orderby貨品編碼"createList(sql)EndSubPublicSubcreateList(sqlAsString)DimrsAsNewADODB.RecordsetDimiAsIntegerDimrsGirdAsMSFlexGrid'設立表頭rsGrid.TextMatrix(0,0)="貨品編碼"rsGrid.TextMatrix(0,1)="貨品名稱"rsGrid.TextMatrix(0,2)="類別"rsGrid.TextMatrix(0,3)="型號"rsGrid.TextMatrix(0,4)="單位"rsGrid.TextMatrix(0,5)="倉庫編碼"rsGrid.TextMatrix(0,6)="寄存?zhèn)}庫"rsGrid.TextMatrix(0,7)="入庫計劃單價"rsGrid.TextMatrix(0,8)="出庫計劃單價"rsGrid.TextMatrix(0,9)="原始庫存"rsGrid.TextMatrix(0,10)="默認貨位"rsGrid.TextMatrix(0,11)="警戒底線庫存"rsGrid.TextMatrix(0,12)="警戒高線庫存"Fori=0To12'設立全部表格對齊方式rsGrid.ColAlignment(i)=4NextiFori=0To11'設立每列寬度rsGrid.ColWidth(i)=1400NextirsGrid.ColWidth(12)=Setrs=transactSQL(sql)Ifrs.EOF=FalseThen'顯示信息內(nèi)容rsGrid.Rows=1WhileNotrs.EOFrsGrid.Rows=rsGrid.Rows+1rsGrid.TextMatrix(rsGrid.Rows-1,0)=rs(0)

溫馨提示

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

評論

0/150

提交評論