公司倉庫管理系統(tǒng)221_第1頁
公司倉庫管理系統(tǒng)221_第2頁
公司倉庫管理系統(tǒng)221_第3頁
公司倉庫管理系統(tǒng)221_第4頁
公司倉庫管理系統(tǒng)221_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、歡迎共閱第一章公司介紹與系統(tǒng)的需求分析1.1公司簡介佳雪公司是一個專銷電動機(jī)的公司,主要業(yè)務(wù)是進(jìn)行電動機(jī)的進(jìn)貨與分銷,作 為一個銷售的中介公司,其要求有入庫與出庫的主要數(shù)據(jù)庫,可以簡單的記錄數(shù)據(jù), 并且可以進(jìn)行多方面的查詢,使得公司有較詳細(xì)的數(shù)據(jù)統(tǒng)計(jì)與分析。其主要業(yè)務(wù)如以下圖所示:圖 1.1.11廠商倉庫顧客2查詢功能1)按型號查詢有兩個結(jié)果:A生成入庫量、出庫量、節(jié)余量I"IB生成兩個數(shù)據(jù)來源表,包括出庫來源與入庫來源;2)按單位查詢結(jié)果:生成型號、產(chǎn)品名稱、時間(入/出庫)、單價飛一 I再生成出入庫的兩個基本情況表,包括供應(yīng)商和顧客的基本情況,如型號、出/入庫時間,單價,發(fā)票編號

2、、結(jié)帳情況;3.本系統(tǒng)主要運(yùn)用VisualBasic的內(nèi)嵌數(shù)據(jù)庫Access來記錄數(shù)據(jù);4產(chǎn)品信息:序號(自動生成)、型號(文本)、入庫時間(日期)、出庫時間(日期)、數(shù)量 (數(shù)字)、發(fā)票編號(文本)、單價(貨幣)、廠商名稱(文本)、供應(yīng)商名稱(文本)、 廠商與供應(yīng)商的電話(數(shù)字)、結(jié)帳情況(是/否)是為0,否為-11. 2分析與描述一根據(jù)1.1章節(jié)的具體要求,總結(jié)出以下的數(shù)據(jù)流程:圖1.2.1數(shù)據(jù)流程二根據(jù)以上情況,按要求設(shè)計(jì)了幾個相關(guān)的數(shù)據(jù)庫I表:出庫、入庫查詢:查詢結(jié)余、出庫查詢、入庫查詢、型號出庫查詢、型號入庫查詢>-_II主要的出庫表屬性如以下表所示:字段名屬性字段大小:序號自

3、動生成長整型-型號文本50產(chǎn)品名稱文本50出庫數(shù)量數(shù)字長整型單價貨幣自動小數(shù)出庫時間日期年-月-日發(fā)票編號文本50顧客電話文本50結(jié)帳情況是/否2表 1.2.1由于入庫表與出庫想類似,所以在此不做詳細(xì)介紹。為了方便查詢,因此在出庫與入庫的基礎(chǔ)上增加了幾個查詢表,具體字段如下:1. 查詢結(jié)余:型號、產(chǎn)品名稱、出庫數(shù)量、入庫數(shù)量2. 出庫查詢:顧客名稱、型號、出庫時間、單價、出庫數(shù)量OFSUM、發(fā)票編號、 結(jié)帳情況3入庫查詢:供應(yīng)商名稱、型號、入庫時間、單價、入庫數(shù)量OFSUM、發(fā)票編號、結(jié)帳情況4出庫型號查詢:型號、產(chǎn)品名稱、顧客名稱、單價、發(fā)票編號、結(jié)帳情況5入庫型號查詢:型號、產(chǎn)品名稱、供應(yīng)

4、商名稱、單價、發(fā)票編號、結(jié)帳情況1.3數(shù)據(jù)庫的主要特點(diǎn)數(shù)據(jù)庫中的每一個表都必須符合下面幾個特征:*表中的每一個單元的內(nèi)容只有一個值*所有字段的名稱都不相同-尹.# : | s-*記錄的前后次序和字段的左右次序可以變化,不受限制*數(shù)據(jù)庫中的表的上下次序不受限制1 i _ 1*表中不應(yīng)有內(nèi)容完全相同的記錄.I 、I Ii*表中的每一個字段都必須有相同的數(shù)據(jù)類型 使用VisualBasic開發(fā)應(yīng)用程序的兩個主要思想:*可視設(shè)計(jì) 、 I*事件驅(qū)動編程VisualBasic應(yīng)用程序不同于其他語言開發(fā)的單一性程序。使用VisualBasic編程時,必須首先確定應(yīng)用程序如何與用戶交互,如鼠標(biāo)單擊,用戶必須編

5、寫代碼控制 這些事件的響應(yīng)方法。使用VisualBasic開發(fā)數(shù)據(jù)庫應(yīng)用程序的一般步驟如下所示:(1)建立數(shù)據(jù)庫(2)建立用戶界面(3)編寫代碼(4)調(diào)試運(yùn)行(5)編譯應(yīng)用程序(6)發(fā)布應(yīng)用程序界面設(shè)計(jì)(1)控件的位置(2)界面元素的一致性(3)保持界面的簡明(4)使用顏色和圖象:增加視覺的感染力i jj 1(5)圖象和圖標(biāo):增加應(yīng)用程序的視覺上的趣味f 尹".沖 >,*I I-(6)選取字體VisualBasic應(yīng)用程序的結(jié)構(gòu):由于VisualBasic應(yīng)用程序是基于對象的,所以應(yīng)用程序的代碼結(jié)構(gòu)就是該程序在屏 幕上物理表示的模型。根據(jù)定義,對象包含數(shù)據(jù)和代碼。在屏幕上看到的

6、窗體代表 屬性,這些屬性定義了窗體的外觀和內(nèi)在特性。本設(shè)計(jì)主要是運(yùn)用Data控件。X"| J I 1Data控件主要是打開、訪問并操作已有的數(shù)據(jù)庫,它是VisualBasic訪問數(shù)據(jù)庫的 最常用的工具之一。由于 Data控件使用Microsoft的Jet引擎來實(shí)現(xiàn)數(shù)據(jù)訪問(與* IMicrosoftAccess所用的數(shù)據(jù)庫引擎相同),使用戶可以無縫地訪問很多標(biāo)準(zhǔn)的數(shù)據(jù)庫 格式,而且無需編寫任何代碼就可以創(chuàng)建數(shù)據(jù)應(yīng)用程序,因此這種VisualBasic內(nèi)部的Data控件最合適小的(桌面)數(shù)據(jù)庫,諸如Access和ISAM數(shù)據(jù)庫等。由于Data控件是VisualBasic的內(nèi)部控件,因此

7、可以直接在標(biāo)準(zhǔn)工具箱中找到該 控件。在程序運(yùn)行過程中,只要用鼠標(biāo)單擊控件上的箭頭按鈕,系統(tǒng)將自動修改Data控件指向的記錄和顯示在約束控件中的數(shù)據(jù),而不需要編寫任何代碼??梢詫⒍鄠€Data控件同時添加到一個工程甚至是同一個窗體中。另外,每個控件可以連接到不同的數(shù)據(jù)庫或同一個數(shù)據(jù)庫的不同表上,還可以和代碼一起查詢滿足 的語句的表的記錄集。使用Data控件可以顯示、編輯和更新來字各種已有的數(shù)據(jù)庫信息。此外,還可以訪問和操作遠(yuǎn)程的開放式數(shù)據(jù)庫連接。除了使用Data控件之外,還運(yùn)用的 VisualBasic6.0的新增控件功能,Dblistbox 它不象標(biāo)準(zhǔn)的列表框或組合框那樣需要使用Additem方

8、法添加列表項(xiàng)。另外,它們還可以有選擇地把某個選定的字段傳遞給另一個Data控件,使得它對于“查找表” '、廠、11)應(yīng)用程序很理想。- _ °"-'' | r與其他的約束控件不同,這些控件可以同時顯示多個記錄。約束數(shù)據(jù)列表控件 類似于普通的列表框控件,可以顯示記錄集中的數(shù)據(jù),網(wǎng)格中的每一行代表記錄集中的一個記錄。1 «) 1第二章管理系統(tǒng)的設(shè)計(jì)與分析2.1進(jìn)入界面由于系統(tǒng)的的界面比較單一,因此在設(shè)計(jì)過程中運(yùn)用了許多網(wǎng)上下載的圖片來增FI y 一乂I 添界面的可觀性。在考慮到操作員的技術(shù)水平有限,因此在控件方面只運(yùn)用了COMMAND,這樣I

9、I不僅能是界面清楚,更能是操作者很快學(xué)會,簡單易懂?!按_定”可以進(jìn)入界面,如按“系統(tǒng)信息”的話,將顯示本系統(tǒng)的具體軟硬件情況。圖 2.1.1“確定”圖 2.1.2圖 2.1.32. 2入庫界面序號廠入庫時間|oo 電T型號|YY&4 |0098。產(chǎn)品名飾僕應(yīng)面£稱|ws數(shù)量|n電話1單價1結(jié)帳悟況匚刪d1杯1確走11修改|題消|刪除1入1退出|圖221控件類型控件名主要屬性FormFrmrsglCaptio n= “入庫情況”DataDatalDatabase name二“ Adb2.mdb” Recordsettype=1 ' Dynaset Captio n= “

10、入庫情況”Comma ndDialogComma nd1Caption二“上一個”Comma nd2Caption二“下一個”Comma nd3Caption二“確定”Comma nd4Captio n= “取消”Comma nd5Caption二“退出”Comma nd6Captio n= “增加”Comma nd7Captio n= “修改”Comma nd8Captio n= “刪除”LableLable1Caption二“序號”Lable2Captio n= “型號”Lable3Captio n= “產(chǎn)品名稱”Lable4Caption二“數(shù)量”Lable5Caption二“單價”La

11、ble6Captio n= “入庫時間”Lable7Captio n= “發(fā)票名稱”Lable8Captio n= “供應(yīng)商名稱”Lable9Caption二“電話”Lable10Captio n= “結(jié)帳情況”TextText1Caption二“序號” Datasource二“ data1 ”Text2Caption二“型號” Datasource二“ data1 ”Text3Caption二“產(chǎn)品名稱” Datasource二“data1 ”Text4Caption二“數(shù)量” Datasource二“ data1 ”Text5Caption二“單價” Datasource二“ data1

12、”Text6Caption二“入庫時間” Datasource二“data1 ”Text7Caption二“發(fā)票名稱” Datasource二“data1 ”Text8Caption“供應(yīng)商名稱” Datasource“data1 ”Text9Caption二“電話” Datasource二“ data1 ”Text10Caption二“結(jié)帳情況” Datasource二“data1 ”表221控件說明j 二:> I ,增加新記錄Z /(-仝'當(dāng)單擊“確定”按鈕后,“確定”和“取消”兩個按鈕顯示,同時使其他的按鈕不可 見,這樣做是為了防止用戶的誤操作。其主要程序如下:Privat

13、eSubComma nd5_Click()xg=True'顯示“確定”和“取消”兩個按鈕Comma nd3.Visible=TrueComma nd4.Visible=True'取消其他按鈕功能Comma nd5.E nabled=FalseComma nd6.E nabled=FalseComma nd7.E nabled=FalseComma nd8.E nabled=FalseComma nd1.E nabled=FalseI IComma nd2.E nabled=FalseText1.SetFocus光標(biāo)在 TEXT1 處endsub修改記錄在調(diào)用EDIT方法之前,約

14、束控件中的數(shù)據(jù)是只讀的,用戶無法對其進(jìn)行修改。調(diào)用 了 EDIT方法后,用戶可以在約束控件中修改記錄的值。如果在對當(dāng)前記錄進(jìn)行修改之前修改,未使用EDIT方法,將發(fā)生運(yùn)行時錯誤。其主要程序如下:PrivateSubComma nd6_Click()歡迎共閱xg=TrueComma nd3.E nabled=TrueComma nd4.E nabled=True'取消其他按鈕功能Comma nd5.E nabled=FalseComma nd6.E nabled=FalseComma nd7.E nabled=FalseComma nd8.E nabled=FalseComma nd1.

15、E nabled=FalseComma nd2.E nabled=False'對記錄進(jìn)行編輯Text1.SetFocusEndSub刪除記錄""J* I I 當(dāng)用戶單擊“刪除”命令按鈕時,為了防止用戶誤刪除數(shù)據(jù),程序?qū)⒄{(diào)用Msgbox()函數(shù)以彈出對話框,詢問用戶是否真的要刪除該記錄。如果用戶單擊對話框上的“確 定”按鈕,程序調(diào)用記錄集的Delete方法,將記錄集的當(dāng)前記錄設(shè)置為空,并從原始的表中刪掉當(dāng)前記錄。但是刪除的記錄仍然是當(dāng)前記錄,只是將其變?yōu)榱藷o效的1 i _«記錄,任何對其的引用都會產(chǎn)生錯誤。.II Ii其主要程序如下:PrivateSubCo

16、mma nd6_Click()xg=TrueComma nd3.E nabled=TrueXj i_I 1Comma nd4.E nabled=True'取消其他按鈕功能Comma nd5.E nabled=FalseComma nd6.E nabled=FalseComma nd7.E nabled=FalseComma nd8.E nabled=FalseComma nd1.E nabled=FalseComma nd2.E nabled=False'對記錄進(jìn)行編輯Text1.SetFocusEndSubPrivateSubComma nd7_Click()ss=MsgBo

17、x("真的要刪除嗎? ”,vbYesNo+vblnformation,"刪除記錄")'如果要刪除If(ss=vbYes)The nComma nd2.E nabled=FalseEn dIf歡迎共閱En dlfEndSub移動數(shù)據(jù)當(dāng)用戶單擊“上一個”和“下一個”按鈕是,系統(tǒng)將自動轉(zhuǎn)換數(shù)據(jù),但注意,當(dāng)移至第一個記錄時,“下一個”按鈕將失效;移至最后一個記錄是,“上一個”按鈕也將失效。其中在設(shè)計(jì)程序時,為了防止“ NOCurrentRecorc”這樣的錯誤,在移動記錄指針時 測試記錄集的BOF和EOF屬性。如果單擊“上一個”和“下一個”命令按鈕將導(dǎo)致 記錄指針

18、指向空指針,則分別調(diào)用Movefirst和Movelast方法,這是防止“NOCurrentRecorc”錯誤出現(xiàn)的最簡單和最有效的方法。與此同時,如果記錄集的 BOF屬性為True,則置“上一個”命令按鈕為非激活狀態(tài),是用戶無法再單擊該按鈕。 同樣,當(dāng)記錄集的BOF屬性為True時,置“下一個”命令按鈕為非激活狀態(tài)。 其主要程序如下:PrivateSubComma nd1_Click()xg=False'如果是第一個記錄,BOF屬性為TRUEComma nd1.E nabled=FalseElseComma nd2.E nabled=TrueyXJ i_zI 1Comma nd1.E

19、 nabled=TrueEn dIfEndSubPrivateSubComma nd2_Click()xg=False'如果當(dāng)前記錄是記錄集中最后一個記錄,EOF屬性為TRUEComma nd2.E nabled=FalseElseComma nd2.E nabled=TrueComma nd1.E nabled=TrueEn dIfEndSub用Updata方法確認(rèn)增加和修改當(dāng)用戶修改和增加完一個記錄的數(shù)據(jù)后,需要將數(shù)據(jù)保存到數(shù)據(jù)庫中。可以通過調(diào)用記錄集的Updata方法把數(shù)據(jù)保存到數(shù)據(jù)庫中。單擊“確定”按鈕時,記錄將被記歡迎共閱如數(shù)據(jù)庫。其主要程序如下:PrivateSubComm

20、a nd3_Click()On ErrorGoToerror1xg=TrueComma nd3.E nabled=FalseComma nd4.E nabled=FalseComma nd2.E nabled=TrueComma nd1.E nabled=TrueComma nd4.E nabled=TrueComma nd5.E nabled=TrueComma nd6.E nabled=TrueComma nd7.E nabled=TrueComma nd8.E nabled=TrueExitSuberror1:MsgBoxErr.Description,vbOKOnly,"錯誤

21、提示"EndSub用CancelUpdata方法放棄增加和修改如果用戶修改了約束控件里的數(shù)據(jù)后,在沒有單擊“確定”命令按鈕之前,想放棄1 _ «剛才的增加或修改,貝何以單擊“取消”命令。.I 、I Ii由于其程序與Updata方法相似,因此不做重復(fù)解釋。定義Data_Validata事件過程對于一個新記錄或編輯的記錄,如果不能維護(hù)引用完整性或不能反映該舊路的實(shí)體 原型,那么它就是無效的,并且破壞了數(shù)據(jù)庫的完整性。為了在“入庫情況”表中 建立一個有效的記錄,就必須要有主關(guān)鍵字段“型號”的值。因此,對已經(jīng)存在和 新增加的舊路都要先測試其“型號”字段之后才可以執(zhí)行更新操作。其主要

22、程序如下:'當(dāng)約束控件中內(nèi)容改變時IfText2.DataCha ngedThe nSave=TrueComma nd1.E nabled=TrueComma nd2.E nabled=TrueEn dIfElseIfText2.Text=""A ndxg=TrueThe n歡迎共閱ss=MsgBox("必須要有型號'! ",vbOKOnly+vblnformation,"提示”)Action=FalseComma nd3.Visible=TrueComma nd4.Visible=TrueComma nd1.Visible=T

23、rueComma nd2.Visible=TrueComma nd7.Visible=TrueComma nd8.Visible=TrueComma nd5.Visible=TrueComma nd6.Visible=TrueEn dIfEn dIflfAction=data_act ionunl oadOrAct ion=data_act ion closeThe nSave=TrueEn dIfEndSub2.3出庫界面當(dāng)單擊“出庫”圖 2.3.1序號F出庫時間1型號單價|yy636-l|100產(chǎn)品名稱顧客名稱|衛(wèi)電動|上海電動機(jī)數(shù)呈電動電話1境票編號結(jié)帳厝況|T2.4查詢界面當(dāng)用戶單擊“

24、查詢”按鈕時,系統(tǒng)將出現(xiàn)密碼登陸框,因?yàn)椴樵兊氖莾?nèi)部資料,因此,需身份驗(yàn)證,如圖2.4.1圖241隨后將進(jìn)入查詢功能,如圖2.4.2圖 2.4.2用戶可根據(jù)不同需要進(jìn)行“按型號”和“按單位”的查詢。1 _ «單擊“按型號” “上一個”和“下一個”進(jìn)行查詢,也可按出庫與入庫分別查詢IXI Ii記錄。型號 1|tY&33-3產(chǎn)品名稱中電動總?cè)霂炝可弦粋€|總出庫量p下一乍直詢出庫|查詢?nèi)霂靯退出|圖 2.4.3歡迎共閱當(dāng)用戶單擊“查詢出庫”按鈕是,系統(tǒng)進(jìn)入界面,如圖2443YT6TS-2YY633-3YY645-5TY645-8|yY903-9|d潔選擇型號退出具儒悟況產(chǎn)品名稱&#

25、39;單價發(fā)票編號顧客名稱結(jié)除悟況圖 2.4.4控件類型控件名主要屬性FormfrmdblistCaption二“查詢出庫”DataDatalDatabaseName二“ db2.mdb”RecordsetType=1RecordSource二 出庫型號FrameFramelCaptio n= “具體情況”LableLableiCqptio n= “產(chǎn)品名稱”Lable2Cqption二“單價”Lable3Cqptio n=發(fā)票編號Lable4Cqptio n= “顧客名稱”Lable5Cqptio n= “結(jié)帳情況”TextTextl 1Datafield= “具體情況” Datasourc

26、e二 “ Data1”Text21Datafield= “具體情況” Datasource二 “ Data1”Text3Datafield= “具體情況” Datasource二 “ Data1”Text4Datafield= “具體情況” Datasource二 “ Data1”Text5Datafield= “具體情況” Datasource二 “ Data1”DBlistDblistiListfield= “型號” Rowsource二 “ Data1”表 2.4.1單擊Dblist框中的型號,F(xiàn)rame中將自動顯示記錄,以供用戶查詢當(dāng)用戶單擊“查詢?nèi)霂臁盜, "I|%!X? /X'f r'圖245再回到查詢界面,單擊“按單位”按鈕,此時系統(tǒng)將進(jìn)入按單位查詢的截面,如圖246'礎(chǔ)1退出1圖 2.4.6分別按“顧客”和“供應(yīng)商” A杭州電動枳F Ltr LLS r LTr LLS r 鳥寧波電動機(jī) 亍減電動機(jī) 上海電動機(jī) 上海電動機(jī) 曲江電耳札 浙江電動機(jī)r r r r r誥選擇顧客名稱退岀由于以下兩個窗口的屬性以及其設(shè)計(jì)方法類似與圖4.3,因此也不做詳細(xì)介紹圖247 圖2482.5退出程序“退出”“再見”,此程序也將結(jié)束。第三章系統(tǒng)運(yùn)行與調(diào)試 I測試本身的目的是盡可能地暴露程序中的錯誤,因此在編譯完成

溫馨提示

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

最新文檔

評論

0/150

提交評論