


版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、公司倉庫管理系統(tǒng)第一章公司介紹與系統(tǒng)的需求分析1.1公司簡介佳雪公司是一個專銷電動機的公司,主要業(yè)務是進行電動機的進貨與分銷,作為一個 銷售的中介公司,其要求有入庫與出庫的主要數(shù)據(jù)庫,可以簡單的記錄數(shù)據(jù),并且可以進 行多方面的查詢,使得公司有較詳細的數(shù)據(jù)統(tǒng)計與分析。其主要業(yè)務如以下圖所示:2. 查詢功能1)按型號查詢有兩個結果:A生成 入庫量、出庫量、節(jié)余量生成 兩個數(shù)據(jù)來源表,包括出庫來源與入庫來源;2)按單位查詢結果:生成型號、產(chǎn)品名稱、時間(入/出庫)、單價再生成出入庫的兩個基本情況表,包括供應商和顧客的基本情況,如型號、出/入庫時間,單價,發(fā)票編號、結帳情況;3. 本系統(tǒng)主要運用Vis
2、ual Basic 的內(nèi)嵌數(shù)據(jù)庫Access來記錄數(shù)據(jù);4. 產(chǎn)品信息:序號(自動生成)、型號(文本)、入庫時間(日期)、出庫時間(日期)、數(shù)量(數(shù)字)、發(fā)票編號(文本)、單價(貨幣)、廠商名稱(文本)、供應商名稱(文本)、 廠商與供應商的電話(數(shù)字)、結帳情況(是/否)是為0,否為-11. 2分析與描述.根據(jù)1.1章節(jié)的具體要求,總結出以下的數(shù)據(jù)流程:圖數(shù)據(jù)流程.根據(jù)以上情況,按要求設計了幾個相關的數(shù)據(jù)庫表:出庫、入庫查詢:查詢結余、出庫查詢、入庫查詢、型號出庫查詢、型號入庫查詢主要的出庫表屬性如以下表所示:字段名屬性字段大小序號自動生成長整型型號文本50產(chǎn)品名稱文本50出庫數(shù)量數(shù)字長整型單
3、價貨幣自動小數(shù)出庫時間日期年-月-日發(fā)票編號文本50顧客電話文本50結帳情況是/否2表 由于入庫表與出庫想類似,所以在此不做詳細介紹。為了方便查詢,因此在出庫與入庫的基礎上增加了幾個查詢表,具體字段如下:1. 查詢結余:型號、產(chǎn)品名稱、出庫數(shù)量、入庫數(shù)量2. 出庫查詢:顧客名稱、型號、出庫時間、單價、出庫數(shù)量OF SUM發(fā)票編號、結帳情況3. 入庫查詢:供應商名稱、型號、入庫時間、單價、入庫數(shù)量OF SUM發(fā)票編號、結帳情況4. 出庫型號查詢:型號、產(chǎn)品名稱、顧客名稱、單價、發(fā)票編號、結帳情況5.入庫型號查詢:型號、產(chǎn)品名稱、供應商名稱、單價、發(fā)票編號、結帳情況1.3數(shù)據(jù)庫的主要特點數(shù)據(jù)庫中的
4、每一個表都必須符合下面幾個特征:表中的每一個單元的內(nèi)容只有一個值所有字段的名稱都不相同記錄的前后次序和字段的左右次序可以變化,不受限制數(shù)據(jù)庫中的表的上下次序不受限制表中不應有內(nèi)容完全相同的記錄表中的每一個字段都必須有相同的數(shù)據(jù)類型使用Visual Basic 開發(fā)應用程序的兩個主要思想:可視設計編程事件驅(qū)動編程Visual Basic應用程序不同于其他語言開發(fā)的單一性程序。使用Visual Basic時,必須首先確定應用程序如何與用戶交互,如鼠標單擊,用戶必須編寫代碼控制這些事 件的響應方法。使用 Visual Basic 開發(fā)數(shù)據(jù)庫應用程序的一般步驟如下所示:1) 建立數(shù)據(jù)庫2) 建立用戶界
5、面3) 編寫代碼4) 調(diào)試運行5) 編譯應用程序6) 發(fā)布應用程序界面設計1) 控件的位置2) 界面元素的一致性3) 保持界面的簡明4) 使用顏色和圖象:增加視覺的感染力5)圖象和圖標:增加應用程序的視覺上的趣味( 6) 選取字體Visual Basic 應用程序的結構:由于 Visual Basic 應用程序是基于對象的,所以應用程序的代碼結構就是該程序在屏 幕上物理表示的模型。根據(jù)定義,對象包含數(shù)據(jù)和代碼。在屏幕上看到的窗體代表屬性, 這些屬性定義了窗體的外觀和內(nèi)在特性。本設計主要是運用 Data 控件。Data 控件主要是打開、訪問并操作已有的數(shù)據(jù)庫,它是 Visual Basic 訪問
6、數(shù)據(jù)庫的 最常用的工具之一。由于 Data 控件使用 Microsoft 的 Jet 引擎來實現(xiàn)數(shù)據(jù)訪問(與 Microsoft Access 所用的數(shù)據(jù)庫引擎相同) ,使用戶可以無縫地訪問很多標準的數(shù)據(jù)庫格 式,而且無需編寫任何代碼就可以創(chuàng)建數(shù)據(jù)應用程序, 因此這種 Visual Basic 內(nèi)部的 Data 控件最合適小的(桌面)數(shù)據(jù)庫,諸如 Access和ISAM數(shù)據(jù)庫等。由于 Data 控件是 Visual Basic 的內(nèi)部控件,因此可以直接在標準工具箱中找到該控 件。在程序運行過程中,只要用鼠標單擊控件上的箭頭按鈕,系統(tǒng)將自動修改 Data 控件 指向的記錄和顯示在約束控件中的數(shù)據(jù)
7、,而不需要編寫任何代碼??梢詫⒍鄠€Data控件同時添加到一個工程甚至是同一個窗體中。另外,每個控件可 以連接到不同的數(shù)據(jù)庫或同一個數(shù)據(jù)庫的不同表上,還可以和代碼一起查詢滿足的語句的 表的記錄集。使用Data控件可以顯示、編輯和更新來字各種已有的數(shù)據(jù)庫信息。此外,還可以訪 問和操作遠程的開放式數(shù)據(jù)庫連接。除了使用Data控件之外,還運用的 Visual Basic 6.0 的新增控件功能,Dblistbox 它不象標準的列表框或組合框那樣需要使用 Additem方法添加列表項。另外,它們還可以 有選擇地把某個選定的字段傳遞給另一個 Data控件,使得它對于“查找表”應用程序很理 想。與其他的約束
8、控件不同,這些控件可以同時顯示多個記錄。約束數(shù)據(jù)列表控件類似于普通的列表框控件,可以顯示記錄集中的數(shù)據(jù),網(wǎng)格中的每一行代表記錄集中的一個記錄第二章管理系統(tǒng)的設計與分析2.1進入界面由于系統(tǒng)的的界面比較單一,因此在設計過程中運用了許多網(wǎng)上下載的圖片來增添界 面的可觀性。在考慮到操作員的技術水平有限,因此在控件方面只運用了 COMMAN這樣不僅能是界面清楚,更能是操作者很快學會,簡單易懂。圖是進入本系統(tǒng)的狀態(tài)圖,單擊“確定”可以進入界面,如按“系統(tǒng)信息”的話,將顯示本系統(tǒng)的具體軟硬件情況圖 當圖中的“確定”按鈕被激活時,將進入圖 的屏幕,界面的圖片是圖片引入的,接著將進入正式的編輯或查詢狀態(tài)。具體
9、的系統(tǒng)情況如圖所示:圖 圖 2. 2入庫界面當激活入庫按鈕時將出現(xiàn)以下的界面(圖 )1】n入庫時間麗A型號|YY&4 攪票編號靈)產(chǎn)品名稱電動供應商名稱r 電話1:單價|30D結帳'痔呪1-f 1確定矚1 |瞻|個|退出J圖 入庫窗體(圖)及其各個控件的主要屬性類型控件控件名主要屬性FormFrmrsglCap tio n= “入庫情況”DataDatalDatabase name=“ Adb2.mdb”Recordsettype=1 ' DynasetCap tio n= “入庫情況”Comma ndDialogComma nd1Capti on-上一個Comma n
10、d2Caption- “下一個”Comma nd3Caption- “確定”Comma nd4Caption- “取消”Comma nd5Caption- “退出”Comma nd6Caption- “增加”Comma nd7Caption- “修改”Comma nd8Caption- “刪除”LableLablelCapti on-序號Lable2Caption- “型號”Lable3Caption- “產(chǎn)品名稱”Lable4Caption- “數(shù)量”Lable5Capti on= “單價”Lable6Cap tio n= “入庫時間”Lable7Cap tio n= “發(fā)票名稱”Lable
11、8Cap ti on= “供應商名稱”Lable9Capti on= “電話”LablelOCap tio n= “結帳情況”TextTextlCapti on=序號 Datasource= datalText2Caption= “型號” Datasource= “datal ”Text3Caption= “產(chǎn)品名稱” Datasource= “datal ”Text4Caption= “數(shù)量” Datasource= “datal ”Text5Caption= “單價” Datasource= “datal ”Text6Capti on= “入庫時間” Datasource= “ data1
12、 ”Text7Cap tio n= “發(fā)票名稱” Datasource= “ data1 ”Text8Cap tio n= “供應商名稱” Datasource= “ data1 ”Text9Caption= “電話” Datasource= “data1 ”Text10Capti on= “結帳情況” Datasource= “ data1 ”表 控件說明增加新記錄當單擊“確定”按鈕后,“確定”和“取消”兩個按鈕顯示,同時使其他的按鈕不可見,這樣做是為了防止用戶的誤操作。其主要程序如下:Private Sub Comma nd5_Click() xg = True顯示“確定”和“取消”兩個按
13、鈕Command3.Visible =TrueCommand4.Visible =True取消其他按鈕功能Command5.Enabled= FalseCommand6.Enabled= FalseCommand7.Enabled= FalseCommand8.Enabled= FalseCommand1.Enabled= FalseCommand2.Enabled= False' 添加一個新記錄Textl.SetFocus '光標在 TEXT1 處end sub修改記錄在調(diào)用EDIT方法之前,約束控件中的數(shù)據(jù)是只讀的,用戶無法對其進行修改。調(diào)用了 EDIT方法后,用戶可以在約
14、束控件中修改記錄的值。如果在對當前記錄進行修改之前修改,未使用EDIT方法,將發(fā)生運行時錯誤。其主要程序如下:Private Sub Comma 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 ndl.E nabled = FalseComma nd2.E na
15、bled = False'對記錄進行編輯Datal. Recordset.EditTextl.SetFocusEnd Sub刪除記錄當用戶單擊“刪除”命令按鈕時,為了防止用戶誤刪除數(shù)據(jù),程序?qū)⒄{(diào)用Msgbox()函數(shù)以彈出對話框,詢問用戶是否真的要刪除該記錄。如果用戶單擊對話框上的“確定”按鈕, 程序調(diào)用記錄集的Delete方法,將記錄集的當前記錄設置為空,并從原始的表中刪掉當前 記錄。但是刪除的記錄仍然是當前記錄,只是將其變?yōu)榱藷o效的記錄,任何對其的引用都 會產(chǎn)生錯誤其主要程序如下:Private Sub Command6_Click() xg = TrueCommand3.Enab
16、ledTrueCommand4.EnabledTrue取消其他按鈕功能Command5.EnabledFalseCommand6.EnabledFalseCommand7.EnabledFalseCommand8.EnabledFalseCommand1.EnabledFalseCommand2.Enabled = False對記錄進行編輯Text1.SetFocusEnd SubPrivate Sub Command7_Click()刪除記錄 ")ss = MsgBox(" 真的要刪除嗎? ", vbYesNo + vbInformation, "如果
17、要刪除If (ss = vbYes) ThenComma nd2.E nabled = FalseEnd IfEnd IfEnd Sub移動數(shù)據(jù)當用戶單擊“上一個”和“下一個”按鈕是,系統(tǒng)將自動轉換數(shù)據(jù),但注意,當移至第一 個記錄時,“下一個”按鈕將失效;移至最后一個記錄是,“上一個”按鈕也將失效。其中在設計程序時,為了防止“ NOCurrent Record”這樣的錯誤,在移動記錄指針時測試 記錄集的BOF和EOFB性。如果單擊“上一個”和“下一個”命令按鈕將導致記錄指針指 向空指針,則分別調(diào)用 Movefirst和Movelast方法,這是防止“ NO Current Record ”錯
18、誤出現(xiàn)的最簡單和最有效的方法。與此同時,如果記錄集的BOF屬性為True,則置“上一個”命令按鈕為非激活狀態(tài),是用戶無法再單擊該按鈕。同樣,當記錄集的BOF屬性為True 時,置“下一個”命令按鈕為非激活狀態(tài)。其主要程序如下:Private Sub Comma nd1_Click()xg = False如果是第一個記錄,BOF屬性為TRUECommand1.Enabled = FalseElseCommand2.Enabled = TrueCommand1.Enabled = TrueEnd IfEnd SubPrivate Sub Command2_Click()xg = False如果當前
19、記錄是記錄集中最后一個記錄,EOF屬性為 TRUEDatal .R ecordset.MoveLastComma nd2.E nabled = FalseElseComma nd2.E nabled = TrueComma nd1.E nabled = TrueEnd IfEnd Sub用Updata方法確認增加和修改當用戶修改和增加完一個記錄的數(shù)據(jù)后,需要將數(shù)據(jù)保存到數(shù)據(jù)庫中??梢酝ㄟ^調(diào)用記錄 集的 Updata 方法把數(shù)據(jù)保存到數(shù)據(jù)庫中。單擊“確定”按鈕時,記錄將被記如數(shù)據(jù)庫 其主要程序如下:Private Sub Command3_Click()On Error GoTo error1x
20、g = TrueCommand3.Enabled = FalseCommand4.Enabled = FalseCommand2.Enabled = TrueCommand1.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = TrueComma nd6.E nabled = TrueComma nd7.E nabled = TrueComma nd8.E nabled = TrueExit Suberrorl: MsgBox Err.Description, vbOKOnly,"錯誤提示"End Sub用Canc
21、elUpdata方法放棄增加和修改如果用戶修改了約束控件里的數(shù)據(jù)后,在沒有單擊“確定”命令按鈕之前,想放棄剛才的增加或修改,則可以單擊“取消”命令。由于其程序與Updata方法相似,因此不做重復解釋。定義Data_Validata事件過程對于一個新記錄或編輯的記錄,如果不能維護引用完整性或不能反映該舊路的實體原型,那么它就是無效的,并且破壞了數(shù)據(jù)庫的完整性。為了在“入庫情況”表中建立一個有效 的記錄,就必須要有主關鍵字段“型號”的值。因此,對已經(jīng)存在和新增加的舊路都要先 測試其“型號”字段之后才可以執(zhí)行更新操作 其主要程序如下:當約束控件中內(nèi)容改變時If Text2.DataChanged T
22、henSave = True> 1 ThenCommand1.Enabled = TrueCommand2.Enabled = TrueEnd IfElseIf Text2.Text = "" And xg = True Then提示 ")ss = MsgBox(" 必須要有型號'! ", vbOKOnly + vbInformation, "Action = FalseCommand3.Visible = TrueCommand4.Visible = TrueCommand1.Visible = TrueCommand
23、2.Visible = TrueCommand7.Visible = TrueCommand8.Visible = TrueCommand5.Visible = TrueCommand6.Visible = TrueEnd IfEnd IfIf Action = data_actionunload Or Action = data_actionclose ThenSave = TrueEnd IfEnd Sub2.3出庫界面當單擊“出庫”按鈕的時候,系統(tǒng)將進入出庫信息輸入界面,如(圖 )所示,其基 本情況與入庫相類似,依次不做具體介紹。徑電型29987序號產(chǎn)品名稱數(shù)量刪除|上一平|下一個|垸票
24、編昌確定取消|退出|圖 2.4查詢界面當用戶單擊“查詢”按鈕時,系統(tǒng)將出現(xiàn)密碼登陸框,因為查詢的是內(nèi)部資料,因此,需身份驗證,如圖圖241隨后將進入查詢功能,如圖二二碗畫二二二 W圖 用戶可根據(jù)不同需要進行“按型號”和“按單位”的查詢單擊“按型號”,系統(tǒng)將進入以型號為關鍵字段的查詢,如圖243。其中根據(jù)SQL語句的查詢,選出出庫型號與入庫型號相同的記錄,統(tǒng)計出入庫與出庫的總數(shù)量,然后可按“上一個”和“下一個”進行查詢,也可按出庫與入庫分別查詢記錄。型號1|丹盟A3產(chǎn)品名稀中審動上一牛|總入庫量總出庫量下一個I奩詢出庫| 思出丨查誼入庫|圖243當用戶單擊“查詢出庫”按鈕是,系統(tǒng)進入界面,如圖2
25、44圖 圖窗體及其上面控件的屬性設置控件類型控件名主要屬性FormfrmdblistCap tio n= “查詢出庫”DataDatalDatabaseName=“db2.mdb”RecordsetType=1RecordSource= “出庫型號”FrameFramelCap tio n= “具體情況”LableLablelCqptio n= “產(chǎn)品名稱”Lable2Cqpti on= “單價”Lable3Cqptio n=發(fā)票編號Lable4Cqptio n= “顧客名稱”Lable5Cqptio n= “結帳情況”TextTextlDatafield=“具體情況”Datasource=
26、“ Data1 ”Text2Datafield=“具體情況”Datasource= “ Datal ”Text3Datafield=“具體情況”Datasource= “ Datal ”Text4Datafield=“具體情況”Datasource= “ Datal ”Text5Datafield=“具體情況”Datasource= “ Datal ”DBlistDblistlListfield=“型號”Rowsource= “ Datal”表241單擊Dblist框中的型號,F(xiàn)rame中將自動顯示記錄,以供用戶查詢當用戶單擊“查詢?nèi)霂臁卑粹o時,將出現(xiàn)圖 245的界面圖245再回到查詢界面,單
27、擊“按單位”按鈕,此時系統(tǒng)將進入按單位查詢的截面,如圖2.4.6247和圖246分別按“顧客”和“供應商”按鈕,系統(tǒng)將分別進入不同的查詢界面,如圖圖248由于以下兩個窗口的屬性以及其設計方法類似與圖4.3,因此也不做詳細介紹杭州電為和寧仲車利抑上海電動制 上海電動訓 浙江電動n 浙江電動口廠 L廠 廠L廠L廠 廠請選擇顧客名稱退出圖 音島電動機廠 貢門電韻機廠廈門電動機型號|Y'J£A5 8入庫吋恒1(012-12八犀數(shù)呈|0O-2-lZ題票矚號財晅結帳情況Fr amel退岀圖 2.5退出程序再回到登陸主窗口,(圖),單擊“退出”按鈕,系統(tǒng)將退出程序,顯示以下窗口(圖),單擊圖中的“再見”,此程序也將結束再見工程1平臺版木1.0.0版權所有桂雪書司圖 第三章系統(tǒng)運行與調(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é)議
- 工業(yè)用地開發(fā)合同協(xié)議
- 建筑改造服務合同協(xié)議
- 相城區(qū)勞動派遣合同協(xié)議
- 山林樹木購買合同協(xié)議
- 離職簽勞動合同解除協(xié)議
- 商業(yè)銀行數(shù)字化風險管理框架與2025年風險控制策略報告
- 租賃二手攤位合同協(xié)議
- 禮服租借墨爾本合同協(xié)議
- 碳結板購銷年度合同協(xié)議
- (完整)關于高壓線下施工安全專項方案
- 2022年新疆維吾爾自治區(qū)三校生高考語文備考試題及答案解析
- 國際學術交流英語知到章節(jié)答案智慧樹2023年哈爾濱工業(yè)大學
- 反三角函數(shù)正課
- 高考標準化考場建設的方案
- 乳腺癌NCCN指南中文版2022.v2
- GB/T 38942-2020壓力管道規(guī)范公用管道
- 家居建材全屋定制店面運營管理細則規(guī)定
- GB/T 27924-2011工業(yè)貨架規(guī)格尺寸與額定荷載
- 大班語言《他們看見了一只貓》課件
- 消毒產(chǎn)品進貨檢查驗收制度
評論
0/150
提交評論