VB進銷存管理系統(tǒng)畢業(yè)論文.doc_第1頁
VB進銷存管理系統(tǒng)畢業(yè)論文.doc_第2頁
VB進銷存管理系統(tǒng)畢業(yè)論文.doc_第3頁
VB進銷存管理系統(tǒng)畢業(yè)論文.doc_第4頁
VB進銷存管理系統(tǒng)畢業(yè)論文.doc_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

VB進銷存管理系統(tǒng)畢業(yè)論文-論文VB進銷存管理系統(tǒng)畢業(yè)論文內容摘要企業(yè)的物資供應管理復雜,繁瑣的,物資種類眾多,訂貨,管理,發(fā)放的渠道各有差異,因此物資管理必須實現(xiàn)計算機化,而且必須根據企業(yè)的具體情況制定便提高工作效率。利用ERP的部分功能,使用Microsoft Visual Basic 6.0及Microsoft Office Access 2003作為開發(fā)工具,利用面向對象的結構和自上而下的程序設計方法,聯(lián)系實際情況設計實現(xiàn)了一個以控制物流為主的管理軟件,基本實現(xiàn)了倉庫的日常管理和進貨出貨的查詢。充分提高數據的準確性和指導性,提高生產效率和企業(yè)效益。關鍵字:企業(yè)資源計劃 存貨 數據庫 面向對象目錄內容摘要 2一、前言 1二、系統(tǒng)分析 52.1 問題的提出 22.2 分析問題 32.3 系統(tǒng)設計目標 32.3.1 系統(tǒng)設計的長遠目標:實現(xiàn)ERP系統(tǒng) 32.3.2 系統(tǒng)設計近期 4三、系統(tǒng)總體設計3.1 數據流圖 43.2 部分數據字典 93.3 E-R圖 93.4 功能模塊 113.4.1 程序層次 113.4.2 模塊功能說明 11 3.4.3 系統(tǒng)數據表 21四、系統(tǒng)詳細設計 13五、編碼實現(xiàn)與測試不5.1 編碼摘要 175.2 程序界面 27六、總結與展望6.1 總結 316.2 心得體會 32致 謝 32參考文獻818VB進銷存管理系統(tǒng)畢業(yè)論文進銷存管理系統(tǒng)的設計和制作一、前言本次畢業(yè)設計的題目是進銷存管理系統(tǒng),要求利用Visual Basic完成管理平臺設計,構造所用的類庫。根據當前的企業(yè)一般物資供應管理系統(tǒng),相應分成幾個科室進行物資的計劃,訂貨,核對入庫,根據各個部門的需要來發(fā)送物資設備,并隨時近期進行庫存盤點、作臺帳,按月、季、年進行統(tǒng)計分析,產生相應報表,以進行有效的生產管理。從根本上說,企業(yè)就是一個利用資源(人、財、物、時間),為客戶創(chuàng)造價值的組織,ERP就是對這些資源進行計劃、調度、控制、衡量、改進的管理技術和信息系統(tǒng)。現(xiàn)今的企業(yè)并不只是人力資源、資金和產品的組合,它還應該包括供應、銷售、市場營銷、客戶服務、需求預測,以及其他更多的東西。針對目前公司存在的問題,本文設計一個以物料流處理為主,具有一定智能特性和網絡特性的管理系統(tǒng)。該系統(tǒng)不僅能智能的控制企業(yè)的物流情況,而且還具有操作方便、便于糾錯的特點。概括起來系統(tǒng)的優(yōu)點如下: (1)用戶基本資料一次性建立,便于規(guī)范控制。(2)物料控制半自動化,加強了各個部門之間的聯(lián)系。(3)提高庫存管理的服務水平,最大限度地降低庫存量,包括中間庫存和在制品的庫存,以減少在庫存上的資金積壓。(4)最大限度的保證訂貨任務的按期完成。(5)提高計劃的可能性,實現(xiàn)均衡生產。(6)集成管理職能,提高管理效率。本文主要闡述了進銷存管理系統(tǒng)的設計目標,系統(tǒng)要求、總體設計、詳細設計、測試等。二、系統(tǒng)分析2.1 問題的提出本公司目前存在的問題是:信息化不足,計算機使用率低,大量的日常工作皆是手工處理,因此工作效率低落,企業(yè)內部溝通不良等等問題很難克服,倉庫不能及時為采購和生產提供準確的指導性數據。公司希望解決的問題是:解決企業(yè)內部統(tǒng)一的物料編碼管理,物流管理中的信息流通,庫存積壓與物料的配套問題,完善質量檢驗,對生產過程中的質量信息進行全面管理。包括原材料、外購外協(xié)件、半成品、成品各道工序的質量控制,并對各種數據進行統(tǒng)計分析。對公司的各種資源與信息進行查詢,包括銷售、采購、生產、質量、人事、財務等信息數據進行查詢、統(tǒng)計與分析,對根據信息作出快速合理的經營決策。2.2 分析問題本公司的主要流程是:接到一張銷售訂單,由銷售部門轉化為內部訂單,轉給生產部門,生產部門根據訂單上的產品、數量,技術部已經配好的物料清單,及各車間半成品儲存量,匯總材料需求,然后根據庫存情況決定請購及預約情況,采購部門根據請購單下采購單,然后材料入庫,這一切都是本管理系統(tǒng)所力求實現(xiàn)的功能。2.3 系統(tǒng)設計目標2.3.1 系統(tǒng)設計的長遠目標:實現(xiàn)ERP系統(tǒng)1系統(tǒng)運行集成化:這是ERP應用成功在技術解決方案方面最基本的表現(xiàn)。只有集成一體化運行起來,才有可能達到:降低庫存,提高資金利用率和控制經營風險;控制產品生產成本,縮短產品生產周期;提高產品質量和合格率;減少財務壞帳、呆帳金額等。2業(yè)務流程合理化:這是ERP應用成功在改善管理效率方面的體現(xiàn)。ERP應用成功的前提是必須對企業(yè)實施業(yè)務流程重組,因此,ERP應用成功也即意味著企業(yè)業(yè)務處理流程趨于合理化,并實現(xiàn)了ERP應用的以下幾個最終目標:企業(yè)競爭力得到大幅度提升;企業(yè)面對市場的響應速度大大加快;客戶滿意度顯著改善。3績效監(jiān)控動態(tài)化:ERP的應用,將為企業(yè)提供豐富的管理信息。如何用好這些信息并在企業(yè)管理和決策過程中真正起到作用,是衡量ERP應用成功的另一個標志。在ERP系統(tǒng)完全投入實際運行后,企業(yè)應根據管理需要,利用ERP系統(tǒng)提供的信息資源設計出一套動態(tài)監(jiān)控管理績效變化的報表體系,以期即時反饋和糾正管理中存在的問題。 2.3.2 系統(tǒng)設計近期(1)建立基本資料信息庫,規(guī)范所有資料信息。(2)物料控制半自動化,加強了各個部門之間的聯(lián)系。(3)高庫存管理的服務水平,最大限度地降低庫存量,以減少在庫存上的資金積壓。(4)最大限度的保證訂貨任務的按期完成。(5)提高計劃的可能性,實現(xiàn)均衡生產:(6)集成管理職能,提高管理效率。三、系統(tǒng)總體設計3.1 數據流圖頂層數據流圖如圖3.1所示:VB進銷存管理系統(tǒng)畢業(yè)論文圖3.1 進銷存管理系統(tǒng)頂層數據流圖0層數據流圖如圖3.2所示: 圖3.2 進銷存管理系統(tǒng)0層數據流圖 1層數據流圖如圖3.3所示: 圖3.3 進銷存管理系統(tǒng)1層數據流圖 圖3.3 進銷存管理系統(tǒng)1層數據流圖(續(xù))3.2 部分數據字典數據流圖描述了系統(tǒng)的分解,但沒有對圖中各成分進行說明,數據字典就是為了數據流圖的每個數據流、文件、加工,以及組成數據流或文件的數據項作出說明。數據流條目:出庫單 = 出庫單號+日期+客戶名稱+ 物資類別+制單人員+ 記帳人員+發(fā)貨人+狀態(tài)+銷售訂單號+品名 + 單位 + 數量 + 規(guī)格 + 備注 + 單價各類財務統(tǒng)計報表 = 倉庫材料消耗匯總(成本項目) + 倉庫材料消耗匯總(按車間) + 材料收發(fā)存明細A + 材料收發(fā)存明細B +材料收發(fā)存明細C + 材料收發(fā)存分類匯總表 + 木材消耗匯總表。文件條目:文件名稱:原材料庫存文件。簡述:保存原材料的基本資料。組成:材料編號+品名型號+規(guī)格尺寸+單位+采購計量單位+參數+數量+最低數量+最高數量+單價+備注+大大分類+大分類+分類+小分類。文件名稱:銷售文件。簡述:保存所有銷售訂單的文件。組成內部定單號+訂貨日期+客戶編號+總金額+預收率NEWCASTLE號+PO單號包裝辦法+品質要求+內裝箱+外裝箱+MADE IN CHINA+特別指示+箱正側內+狀態(tài)+型號+色號+木材尺寸+光澤度+內絨+表面處理+數量+出貨日期+單價。數據項條目:名稱:材料編號簡述:材料編號分四個字段(大大分類+大分類+分類+小分類),可以將材料分門別。類,因為許多地方用到編號,因此將四項和為一項保存一個冗余字段。為了便于查找。3.3 E-R圖程序總體E-R圖如圖3.4所示: 圖3.4 程序總體E-R圖人員管理模塊如圖3.5所示: 圖3.5 人員管理模塊材料管理模塊如圖3.6所示: 圖3.6 材料管理模塊3.4 功能模塊3.4.1 程序層次程序層次如圖3.7所示: 圖3.7 程序層次圖3.4.2 模塊功能說明篇幅所限,僅挑選部分功能說明。VB進銷存管理系統(tǒng)畢業(yè)論文不登陸驗證功能:主要功能為身份驗證,防止非法用戶進入系統(tǒng)。實現(xiàn)方法如圖3.8所示: 圖3.8 登陸驗證實現(xiàn)方法3.4.3 系統(tǒng)數據表倉庫物資信息表(材料表),如表3.1所示:表3.1 倉庫物資信息表編號字段名稱數據類型說明1自動編號Long數值Primary key主鍵2規(guī)格Text 文本必填,字段不允許空串3型號Text 文本必填,字段不允許空串4數量Long數值必填字段5價格Long數值必填字段6名稱Text 文本必填字段進貨人員信息表,如表3.2所示:表3.2 進貨人員信息表編號字段名稱數據類型說明1自動編號Long數值Primary key主鍵2姓名Text 文本必填,字段不允許空串3聯(lián)系方式Text 文本必填,字段不允許空串 入庫、出庫單信息表,如表3.3所示:表3.3 入庫、出庫單信息表編號字段名稱數據類型說明1自動編號Long數值Primary key主鍵2姓名Text 文本必填,字段不允許空串3聯(lián)系方式Text 文本必填,字段不允許空串4貨物名稱Text 文本必填,字段不允許空串5貨物數量Long數值必填,字段不允許空串6貨物規(guī)格Text 文本必填,字段不允許空串7貨物型號Text 文本必填,字段不允許空串8價格Long數值必填,字段不允許空串9日期Text 文本必填,字段不允許空串四、系統(tǒng)詳細設計根據內部訂單預定材料的流程圖如圖4.1所示:說明:KDYsl:可調用數量XQsl: 需求數量KCsl: 庫存數量可調用數量=庫存數量 最低庫存量已預約數量設計時需求數量與庫存數量、可調用數量分別比較可得出種情況需求數量可調用數量 and 需求數量 庫存數量(因為庫存數量=可調用數量所以可寫成XQslKDYsl)需求數量=可調用數量 and 需求數量 =可調用數量所以可寫成KDYsl =XQsl=KCsl)需求數量庫存數量(因為庫存數量=可調用數量所以不存在這種情況)需求數量可調用數量 and 需求數量 =可調用數量所以可寫成XQslKDYsl和KDYsl =XQsl=KCs和XQsl=B.YFYF);SELECT A.DHDH, A.KDRQ, B.CLBH, B.SLSL, B.SLSL*B.DJDJ AS JEJEFROM K_clrk_M AS A INNER JOIN K_clrk_D AS B ON A.DHDH=B.DHDHWHERE STATUS=1;VB進銷存管理系統(tǒng)畢業(yè)論文SELECT A.CLBH, B.YFYF, IIf(A.RKSL=0,IIf(ISNULL(QCSL),0,QCJE/QCSL),(B.QCJE+A.RKJE)/(B.QCSL+A.RKSL) AS DJDJFROM AVER_MTH_RK2 AS A LEFT JOIN T_SFC_QC AS B ON A.CLBH=B.BHBH;功能函數Public Sub Do_Aver_DJ()Dim da_Rec As ADODB.RecordsetDim da_SQL As StringSet da_Rec = AppCN.Execute(select * from AVER_DJ)AppCN.BeginTransDo While Not da_Rec.EOFda_SQL = update J_clcl set DJDJ = & da_Rec.Fields(DJDJ) & where BHBH= & da_Rec.Fields(CLBH) & AppCN.Execute (da_SQL)da_SQL = update K_LLLL_D set JEJE = & da_Rec.Fields(DJDJ) & * k_LLLL_D.SLSL where K_LLLL_D.CLBH= & _ da_Rec.Fields(CLBH) & and K_LLLL_D.DHDH IN (SELECT DHDH FROM AVER_mth_LL2) AppCN.Execute (da_SQL)da_Rec.MoveNextLoopAppCN.CommitTransEnd Sub收發(fā)存明細,追蹤某中材料某月的進出庫情況,并顯示出是那一帳單據進行操作,如果是領料則在摘要中寫明成本項目。計算出每次操作之后的結存數量及金額。Private Sub CmdMe_Click(Index As Integer)If Index = 0 ThenCall PrintLstv(Me.LstView, LoadResString(804), 材料 & m_CLBH & 收發(fā)存明細A, 1, 1)ElseUnload MeEnd IfEnd SubPrivate Sub DoGroupCube(SlCol As String, JeCol As String)Dim arrSlCol() As StringDim arrJeCol() As StringDim k As IntegerDim total As DoubleCall ON_GetArray(SlCol, arrSlCol)Call ON_GetArray(JeCol, arrJeCol)LstView.ListItems.Add , , LstView.ListItems(LstView.ListItems.Count).SubItems(1) = 總計For k = 0 To UBound(arrSlCol) total = 0 For J = 1 To LstView.ListItems.Count total = total + Val(LstView.ListItems(J).SubItems(Val(arrSlCol(k) Next LstView.ListItems(LstView.ListItems.Count).SubItems(Val(arrSlCol(k) = total NextFor k = 0 To UBound(arrJeCol) total = 0 For J = 1 To LstView.ListItems.Count total = total + Val(LstView.ListItems(J).SubItems(Val(arrJeCol(k) Next LstView.ListItems(LstView.ListItems.Count).SubItems(Val(arrJeCol(k) = Format(total, #0.00)NextEnd SubPrivate Sub Form_Load()Dim fl_Num As SingleDim fl_Cash As DoubleMe.Icon = LoadResPicture(101, vbResIcon)Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 4Me.Caption = 查看 & m_CLBH & 的明細情況Call DoStyleIf GetInitData(fl_Num, fl_Cash) = True Then Call DoShow(fl_Num, fl_Cash) Call DoRemain(fl_Num, fl_Cash)End IfEnd SubPrivate Sub DoShow(m_drNum As Single, m_drCash As Double)Dim dsRec As ADODB.RecordsetDim dsSQL As StringDim I As IntegerDim itmXDim rd_theSL As SingleDim rd_theJE As DoubleDim rd_RKJE As Double, rd_CKJE As Doublerd_theSL = m_drNumrd_theJE = m_drCashdsSQL = select * from SFC_MXA3 where CLBH= & m_CLBH & Set dsRec = AppCN.Execute(dsSQL & AND Month(KDRQ)= & m_Month & AND Year(KDRQ)= & m_Year)If dsRec.EOF Then MsgBox 無效的材料編號! Exit SubEnd IfI = 1Set itmX = LstView.ListItems.Add(, , A & I) itmX.SubItems(1) = dsRec.Fields(KDRQ).Value itmX.SubItems(3) = 期初數量 itmX.SubItems(10) = rd_theSL itmX.SubItems(11) = Format(m_drCash, #,#0.00)Do While Not dsRec.EOF I = I + 1 Set itmX = LstView.ListItems.Add(, , A & I) rd_RKJE = IIf(dsRec.Fields(RKJE).Value = , 0, dsRec.Fields(RKJE).Value) rd_CKJE = IIf(dsRec.Fields(CKJE).Value = , 0, dsRec.Fields(CKJE).Value) rd_theSL = rd_theSL + Val(dsRec.Fields(RKSL) - Val(dsRec.Fields(CKSL) m_drCash = m_drCash + rd_RKJE - rd_CKJE itmX.SubItems(1) = dsRec.Fields(KDRQ).Value itmX.SubItems(2) = dsRec.Fields(DHDH).Value itmX.SubItems(3) = dsRec.Fields(CBXM).Value itmX.SubItems(4) = dsRec.Fields(RKSL).Value itmX.SubItems(5) = IIf(dsRec.Fields(RKDJ).Value = , , Format(dsRec.Fields(RKDJ).Value, #,#0.00) itmX.SubItems(6) = IIf(dsRec.Fields(RKJE).Value = , , Format(dsRec.Fields(RKJE).Value, #,#0.00) itmX.SubItems(7) = dsRec.Fields(CKSL).Value itmX.SubItems(8) = IIf(dsRec.Fields(CKDJ).Value = , , VB進銷存管理系統(tǒng)畢業(yè)論文Format(dsRec.Fields(CKDJ).Value, #,#0.00) itmX.SubItems(9) = IIf(dsRec.Fields(CKJE).Value = , , Format(dsRec.Fields(CKJE).Value, #,#0.00) itmX.SubItems(10) = rd_theSL itmX.SubItems(11) = Format(m_drCash, #,#0.00) dsRec.MoveNextLoopEnd SubPrivate Sub DoStyle()Dim intWid As IntegerintWid = 1200LstView.ColumnHeaders.Add , , 序號, 600LstView.ColumnHeaders.Add , , 日期, 1000, lvwColumnRightLstView.ColumnHeaders.Add , , 憑證編號, intWid, lvwColumnRightLstView.ColumnHeaders.Add , , 摘要, intWid, lvwColumnRightLstView.ColumnHeaders.Add , , 收入數量, intWid, lvwColumnRightLstView.ColumnHeaders.Add , , 收入單價, intWid, lvwColumnRightLstView.ColumnHeaders.Add , , 收入金額, intWid, lvwColumnRightLstView.ColumnHeaders.Add , , 發(fā)出數量, intWid, lvwColumnRightLstView.ColumnHeaders.Add , , 發(fā)出單價, intWid, lvwColumnRightLstView.ColumnHeaders.Add , , 發(fā)出金額, intWid, lvwColumnRightLstView.ColumnHeaders.Add , , 結存數量, intWid, lvwColumnRightLstView.ColumnHeaders.Add , , 結存金額, intWid, lvwColumnRightEnd SubPrivate Sub Form_Resize()On Error Resume NextLstView.Move 0, 100 + 500 + 50, Me.ScaleWidth, Me.ScaleHeight - Me.StatusBar1.Height - 650End SubPrivate Function GetInitData(m_giNum As Single, m_giCash As Double) As BooleanDim drRec_1 As ADODB.RecordsetDim drRec_2 As ADODB.RecordsetDim drSQL As StringGetInitData = Truem_giNum = -2002.1994m_giCash = -2002.1994drSQL = select * from T_SFC Where BHBH= & m_CLBH & drSQL = drSQL & AND Month(YFYF)= & m_Month & AND Year(YFYF)= & m_YearSet drRec_1 = AppCN.Execute(drSQL)If drRec_1.EOF Then drSQL = select * from T_SFC_QC Where BHBH= & m_CLBH & drSQL = drSQL & AND Month(YFYF)= & m_Month & AND Year(YFYF)= & m_Year Set drRec_2 = AppCN.Execute(drSQL) If drRec_2.EOF Then MsgBox 沒有盤點,沒有期初期末數據! GetInitData = False Else m_giNum = drRec_2.Fields(QCSL).Value).Value m_giCash = drRec_1.Fields(QCJE).ValueEnd IfdrRec_1.Close: Set drRec_1 = NothingEnd FunctionPrivate Sub Form_Unload(Cancel As Integer)m_CLBH = m_Month = 0m_Year = 0End SubPrivate Sub DoRemain(m_drNum As Single, m_drCash As Double)Dim rd_theSL As SingleDim rd_theJE As DoubleDim rd_RKJE As Double, rd_CKJE As Doublerd_theSL = m_drNumrd_theJE = m_drCashFor I = 1 To Me.LstView.ListItems.Count rd_theSL = rd_theSL + Val(LstView.ListItems(I).SubItems(4) - Val(LstView.ListItems(I).SubItems(7) LstView.ListItems(I).SubItems(10) = rd_theSL If rd_theSL 0 Then rd_CKJE = Val(Format(LstView.ListItems(I).SubItems(9), #0.00) rd_theJE = rd_theJE + rd_RKJE - rd_CKJE Else rd_theJE = 0 End If LstView.ListItems(I).SubItems(11) = Format(rd_theJE, #,#0.00)NextEnd SubVB進銷存管理系統(tǒng)畢業(yè)論文5.2 程序界面1系統(tǒng)總管理界面如圖5.1所示: 圖5.1 系統(tǒng)總管理界面2系統(tǒng)入庫操作界面如圖5.2所示: 圖5.2 系統(tǒng)入庫操作界3系統(tǒng)出庫操作界面如圖5.3所示: 圖5.3 系統(tǒng)出庫操作界面4人員查詢界面如圖5.4所示: 圖5.4 人員查詢界面5操作員設置界面如圖5.5所示:圖5.5 操作員設置界面6物品查詢界面如圖5.6所示: 圖5.6 物品查詢界面7日期查詢界面如圖5.7所示: 圖5.7 日期查詢界面8按月份統(tǒng)計界面如圖5.8所示:圖5.8 按月統(tǒng)計界面9數據管理界面如圖5.9所示: 圖5.9 數據管理界面六、總結與展望6.1 總結本系統(tǒng)投入使用后,將大大減少公司的管理部門的勞動量,改善了企業(yè)內部以及整個供應鏈各個環(huán)節(jié)的管理、調度及資源配置,使得管理合理規(guī)范。盡量合理的控制物流,尤其是材料庫存的控制,將材料控制到只在需要的時候向需要的部門按需要的數量,提供所需要的物料,也就是說,它既防止物料供應滯后于對他們的要求,也防止了物料過早地出產和進貨,以免增加庫存,造成物資和資金的積壓。本系統(tǒng)采用

溫馨提示

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

評論

0/150

提交評論