課程設(shè)計---超市進銷存管理系統(tǒng)設(shè)計與實現(xiàn)_第1頁
已閱讀1頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  計算機信息管理專業(yè)畢業(yè)設(shè)計論文</p><p>  《超市進銷存管理系統(tǒng)設(shè)計與實現(xiàn)》</p><p>  專業(yè):計算機信息管理專業(yè)</p><p>  年級:09春計算機信息管理</p><p><b>  姓名: </b></p><p><b>  學號:<

2、;/b></p><p><b>  指導老師: </b></p><p><b>  二〇一一年十月</b></p><p><b>  摘 要</b></p><p>  隨著經(jīng)濟的發(fā)展,超市進銷存管理系統(tǒng)用計算機管理超市庫存進出已經(jīng)成為管理的一種計算機應用技術(shù)

3、的創(chuàng)新,在計算機還未普及之前庫存管理都是由工作人員手工書寫的方式來操作的.現(xiàn)在一般的超市都采用計算機智能化管理,采用計算機作為工具的實用的計算機超市庫存管理程序來幫助管理員進行更有效的超市庫存管理工作。超市進銷存管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。 經(jīng)過

4、分析,我們使用 MICROSOFT公司的 VISUAL BASIC開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統(tǒng)。</p><p>  因為本人能力有限,加上時間緊迫,所以設(shè)計出來的本系統(tǒng)可能功能比較簡單,另外本系統(tǒng)是單機版,不能實現(xiàn)網(wǎng)絡(luò)互聯(lián)操作,這些都

5、有待于我在以后的工作學習中進一步改進。</p><p>  關(guān)鍵字:超市進銷存管理 MIS visual basic 數(shù)據(jù)庫</p><p><b>  目 錄</b></p><p>  摘 要……………………………………………………………2</p><p>  一、概述…………………………….…………………………

6、…..3</p><p>  1、課題來源……………….……………………………………..3</p><p>  2、開發(fā)背景和開發(fā)目的…….……………………………………..4</p><p>  二、需求分析……………….……………………………………..5</p><p>  1、系統(tǒng)目標……………….………………………………........

7、................5</p><p>  2、應用現(xiàn)狀調(diào)查……………….…………………………………………5</p><p>  3、系統(tǒng)總體流程圖如下:…….…………………………………………...5</p><p>  4、系統(tǒng)功能模塊圖…………….…………………………………………6</p><p>  5、系統(tǒng)功能的分析………

8、…….…………………………………………6</p><p>  6、開發(fā)工具的選擇…………….…………………………………………7</p><p>  三、超市進銷存管理系統(tǒng)的設(shè)計.………………………………9</p><p>  1、數(shù)據(jù)庫設(shè)計……………….……………………………………………9</p><p>  2、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計……….…

9、………………………………………10</p><p>  3、用戶登錄表.….….….….….….….….….….….….….….….….….….…10</p><p>  4、購入商品表….….…. ….….…. ….….…. ….….…. ….….…. ….….….11</p><p>  5、商品報損表….….…. ….….…. ….….…. ….….…. ….

10、….…. ….….….11</p><p>  6、商品信息表.….….….….….….….….….….….….….….….….….….….12</p><p>  四、超市進銷存管理系統(tǒng)實施.………………………………….13</p><p>  1、創(chuàng)建工程項目—超市進銷存管理MIS…………………………………….13</p><p>  2

11、、創(chuàng)建超市進銷存管理系統(tǒng)的窗體..…………………………………………..14</p><p>  3、登錄窗口的設(shè)計…………………………………………………………14</p><p>  4、主界面窗的設(shè)計………………………………………………………………17</p><p>  5、主要的控件及其基本屬性.……………………………………………..40</p>

12、<p>  五、測試與分析.….….….….….….….….….….….….….….….….….….…42</p><p>  1、測試環(huán)境.….….….….….….….….….….….….….….….….….….….…42</p><p>  2、測試方法….…….…….…….…….…….…….…….…….…….…….…43</p><p>  3、測

13、試項目….…….…….…….…….…….…….…….…….…….…….…44</p><p>  六、設(shè)計總結(jié)……………….……………………………………..46</p><p>  參考文獻……………….…………………………………………..48</p><p>  附錄……………….……………………………. ………………….49</p><p&g

14、t;<b>  一、概 述</b></p><p><b>  1、課題來源</b></p><p>  隨著經(jīng)濟的發(fā)展,社會的進步,計算機越來越深入到我們?nèi)粘5墓ぷ鲗W習及生活中,成為我們?nèi)粘I钪胁豢扇鄙俚妮o助工具。 隨著科學技術(shù)的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。

15、它已經(jīng)深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設(shè)計、圖形圖像處理、教育培訓以及游戲娛樂等。各行各業(yè)的人們無須經(jīng)過特別的訓練就能夠使用電腦完成許許多多復雜的工作。然而,雖然現(xiàn)在世界上已經(jīng)充滿了多如牛毛的各種軟件,但它們依然不能滿足用戶的各種特殊需要,人們還不得不開發(fā)適合自己特殊需求的軟件。所以開發(fā)超市進銷存系統(tǒng)管理軟件提高管理效率是必然的發(fā)展趨勢。</p><p>  2、開發(fā)背景和開發(fā)目的&l

16、t;/p><p>  超市進銷存管理系統(tǒng)用計算機管理超市庫存進出管理的一種計算機應用技術(shù)的創(chuàng)新,在計算機還未普及之前庫存管理都是由工作人員手工書寫的方式來操作的.現(xiàn)在一般的超市都采用計算機智能化管理,采用計算機作為工具的實用的計算機超市庫存管理程序來幫助管理員進行更有效的超市庫存管理工作。超市進銷存管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求

17、建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。</p><p>  開發(fā)本系統(tǒng)就是為了解決超市在進銷存管理中的一些不規(guī)范,使超市的進銷存管理向著規(guī)范化、簡單化、有效化的方向發(fā)展。</p><p><b>  二、需求分析</b></p><p><b>  1、系統(tǒng)目標</b>

18、;</p><p>  采用超市現(xiàn)有的軟硬件軟件及科學的管理系統(tǒng)開發(fā)方案,建立超市進銷存管理系統(tǒng),實現(xiàn)超市進銷存管理的計算機自動化。</p><p>  系統(tǒng)應符合超市原有的流程管理制度,并達到操作直觀、方便、實用、安全等要求。</p><p><b>  2、應用現(xiàn)狀調(diào)查</b></p><p>  當前,很多農(nóng)村超市

19、的進銷存管理都是以紙張為介質(zhì)作記錄,人力管理的比例比較大,往往是個體老板以書面的形式管理自己小超市的賬目,效率低下。數(shù)據(jù)打印,匯總,虧損預算不及時,容易丟失,損壞數(shù)據(jù)給自己帶來損失,不易保存且數(shù)據(jù)保密碼性較差。</p><p>  3、系統(tǒng)總體流程圖如下:</p><p><b>  4、系統(tǒng)功能模塊圖</b></p><p><b>

20、;  5、系統(tǒng)功能的分析</b></p><p>  本系統(tǒng)采用visual basic與Access作為數(shù)據(jù)庫的方式編寫,主要服務于超市庫存管理人員的日常工作.</p><p>  主要由以下幾大功能模塊構(gòu)成:</p><p>  商品類型管理:添加商品類型,修改商品類型,刪除商品類型</p><p>  商品管理:添加商品信息

21、,修改商品信息,刪除商品信息</p><p>  進貨管理:添加進貨管理,修改進貨管理,刪除進貨管理</p><p>  銷售管理: 添加銷售管理,修改銷售管理,刪除銷售管理</p><p>  報損管理: 添加報損管理,修改報損管理,刪除報損管理</p><p><b>  6、開發(fā)工具的選擇</b></p>

22、;<p>  Visual Basic 6.0是Micrsoft公司出品的開發(fā)工具,Visual Basic是一種可視化的,面向?qū)ο蟮腤indows開發(fā)語言,它具有易用,通用和開發(fā)效率高的特點。隨著微軟對它不斷地改進以及計算機本身性能的提高,使得Visual Basic越來越適合一般的應用程序開發(fā)。正如Bill Gate所說,世界上絕大多數(shù)的Windows應用程序是用Visual Basic編寫的。在眾多的開發(fā)工具中,我們

23、為什么要選擇Visual Basic6.0呢?因為VB具有眾多其它開發(fā)工具所沒有的優(yōu)點!具體介紹如下:</p><p><b>  開發(fā)的高效</b></p><p><b>  語言的高效</b></p><p><b>  編譯的高效</b></p><p><b&g

24、t;  執(zhí)行的高效</b></p><p><b>  維護的高效</b></p><p>  經(jīng)過以上認真分析其優(yōu)缺點,結(jié)合數(shù)據(jù)庫管理系統(tǒng)的需要和目前的硬件環(huán)境,我們選用微軟WINDOWS平臺下的Visual Basic6.0(簡寫為VB6.0)作為軟件開發(fā)工具。</p><p>  三、超市進銷存管理系統(tǒng)的設(shè)計</p>

25、;<p><b>  1、數(shù)據(jù)庫設(shè)計</b></p><p>  數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直接對應用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。同時,合理的數(shù)據(jù)庫結(jié)構(gòu)也將有利于程序的實現(xiàn)。</p><p>  設(shè)計數(shù)據(jù)庫系統(tǒng)時應該首先充分了解用戶各個方面的

26、需求,包括現(xiàn)有的以及將來可能增加的需求。</p><p><b>  2、邏輯結(jié)構(gòu)設(shè)計</b></p><p>  現(xiàn)在將數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為Assecc 2000數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。在實體以及實體之間關(guān)系的基礎(chǔ)上,形成數(shù)據(jù)庫中的表以及各個表之間的關(guān)系。</p><p>  超市進銷存管理系統(tǒng)數(shù)據(jù)庫中各個表格

27、的設(shè)計結(jié)果如下所示:</p><p><b>  用戶登錄表</b></p><p><b>  表1 用戶登錄表</b></p><p><b>  購入商品表:</b></p><p><b>  表2 購入商品表</b></p><

28、;p><b>  商品報損表:</b></p><p><b>  表3 商品報損表</b></p><p><b>  商品信息表</b></p><p><b>  表4 商品信息表</b></p><p><b>  供應商表<

29、/b></p><p><b>  表5供應商表</b></p><p><b>  銷售表</b></p><p><b>  表6 銷售表</b></p><p>  四、超市進銷存管理系統(tǒng)實施</p><p>  1、創(chuàng)建工程項目——超市進銷

30、存管理系統(tǒng)</p><p>  為了用Visual Basic創(chuàng)建應用程序,應當使用工程。一個工程是用來建造應用程序的文件的集合,它包括:</p><p>  ·跟蹤所有部件的工程文件(.vbp)</p><p>  ·每個窗體的文件(.frm)</p><p>  ·每個窗體的二進制數(shù)據(jù)文件(.frx),它含有

31、窗體上控件的屬性數(shù)據(jù)。對含有二進制屬性的任何.frm文件都是不可編輯的,這些文件都是自動產(chǎn)生的。</p><p>  ·每個類模塊的一個文件(.cls),該文件是可選項。</p><p>  ·每個標準模塊的一個文件(.bas),該文件是可選項。</p><p>  ·一個或多個包含ActiveX控件的文件(.ocx), 該文件是可選項

32、。</p><p>  ·單個資源文件(.res), 該文件是可選項。</p><p>  啟動Visual Basic后,單擊File/New Project菜單,在工程模板中選擇Standard EXE, Visual Basic將自動產(chǎn)生一個Form窗體,屬性都為缺省設(shè)置。刪除窗體,單擊File/Save Project菜單,將工程項目命名為Student_MIS。<

33、/p><p>  2、創(chuàng)建超市進銷存管理系統(tǒng)的窗體</p><p>  Visual Basic創(chuàng)建的應用程序可以是SDI(單文檔界面)和MDI(多文檔界面)。在SDI的程序中,每個窗體之間是獨立的。而MDI的程序中,有一個窗體是主窗體,可以包含其他窗體,它的類型是MDI Form。本系統(tǒng)采用多文檔界面,這樣可以使程序更加美觀、整齊有序。</p><p><b&g

34、t;  1、登錄窗口的設(shè)計</b></p><p><b>  圖片7 登錄窗口</b></p><p><b>  代碼分析:</b></p><p>  Option Explicit</p><p>  Private Declare Function GetUserName Li

35、b "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As Long</p><p>  Public OK As Boolean</p><p>  Dim m_Admin As New clsAdmin</p><p>

36、;  Dim m_nErrCount As Integer</p><p>  Private Sub Form_Load()</p><p>  m_nErrCount = 0</p><p><b>  End Sub</b></p><p>  Private Sub cmdCancel_Click()</p

37、><p>  OK = False</p><p><b>  Me.Hide</b></p><p><b>  End Sub</b></p><p>  Private Sub cmdOK_Click()</p><p>  'ToDo: 創(chuàng)建測試密碼是否正確<

38、;/p><p><b>  '檢查正確密碼</b></p><p>  Dim Account As String</p><p>  Dim Pwd As String</p><p>  Account = RealString(txtUserName.Text)</p><p>  Pw

39、d = RealString(txtPassword.Text)</p><p><b>  '判斷密碼是否正確</b></p><p>  If Not m_Admin.CheckPwd(Account, Pwd) Then</p><p>  m_nErrCount = m_nErrCount + 1</p><

40、p>  If m_nErrCount >= 3 Then</p><p>  MsgBox "輸入密碼錯誤次數(shù)太多,請稍后重試", vbExclamation</p><p><b>  End</b></p><p><b>  End If</b></p><p>

41、;  MsgBox "密碼錯誤,再試一次!還有 " & 3 - m_nErrCount & " 次機會,注意密碼區(qū)分大小寫", vbCritical, "登錄"</p><p>  txtPassword.SetFocus</p><p>  txtPassword.SelStart = 0</p>

42、<p>  txtPassword.SelLength = Len(txtPassword.Text)</p><p><b>  Else</b></p><p><b>  OK = True</b></p><p>  g_Account = Account</p><p><

43、b>  Me.Hide</b></p><p><b>  End If</b></p><p><b>  End Sub</b></p><p><b>  5、主界面窗口</b></p><p>  圖片10 主界面窗口</p><p

44、><b>  代碼分析:</b></p><p>  Option Explicit</p><p>  Const NAME_COLUMN = 0</p><p>  Const TYPE_COLUMN = 1</p><p>  Const SIZE_COLUMN = 2</p><p>

45、;  Const DATE_COLUMN = 3</p><p>  Dim mbMoving As Boolean</p><p>  Const sglSplitLimit = 500</p><p>  Private Sub Form_Load()</p><p>  LoadResStrings Me</p><

46、p>  Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000)</p><p>  Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000)</p><p>  Me.Widt

47、h = GetSetting(App.Title, "Settings", "MainWidth", 6500)</p><p>  Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500)</p><p>  lvMerch.View

48、= Val(GetSetting(App.Title, "Settings", "ViewMode", "0"))</p><p><b>  '初始化數(shù)據(jù)</b></p><p>  Call InitMain</p><p><b>  End Sub</b

49、></p><p>  Private Sub Form_Unload(Cancel As Integer)</p><p>  Dim i As Integer</p><p>  'close all sub forms</p><p>  For i = Forms.Count - 1 To 1 Step -1</p

50、><p>  Unload Forms(i)</p><p><b>  Next</b></p><p>  If Me.WindowState <> vbMinimized Then</p><p>  SaveSetting App.Title, "Settings", "Ma

51、inLeft", Me.Left</p><p>  SaveSetting App.Title, "Settings", "MainTop", Me.Top</p><p>  SaveSetting App.Title, "Settings", "MainWidth", Me.Width</

52、p><p>  SaveSetting App.Title, "Settings", "MainHeight", Me.Height</p><p><b>  End If</b></p><p>  SaveSetting App.Title, "Settings", "Vi

53、ewMode", lvMerch.View</p><p><b>  End Sub</b></p><p>  Private Sub Form_Resize()</p><p>  On Error Resume Next</p><p>  If Me.Width < 3000 Then Me.W

54、idth = 3000</p><p>  SizeControls imgSplitter.Left</p><p><b>  End Sub</b></p><p>  Private Sub imgSplitter_MouseDown(Button As Integer, Shift As Integer, x As Single, y

55、 As Single)</p><p>  With imgSplitter</p><p>  picSplitter.Move .Left, .Top, .Width \ 2, .Height - 20</p><p><b>  End With</b></p><p>  picSplitter.Visible

56、= True</p><p>  mbMoving = True</p><p><b>  End Sub</b></p><p>  Private Sub imgSplitter_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)</p&g

57、t;<p>  Dim sglPos As Single</p><p>  If mbMoving Then</p><p>  sglPos = x + imgSplitter.Left</p><p>  If sglPos < sglSplitLimit Then</p><p>  picSplitter.Lef

58、t = sglSplitLimit</p><p>  ElseIf sglPos > Me.Width - sglSplitLimit Then</p><p>  picSplitter.Left = Me.Width - sglSplitLimit</p><p><b>  Else</b></p><p>

59、;  picSplitter.Left = sglPos</p><p><b>  End If</b></p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub imgSplitter_

60、MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)</p><p>  SizeControls picSplitter.Left</p><p>  picSplitter.Visible = False</p><p>  mbMoving = False</p>

61、;<p><b>  End Sub</b></p><p>  Private Sub TreeView1_DragDrop(Source As Control, x As Single, y As Single)</p><p>  If Source = imgSplitter Then</p><p>  SizeCont

62、rols x</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Sub SizeControls(x As Single)</p><p>  On Error Resume Next</p><p> 

63、 '設(shè)置 Width 屬性</p><p>  If x < 1500 Then x = 1500</p><p>  If x > (Me.Width - 1500) Then x = Me.Width - 1500</p><p>  tvTreeView.Width = x</p><p>  imgSplitter

64、.Left = x</p><p>  sstabView.Left = x + 40</p><p>  sstabView.Width = Me.Width - (tvTreeView.Width + 140)</p><p>  lblTitle(0).Width = tvTreeView.Width</p><p>  '

65、lblTitle(1).Left = lvMerch.Left + 20</p><p>  ' lblTitle(1).Width = lvMerch.Width - 40</p><p>  '設(shè)置 Top 屬性</p><p>  If tbToolBar.Visible Then</p><p>  tvTreeVi

66、ew.Top = tbToolBar.Height + picTitles.Height</p><p><b>  Else</b></p><p>  tvTreeView.Top = picTitles.Height</p><p><b>  End If</b></p><p>  sst

67、abView.Top = tvTreeView.Top - picTitles.Height</p><p>  '設(shè)置 height 屬性</p><p>  If sbStatusBar.Visible Then</p><p>  tvTreeView.Height = Me.ScaleHeight - (picTitles.Top + picTitl

68、es.Height + sbStatusBar.Height)</p><p><b>  Else</b></p><p>  tvTreeView.Height = Me.ScaleHeight - (picTitles.Top + picTitles.Height)</p><p><b>  End If</b>&

69、lt;/p><p>  sstabView.Height = tvTreeView.Height + picTitles.Height</p><p>  imgSplitter.Top = picTitles.Top</p><p>  imgSplitter.Height = tvTreeView.Height</p><p>  '

70、修改ListView控件尺寸</p><p>  Dim ctl As Control</p><p>  For Each ctl In Controls</p><p>  If TypeOf ctl Is ListView Then</p><p>  ctl.Left = 0</p><p>  ctl.Top

71、 = sstabView.TabHeight</p><p>  ctl.Width = sstabView.Width - 40</p><p>  ctl.Height = sstabView.Height - sstabView.TabHeight</p><p>  ctl.Visible = False</p><p><b&

72、gt;  End If</b></p><p><b>  Next</b></p><p>  sstabView_Click 0</p><p><b>  End Sub</b></p><p>  Private Sub lvBuy_DblClick()</p>&

73、lt;p>  mnuBuyModify_Click</p><p><b>  End Sub</b></p><p>  Private Sub lvDispose_DblClick()</p><p>  mnuDisposeModify_Click</p><p><b>  End Sub<

74、/b></p><p>  Private Sub lvMerch_DblClick()</p><p>  mnuMerchModify_Click</p><p><b>  End Sub</b></p><p>  Private Sub lvProvider_DblClick()</p>&

75、lt;p>  mnuProviderModify_Click</p><p><b>  End Sub</b></p><p>  Private Sub lvSell_DblClick()</p><p>  mnuSellModify_Click</p><p><b>  End Sub</

76、b></p><p>  Private Sub mnuAnaBuy_Click()</p><p>  frmAnalysis.Show vbModal</p><p><b>  End Sub</b></p><p>  Private Sub mnuAnalysis_Click()</p>&

77、lt;p>  frmAnalysis.Show vbModal</p><p><b>  End Sub</b></p><p>  ' 屬性頁控件切換響應函數(shù)</p><p><b>  '</b></p><p>  Private Sub sstabView_Click

78、(PreviousTab As Integer)</p><p>  Select Case PreviousTab</p><p><b>  Case 0</b></p><p>  lvMerch.Visible = False</p><p><b>  Case 1</b></p&g

79、t;<p>  lvBuy.Visible = False</p><p><b>  Case 2</b></p><p>  lvSell.Visible = False</p><p><b>  Case 3</b></p><p>  lvDispose.Visible =

80、False</p><p><b>  Case 4</b></p><p>  lvProvider.Visible = False</p><p>  End Select</p><p>  Select Case sstabView.Tab</p><p><b>  Case

81、0</b></p><p>  lvMerch.Visible = True</p><p>  lvMerch.SetFocus</p><p><b>  Case 1</b></p><p>  lvBuy.Visible = True</p><p>  lvBuy.SetFo

82、cus</p><p><b>  Case 2</b></p><p>  lvSell.Visible = True</p><p>  lvSell.SetFocus</p><p><b>  Case 3</b></p><p>  lvDispose.Visibl

83、e = True</p><p>  lvDispose.SetFocus</p><p><b>  Case 4</b></p><p>  lvProvider.Visible = True</p><p>  lvProvider.SetFocus</p><p>  End Select

84、</p><p><b>  End Sub</b></p><p>  Private Sub tbToolBar_ButtonClick(ByVal Button As MSComctlLib.Button)</p><p>  On Error Resume Next</p><p>  Select Case B

85、utton.Key</p><p><b>  Case "返回"</b></p><p>  '應做:添加 '返回' 按鈕代碼。</p><p>  MsgBox "添加 '返回' 按鈕代碼。"</p><p><b>  Cas

86、e "向前"</b></p><p>  '應做:添加 '向前' 按鈕代碼。</p><p>  MsgBox "添加 '向前' 按鈕代碼。"</p><p><b>  Case "剪切"</b></p><p&

87、gt;  '應做:添加 '剪切' 按鈕代碼。</p><p>  MsgBox "添加 '剪切' 按鈕代碼。"</p><p><b>  Case "復制"</b></p><p>  '應做:添加 '復制' 按鈕代碼。</p>

88、<p>  MsgBox "添加 '復制' 按鈕代碼。"</p><p><b>  Case "粘貼"</b></p><p>  '應做:添加 '粘貼' 按鈕代碼。</p><p>  MsgBox "添加 '粘貼' 按鈕

89、代碼。"</p><p><b>  Case "刪除"</b></p><p>  '應做:添加 '刪除' 按鈕代碼。</p><p>  MsgBox "添加 '刪除' 按鈕代碼。"</p><p><b>  Cas

90、e "屬性"</b></p><p>  '應做:添加 '屬性' 按鈕代碼。</p><p>  MsgBox "添加 '屬性' 按鈕代碼。"</p><p>  Case "大圖標"</p><p>  lvMerch.View

91、= lvwIcon</p><p>  Case "小圖標"</p><p>  lvMerch.View = lvwSmallIcon</p><p><b>  Case "列表"</b></p><p>  lvMerch.View = lvwList</p>

92、<p>  Case "詳細資料"</p><p>  lvMerch.View = lvwReport</p><p>  End Select</p><p><b>  End Sub</b></p><p>  Private Sub mnuHelpAbout_Click()<

93、/p><p>  frmAbout.Show vbModal, Me</p><p><b>  End Sub</b></p><p>  Private Sub mnuViewRefresh_Click()</p><p>  '應做:添加 'mnuViewRefresh_Click' 代碼。&l

94、t;/p><p>  MsgBox "添加 'mnuViewRefresh_Click' 代碼。"</p><p><b>  End Sub</b></p><p>  Private Sub mnuVAIByDate_Click()</p><p>  'ToDo: 添加 &#

95、39;mnuVAIByDate_Click' 代碼</p><p>  ' lvMerch.SortKey = DATE_COLUMN</p><p><b>  End Sub</b></p><p>  Private Sub mnuVAIByName_Click()</p><p>  '

96、ToDo: 添加 'mnuVAIByName_Click' 代碼</p><p>  ' lvMerch.SortKey = NAME_COLUMN</p><p><b>  End Sub</b></p><p>  Private Sub mnuVAIBySize_Click()</p><p

97、>  'ToDo: 添加 'mnuVAIBySize_Click' 代碼</p><p>  ' lvMerch.SortKey = SIZE_COLUMN</p><p><b>  End Sub</b></p><p>  Private Sub mnuVAIByType_Click()</p

98、><p>  'ToDo: 添加 'mnuVAIByType_Click' 代碼</p><p>  ' lvMerch.SortKey = TYPE_COLUMN</p><p><b>  End Sub</b></p><p>  Private Sub mnuViewStatusBa

99、r_Click()</p><p>  mnuViewStatusBar.Checked = Not mnuViewStatusBar.Checked</p><p>  sbStatusBar.Visible = mnuViewStatusBar.Checked</p><p>  SizeControls imgSplitter.Left</p>

100、<p><b>  End Sub</b></p><p>  Private Sub mnuViewToolbar_Click()</p><p>  mnuViewToolbar.Checked = Not mnuViewToolbar.Checked</p><p>  tbToolBar.Visible = mnuViewTo

101、olbar.Checked</p><p>  SizeControls imgSplitter.Left</p><p><b>  End Sub</b></p><p>  '初始化所有數(shù)據(jù)函數(shù)</p><p>  Private Sub InitMain()</p><p>  &

102、#39; InitMerchListview lvMerch '初始化列表</p><p>  ' ListAllMerchs lvMerch</p><p>  TypeToTreeview tvTreeView '將客戶類型顯示到樹型圖中</p><p>  opProvider.FillListView lvProvider<

103、/p><p>  opMerch.FillListView lvMerch</p><p>  opBuy.FillListView lvBuy</p><p>  opSell.FillListView lvSell</p><p>  opDispose.FillListView lvDispose</p><p>&

104、lt;b>  End Sub</b></p><p><b>  ' 菜單響應函數(shù)</b></p><p><b>  '</b></p><p>  '===============================================</p><p

105、><b>  ' 商品類型操作</b></p><p>  '===============================================</p><p>  Private Sub mnuMType_Click()</p><p><b>  '設(shè)置樹型控件焦點</b>&l

106、t;/p><p>  tvTreeView.SetFocus</p><p><b>  End Sub</b></p><p><b>  '添加</b></p><p>  Private Sub mnuMTypeAdd_Click()</p><p>  opMTy

107、pe.Add tvTreeView</p><p><b>  End Sub</b></p><p><b>  '刪除</b></p><p>  Private Sub mnuMTypeDel_Click()</p><p>  opMType.Delete tvTreeView<

108、;/p><p><b>  End Sub</b></p><p><b>  '修改</b></p><p>  Private Sub mnuMTypeModify_Click()</p><p>  opMType.Modify tvTreeView</p><p>

109、;<b>  End Sub</b></p><p>  '===============================================</p><p><b>  ' 人員管理操作</b></p><p>  '==================================

110、=============</p><p>  Private Sub mnuSystemUser_Click()</p><p>  frmUserList.Show vbModal</p><p><b>  End Sub</b></p><p>  '===========================

111、====================</p><p><b>  ' 商品操作</b></p><p>  '===============================================</p><p>  Private Sub mnuMerch_Click()</p><p>&

112、lt;b>  '切換選項卡</b></p><p>  sstabView.Tab = 0</p><p><b>  End Sub</b></p><p>  Private Sub mnuMerchAdd_Click()</p><p>  sstabView.Tab = 0</p&

113、gt;<p>  opMerch.Add lvMerch, GetID(tvTreeView.SelectedItem.Key)</p><p><b>  End Sub</b></p><p>  Private Sub mnuMerchDel_Click()</p><p>  sstabView.Tab = 0</p

114、><p>  opMerch.Delete lvMerch</p><p><b>  End Sub</b></p><p>  Private Sub mnuMerchModify_Click()</p><p>  sstabView.Tab = 0</p><p>  opMerch.Modi

115、fy lvMerch</p><p><b>  End Sub</b></p><p>  '===============================================</p><p><b>  ' 進貨管理</b></p><p>  '======

116、=========================================</p><p>  Private Sub mnuBuy_Click()</p><p><b>  '切換選項卡</b></p><p>  sstabView.Tab = 1</p><p><b>  End Su

117、b</b></p><p>  Private Sub mnuBuyAdd_Click()</p><p>  opBuy.Add lvBuy, g_Account</p><p>  '由于同時更新了庫存,需要重新加載商品列表</p><p>  opMerch.FillListView lvMerch, GetID(t

118、vTreeView.SelectedItem.Key)</p><p>  MsgBox "操作成功,同時庫存量自動更新,請切換到【商品管理】查看核實庫存變化。", vbInformation</p><p><b>  End Sub</b></p><p>  Private Sub mnuBuyDel_Click()&

119、lt;/p><p>  opBuy.Delete lvBuy</p><p>  '由于同時更新了庫存,需要重新加載商品列表</p><p>  opMerch.FillListView lvMerch, GetID(tvTreeView.SelectedItem.Key)</p><p>  MsgBox "操作成功,同時庫存

120、量自動更新,請切換到【商品管理】查看核實庫存變化。", vbInformation</p><p><b>  End Sub</b></p><p>  Private Sub mnuBuyModify_Click()</p><p>  opBuy.Modify lvBuy, g_Account</p><p&

121、gt;  '由于同時更新了庫存,需要重新加載商品列表</p><p>  opMerch.FillListView lvMerch, GetID(tvTreeView.SelectedItem.Key)</p><p>  MsgBox "操作成功,同時庫存量自動更新,請切換到【商品管理】查看核實庫存變化。", vbInformation</p>

122、<p><b>  End Sub</b></p><p>  '===============================================</p><p><b>  ' 銷售管理</b></p><p>  '============================

123、===================</p><p>  Private Sub mnuSell_Click()</p><p><b>  '切換選項卡</b></p><p>  sstabView.Tab = 2</p><p><b>  End Sub</b></p>

124、<p>  Private Sub mnuSellAdd_Click()</p><p>  opSell.Add lvSell, g_Account</p><p>  '由于同時更新了庫存,需要重新加載商品列表</p><p>  opMerch.FillListView lvMerch, GetID(tvTreeView.Selected

125、Item.Key)</p><p>  MsgBox "操作成功,同時庫存量自動更新,請切換到【商品管理】查看核實庫存變化。", vbInformation</p><p><b>  End Sub</b></p><p>  Private Sub mnuSellDel_Click()</p><p&

126、gt;  opSell.Delete lvSell</p><p>  '由于同時更新了庫存,需要重新加載商品列表</p><p>  opMerch.FillListView lvMerch, GetID(tvTreeView.SelectedItem.Key)</p><p>  MsgBox "操作成功,同時庫存量自動更新,請切換到【商品管理

127、】查看核實庫存變化。", vbInformation</p><p><b>  End Sub</b></p><p>  Private Sub mnuSellModify_Click()</p><p>  opSell.Modify lvSell, g_Account</p><p>  '由于

128、同時更新了庫存,需要重新加載商品列表</p><p>  opMerch.FillListView lvMerch, GetID(tvTreeView.SelectedItem.Key)</p><p>  MsgBox "操作成功,同時庫存量自動更新,請切換到【商品管理】查看核實庫存變化。", vbInformation</p><p><

129、;b>  End Sub</b></p><p>  '===============================================</p><p><b>  ' 報損管理</b></p><p>  '========================================

130、=======</p><p>  Private Sub mnuDispose_Click()</p><p><b>  '切換選項卡</b></p><p>  sstabView.Tab = 3</p><p><b>  End Sub</b></p><p&g

131、t;  Private Sub mnuDisposeAdd_Click()</p><p>  opDispose.Add lvDispose, g_Account</p><p>  '由于同時更新了庫存,需要重新加載商品列表</p><p>  opMerch.FillListView lvMerch, GetID(tvTreeView.Selected

132、Item.Key)</p><p>  MsgBox "操作成功,同時庫存量自動更新,請切換到【商品管理】查看核實庫存變化。", vbInformation</p><p><b>  End Sub</b></p><p>  Private Sub mnuDisposeDel_Click()</p><

133、;p>  opDispose.Delete lvDispose</p><p>  '由于同時更新了庫存,需要重新加載商品列表</p><p>  opMerch.FillListView lvMerch, GetID(tvTreeView.SelectedItem.Key)</p><p>  MsgBox "操作成功,同時庫存量自動更新,

溫馨提示

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

評論

0/150

提交評論