汽車銷售管理系統(tǒng)_第1頁
汽車銷售管理系統(tǒng)_第2頁
汽車銷售管理系統(tǒng)_第3頁
汽車銷售管理系統(tǒng)_第4頁
汽車銷售管理系統(tǒng)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

沈陽理工大學(xué)課程設(shè)計(jì)專用紙沈陽理工大學(xué)課程設(shè)計(jì)專用紙沈陽理工大學(xué)沈陽理工大學(xué)目錄汽車銷售管理系統(tǒng) 錯(cuò)誤!未定義書簽一、課程設(shè)計(jì)的目的和意義 錯(cuò)誤!未定義書簽TOC\o"1-5"\h\z二、 需求分析 1三、 模塊設(shè)計(jì) 1四、 創(chuàng)建數(shù)據(jù)庫(kù) 2五、 創(chuàng)建登錄窗口 4六、 主窗體的設(shè)計(jì) 6七、 用戶管理模塊 9八、汽車信息管理模塊 15九、進(jìn)貨信息模塊 錯(cuò)誤!未定義書簽十、銷售信息管理模塊 錯(cuò)誤!八、汽車信息管理模塊 15九、進(jìn)貨信息模塊 錯(cuò)誤!未定義書簽十、銷售信息管理模塊 錯(cuò)誤!未定義書簽卜一、查找窗體模塊 36十二、結(jié)果分析 38十三、參考文獻(xiàn) 38汽車銷售管理系統(tǒng)課程設(shè)計(jì)的目的和意義高效的汽車銷售管理系統(tǒng)是當(dāng)前信息化汽車公司管理系統(tǒng)之需要。 面對(duì)龐大的汽車銷售和庫(kù)存信息,就需要有汽車管理系統(tǒng)來提高管理工作的效率。 通過建立這樣的系統(tǒng),可以做到汽車信息的規(guī)范管理、快速查詢和科學(xué)統(tǒng)計(jì),從而減少管理方面的工作量。系統(tǒng)開發(fā)環(huán)境為一臺(tái)安裝 windowsxp的個(gè)人計(jì)算機(jī)作為客戶機(jī),其上安裝了 SQLServer2000,本系統(tǒng)使用VisualBasic6.0來開發(fā),系統(tǒng)設(shè)計(jì)與運(yùn)行均可在客戶機(jī)上進(jìn)行。需求分析本系統(tǒng)的設(shè)計(jì)模擬一般醫(yī)院的汽車銷售管理系統(tǒng)內(nèi)容,經(jīng)過充分的系統(tǒng)分析和調(diào)研,本系統(tǒng)主要包括的信息有3類:汽車商品信息、汽車進(jìn)貨信息以及汽車銷售信息。在傳統(tǒng)的銷售管理工作中,往往是用人工清點(diǎn)的方式來掌握倉(cāng)庫(kù)中的汽車商品、 使用手工記賬的方式來掌握商品的進(jìn)貨和銷售情況。 這種方式在數(shù)量較少、庫(kù)存變換少的情況下,不失為一種好的方法。但是,隨著每天所發(fā)生的進(jìn)貨和銷售情況紛繁復(fù)雜,如果借助人工來記錄和管理,將會(huì)耗費(fèi)大量的時(shí)間,而且容易出現(xiàn)錯(cuò)誤,造成管理上的混亂。具體而言,汽車銷售管理系統(tǒng)需要實(shí)現(xiàn)一下的需求:(1) 能夠?qū)︶t(yī)院過擁有的各種汽車的基礎(chǔ)信息進(jìn)行維護(hù)和管理。 汽車的基礎(chǔ)信息包括:汽車的順序號(hào)、汽車名稱、汽車規(guī)格、計(jì)量單位、備注信息、庫(kù)存數(shù)量等。系統(tǒng)需要能夠?qū)ζ囆畔⑦M(jìn)行添加、 修改和刪除,也可以以圖形的方式顯示出現(xiàn)汽車的庫(kù)存數(shù)量的比較。(2) 跟蹤各種汽車的的進(jìn)貨信息。 汽車的進(jìn)貨信息包括順序號(hào)、 汽車名稱、進(jìn)貨數(shù)量、進(jìn)貨價(jià)格、進(jìn)貨日期、備注等。系統(tǒng)還需要能夠?qū)M(jìn)貨信息進(jìn)行添加、修改和刪除,也可以按照一定的條件來進(jìn)行查詢。(3) 跟蹤各種汽車的銷售信息。汽車的銷售信息包括順序號(hào)、汽車名稱、顧客名稱、購(gòu)買數(shù)量、售出價(jià)格、銷售日期、備注等。系統(tǒng)需要能夠?qū)︿N售信息進(jìn)行添加、修改和刪除,也可以按照一定的條件來進(jìn)行查詢。模塊設(shè)計(jì)根據(jù)需求分析的結(jié)果,本系統(tǒng)主要?jiǎng)澐譃?4個(gè)子模塊:用戶管理、汽車信息管理、進(jìn)貨信息管理、銷售信息管理。汽車銷售管理系統(tǒng)不同類型的用戶在系統(tǒng)中有不同的權(quán)限,主要有以下 3種用戶:(1) 管理人員本系統(tǒng)的管理人員可以使用本系統(tǒng)的所有功能,包括用戶管理、汽車信息管理、進(jìn)貨信息管理和銷售信息管理功能。(2) 倉(cāng)管人員倉(cāng)管人員負(fù)責(zé)管理倉(cāng)庫(kù)中的汽車數(shù)量, 主要負(fù)責(zé)汽車的每次的進(jìn)貨情況。其只能使用系統(tǒng)中的進(jìn)貨信息管理功能模塊, 對(duì)每次進(jìn)貨的信息進(jìn)行記錄,并且可以查詢當(dāng)前倉(cāng)庫(kù)中的汽車庫(kù)存數(shù)量。(3) 銷售人員銷售人員負(fù)責(zé)汽車的日常銷售工作, 需要掌握各種汽車的各次的銷售情況。其只能使用本系統(tǒng)的汽車銷售信息管理模塊, 貴每次汽車的銷售情況進(jìn)行記錄。整個(gè)系統(tǒng)的結(jié)構(gòu)模塊如圖1所示。一下分別介紹系統(tǒng)中的各個(gè)系統(tǒng) 4個(gè)子模塊A.用戶管理模塊用于管理汽車銷售系統(tǒng)中的各種類型的用戶。只有具有管理人員身份的人才能使用本模塊,管理人員可以添加或者刪除相應(yīng)的用戶,可以改變用戶的身份,也可以改變某個(gè)用戶的秘密。

B.汽車信息管理模塊銷售信息管理模塊B.汽車信息管理模塊銷售信息管理模塊▲.圖1系統(tǒng)模塊分析用來多醫(yī)院所擁有的各種汽車的基礎(chǔ)信息進(jìn)行維護(hù)和管理。在系統(tǒng)中,需要對(duì)汽車信息進(jìn)行添加、修改和刪除,也可以按照一定的條件進(jìn)行查詢,并且不要將汽車的庫(kù)存數(shù)量以圖形的方式顯示出來。進(jìn)貨信息管理模塊用來跟蹤汽車每一次進(jìn)貨的信息。該模塊需要能夠?qū)M(jìn)貨信息進(jìn)行添加、修改和刪除,也可以按照一定的條件來進(jìn)行查詢。只有管理人員和倉(cāng)管人員才能使用本模塊。銷售信息管理模塊用來跟蹤汽車每一次售貨的信息。該模塊需要能夠?qū)︿N售信息進(jìn)行添加、修改和刪除,也可以按照一定的條件來進(jìn)行查詢。只有管理人員和銷售人員才能使用本模塊。4?創(chuàng)建數(shù)據(jù)庫(kù)在本系統(tǒng)中,需要掌握汽車的基本信息、每次汽車進(jìn)貨信息、每次汽車銷售信息,此

外,由于要進(jìn)行用戶管理,還需要掌握使用本系統(tǒng)的用戶,各種數(shù)據(jù)表如圖 2,3,4,5所示數(shù)據(jù)類塑KE允也liEEl50用尸窖瑪clur50闿戶類型4圖2用戶信息表-userlist

數(shù)據(jù)類型允許仝tigiirt3itvarchar50nivarchai-5D計(jì)量單位iivaruhar50/備注Isict16Z庫(kù)存數(shù)量Tiigint8圖3汽車信息表-products數(shù)據(jù)類型|畏度此許空|沖1垃年耳——I"bigizil汽車名稱nvarctiar30顧客8稱nvarchar50購(gòu)戛數(shù)量i.nt.4售出怖格moni.ey&銷售日朗datetime5tnt16圖4銷售信息表-sell數(shù)據(jù)類型摂度允許空|pt宇耳bigiM□汽車名稱nvaruhar50nvarchar50進(jìn)貨數(shù)最irttn進(jìn)貨怖格moneys進(jìn)貨日期datetime0備連t?xt16*圖5進(jìn)貨信息表-stock為了數(shù)據(jù)庫(kù)的規(guī)范化的設(shè)計(jì)理念, 3個(gè)表之間的關(guān)系如圖6所示的關(guān)系圖。?products表中的"汽車名稱”字段和sell表中的"商品名稱”形成一對(duì)多的參照完整性-products表中的"商品名稱”字段和stock表中的"商品名稱”字段形成一對(duì)多的參照完整性理ock]-—理ock]-—*(所有列) A順序號(hào)汽軍名稱宮車規(guī)移計(jì)量單位 V_.-■sell*【宙有劌)古車名稱幀客名稱1—季買數(shù)晝圖6表之間的關(guān)系5?創(chuàng)建登錄窗體模塊5.1窗體模塊的功能該系統(tǒng)是一個(gè)基于不同用戶的系統(tǒng), 在本系統(tǒng)中有3類不同的用戶:管理人員、倉(cāng)管人員、銷售人員。因此,在系統(tǒng)啟動(dòng)時(shí),需要一個(gè)登錄窗口,已選擇不同的身份登錄,然后根據(jù)不同的身份來顯示不同的功能。5.2主界面的設(shè)計(jì)圖7主界面5.3工作流程或者方式系統(tǒng)運(yùn)行時(shí),首先出現(xiàn)主界面。當(dāng)點(diǎn)擊“登錄”按鈕后,出現(xiàn)登錄窗體。由于登錄窗體時(shí)一個(gè)面向多用戶的系統(tǒng), 不同的用戶在使用系統(tǒng)時(shí), 將會(huì)擁有不同的功能。登錄窗體的作用就是確定當(dāng)前使用系統(tǒng)的用戶類型。當(dāng)窗體運(yùn)行時(shí),用戶首先要在用戶名和密碼這兩個(gè)文本框中輸入相應(yīng)的用戶名和密碼,然后在身份組合框中選擇不同的身份。單擊“確定”按鈕即可進(jìn)入主窗體。登錄界面如圖8所示。圖8登錄界面5.4部分代碼如下:“確定”按鈕的部分代碼:PrivateSubcmdOK_Click()OnErrorGoToerrHandlerSetgConn=NewADODB.ConnectiongConn.Open"yyxs","teamo"DimuserAsString,pwdAsStringuser=txtUserpwd=txtPwdgnUserType=cboUserType.ListlndexgsUserName=userDimstrSQLAsStringstrSQL="select*fromuserlistwhere用戶名="'&user&"'and用戶密碼="'&pwd&"'and用戶類型="&gnUserTypeDimrAsNewADODB.Recordsetr.OpenstrSQL,gConn,adOpenStaticStaticnTryCountAsIntegerIfr.EOFThenMsgBox"對(duì)不起,無此用戶或者密碼不正確!請(qǐng)重新輸入! !!",vbCritical,"錯(cuò)誤”txtUser.SetFocustxtUser.SelStart=0txtUser.SelLength=Len(txtUser)nTryCount=nTryCount+1IfnTryCount>=3ThenMsgBox"您無權(quán)操作本系統(tǒng)!再見!",vbCritical,"無權(quán)限"UnloadMegConn.CloseEndIfElseUnloadMefrmMain.ShowEndIfr.CloseExitSuberrHandler:MsgBoxErr.Description,vbCritical,"錯(cuò)誤"EndSub身份選擇組合框的代碼如下:PrivateSubForm_Load()cboUserType.ClearcboUserType.AddItem"管理人員",0cboUserType.AddItem"倉(cāng)管人員",1cboUserType.AddItem"銷售人員",2cboUserType.Listlndex=0EndSub主窗體的設(shè)計(jì)6.1窗體模塊的功能如果用戶通過登錄窗體登錄了本系統(tǒng),將會(huì)出現(xiàn)如圖 9,10,11所示的主窗體界面。該窗體是為整個(gè)系統(tǒng)中的窗體提供一個(gè)統(tǒng)一管理的環(huán)境。 其中設(shè)計(jì)了菜單,不同的菜單對(duì)應(yīng)不同的系統(tǒng)功能;根據(jù)不同的用戶身份,將會(huì)顯示不同的菜單,這樣就實(shí)現(xiàn)了使功能隨用戶的不同而不同的設(shè)計(jì)思路。6.2工作流程該窗體被作為系統(tǒng)中眾多窗體的父窗體,其主要功能是提供用戶所要使用的菜單項(xiàng),不同身份的用戶,其所能使用的菜單項(xiàng)也是不同的。以管理人員登錄的界面顯示,如圖 9所示圖9以倉(cāng)管人員登錄的界面顯示,如圖10所示圖10以銷售人員登錄的界面顯示,如圖 11所示圖11(4)密碼或用戶名輸入錯(cuò)誤的界面如圖 12所示圖126.3部分代碼(1)主窗體Load事件的代碼PrivateSubForm_Load()OnErrGoToerrHandlerMe丄eft=GetSetting(App.Title,"Settings","MainLeft",1000)Me.Top=GetSetting(App.Title,"Settings","MainTop",1000)Me.Width=GetSetting(App.Title,"Settings","MainWidth",6500)Me.Height=GetSetting(App.Title,"Settings","MainHeight",6500)SelectCasegnUserTypeCase0:mnuSystem.Visible=TruemnuProduct.Visible=TruemnuStock.Visible=TruemnuSell.Visible=TruemnuHelp.Visible=TrueCase1:mnuSystem.Visible=FalsemnuProduct.Visible=FalsemnuStock.Visible=TruemnuSell.Visible=FalsemnuHelp.Visible=TrueCase2:mnuSystem.Visible=FalsemnuProduct.Visible=FalsemnuStock.Visible=FalsemnuSell.Visible=TruemnuHelp.Visible=TrueEndSelectExitSuberrHandler:MsgBoxErr.Description,vbCritical,"錯(cuò)誤"EndSub(2)各菜單項(xiàng)的代碼PrivateSubmnuProductAdd_Click()frmProduct.mbAddMode=TruefrmProduct.ShowvbModalEndSubPrivateSubmnuProductChart_Click()DimrsAsNewADODB.Recordsetrs.Open"select*fromproducts",gConn,adOpenStaticLoadfrmChartfrmChart.Caption="當(dāng)前汽車的庫(kù)存狀態(tài)"Dimarr()ReDimarr(1Tors.RecordCount,1To2)DimiAsIntegeri=1rs.MoveFirstDimstrAsStringWhileNotrs.EOFstr=Trim(rs("汽車名稱"))arr(i,1)=""&str&""arr(i,2)=rs("庫(kù)存數(shù)量")i=i+1rs.MoveNextWendWithfrmChart.charReport.Title="當(dāng)前汽車的庫(kù)存狀態(tài).ChartData=arrEndWithrs.ClosefrmChart.ShowvbModalEndSubPrivateSubmnuProductFind_Click()mnuProductList_ClickfrmProductList.cmdFind.Value=TrueEndSubPrivateSubmnuProductList_Click()LoadfrmProductListfrmProductList.SQL="select*fromproducts"frmProductList.ShowEndSubPrivateSubmnuSellAdd_Click()frmSell.mbAddMode=TruefrmSell.ShowvbModalEndSubPrivateSubmnuSellFind_Click()mnuSellList_ClickfrmSellList.cmdFind.Value=TrueEndSubPrivateSubmnuSellList_Click()LoadfrmSellListfrmSellList.SQL="select*fromsell"frmSellList.ShowEndSubPrivateSubmnuStockAdd_Click()frmStock.mbAddMode=TruefrmStock.ShowvbModalEndSubPrivateSubmnuStockFind_Click()mnuStockList_ClickfrmStockList.cmdFind.Value=TrueEndSubPrivateSubmnuStockList_Click()LoadfrmStockListfrmStockList.SQL="select*fromstock"frmStockList.ShowEndSubPrivateSubmnuSystemExit_Click()UnloadMeEndSubPrivateSubmnuSystemLogin_Click()UnloadMefrmLogin.ShowEndSubPrivateSubmnuSystemUser_Click()frmUser.ShowEndSub用戶管理模塊7.1窗體模塊的功能用戶管理模塊有3個(gè)窗體組成:用戶管理主窗體、密碼窗體和用戶身份選擇窗體。 用戶管理主窗體用于顯示用戶列表, 供用戶選擇下一步操作; 密碼窗體用于添加用戶時(shí)輸入用戶密碼,或者用于變更當(dāng)前用戶的秘密; 用戶身份選擇窗體用于添加用戶時(shí)選擇用戶身份,或用于變更當(dāng)前的用戶身份。7.2窗體工作流程用戶管理模塊有幾個(gè)窗體所共同組成,其流程如圖 13所示7.3窗體顯示界面(1)用戶管理界面如圖14所示圖14用尸類星 ?(2)密碼窗體如圖15諸選擇用尸類型:C管理人員r倉(cāng)嘗山廠銷肯人員圖16圖圖16(3)用戶類型窗體如圖167.4部分代碼a用戶管理代碼PrivateSubcboUserType_Click()OnErrorGoToerrHandlerlstUser.ClearDimstrAsStringSelectCasecboUserType.ListIndexCase0,1,2:str="select*fromuserlistwhere用戶類型="&cboUserType.ListIndexCaseElse:str="select*fromuserlist"EndSelectDimrsAsNewADODB.Recordsetrs.Openstr,gConn,adOpenStaticWhileNotrs.EOFlstUser.AddItemrs("用戶名"),0IstUser.ltemData(O)=rs("用戶類型")rs.MoveNextWendrs.CloseExitSuberrHandler:MsgBoxErr.Description,vbCritical,"錯(cuò)誤"EndSubPrivateSubcmdAddUser_Click()OnErrorGoToerrHandlerDimstrUserAsStringDimstrPwdAsStringDimnTypeAsIntegergetUser:strUser=InputBox("請(qǐng)輸入所要新建的用戶的名稱: ","用戶名")IfstrUser=""ThenExitSubDimrsAsNewADODB.Recordsetrs.Open"select*fromuserlistwhere用戶名="'&strUser&""',gConn,adOpenStaticIfNotrs.EOFThenMsgBox"該用戶名已經(jīng)存在! ",vbCritical,"用戶名重復(fù)”GoTogetUserEndIfrs.ClosegetPwd:frmPassword.ShowvbModalstrPwd=frmPassword.txtPwd(0).TextUnloadfrmPasswordIfstrPwd=""ThenMsgBox"必須輸入密碼! ",vbCritical,"需要密碼”GoTogetPwdEndIfgetType:frmUserType.ShowvbModalnType=frmUserType.mmUserTypeUnioadfrmUserTypeIfnType<0ThenMsgBox"必須選擇用戶類型! ",vbCritical,"選擇用戶類型”GoTogetTypeEndIfgConn.Execute"insertintouserlist(用戶名,用戶密碼,用戶類型)values('"&strUser&"','"&strPwd&"',"&nType&")"ExitSuberrHandler:MsgBoxErr.Description,vbCritical,"錯(cuò)誤"EndSubPrivateSubcmdChangePwd_Click()OnErrorGoToerrHandlerIflstUser.Text=""ThenExitSubfrmPassword.ShowvbModalIffrmPassword.txtPwd(0).Text<>""ThengConn.Execute"updateuserlistset用戶密碼="'&frmPassword.txtPwd(0).Text&"'where用戶名='"&lstUser.Text&"”EndIfUnloadfrmPasswordExitSuberrHandler:MsgBoxErr.Description,vbCritical,"錯(cuò)誤"EndSubPrivateSubcmdChangeType_Click()OnErrorGoToerrHandlerIflstUser.Text=""ThenExitSubLoadfrmUserTypefrmUserType.optUserType(lstUser.ltemData(lstUser.Listlndex)).Value=TruefrmUserType.ShowvbModalIffrmUserType.mnUserType>=0ThengConn.Execute"updateuserlistset用戶類型="&frmUserType.mnUserType&"where 用戶名='"&lstUser.Text&"”'EndIfUnioadfrmUserTypeExitSuberrHandler:MsgBoxErr.Description,vbCritical,"錯(cuò)誤"EndSubPrivateSubcmdClose_Click()UnloadMeEndSubPrivateSubcmdDeleteUser_Click()OnErrorGoToerrHandlerIflstUser.Text=""ThenExitSubIflstUser.Text=gsUserNameThenMsgBox"不能刪除當(dāng)前記錄! ",vbCritical,"刪除用戶錯(cuò)誤”ExitSubEndIfgConn.Execute"deletefromuserlistwhere用戶名="'&lstUser.Text&""'lstUser.RemoveItemlstUser.ListIndexExitSuberrHandler:MsgBoxErr.Description,vbCritical,"錯(cuò)誤"EndSubb密碼窗體代碼c用戶身份選擇窗體代碼PrivateSubcmdCancel_Click()mnUserType=-1Me.HideEndSubPrivateSubcmdOK_Click()Me.HideEndSubPrivateSubForm_Load()optUserType(0).Value=TruemnUserType=-1EndSubPrivateSuboptUserType_Click(lndexAsInteger)mnUserType=IndexEndSub汽車信息管理模塊8.1窗體模塊的功能在汽車信息管理模塊中,包含 3個(gè)窗體:汽車信息列表窗體、汽車信息編輯窗體和顯示庫(kù)存數(shù)量的窗體。汽車信息列表窗體以表格的形式列出當(dāng)前系統(tǒng)中的汽車信息,并且為用戶提供了進(jìn)行各種操作的接口;汽車信息編輯窗體用于顯示某一個(gè)汽車的基本信息,借助該窗體可以對(duì)某個(gè)汽車信息進(jìn)行編輯,也可以向數(shù)據(jù)庫(kù)增加一個(gè)汽車信息;顯示庫(kù)存數(shù)量的窗體主要是借助圖形方式顯示出汽車當(dāng)前的數(shù)量。8.2窗體工作流程圖17汽車信息管理模塊的子功能8.3窗體界面顯示1)汽車信息列表窗體Pbllx汽車名稱汽車規(guī)格宣車單述備注潔層庫(kù)存數(shù)量oooQ4-23540汽車名稱汽車規(guī)格宣車單述備注潔層庫(kù)存數(shù)量oooQ4-23540202050利馬馳拉謬

圭奔法三海加通編輯⑥刪除述顯示所育記錄?顯示庫(kù)存伏態(tài)⑤圖18(2)汽車信息編輯窗體返回保存返回圖19(3)顯示庫(kù)存數(shù)量窗體

圖208.4部分代碼A汽車信息列表窗體代碼PrivateSubcmdDelete_Click()OnErrorGoToerrHandlerDimlAsLongl=grdList.TextMatrix(grdList.Row,1)gConn.Execute"deletefromproductswhere順序號(hào)="&IUnloadMeLoadMeMe.SQL="select*fromproducts"Me.ShowExitSuberrHandler:MsgBoxErr.Description,vbCritical,"錯(cuò)誤"EndSubPrivateSubcmdEdit_Click()OnErrorGoToerrHandlerfrmProduct.mnSerial=CLng(grdList.TextMatrix(grdList.Row,1))frmProduct.mbAddMode=FalsefrmProduct.ShowExitSuberrHandler:MsgBoxErr.Description,vbCritical,"錯(cuò)誤"EndSubPrivateSubcmdFind_Click()frmFind.SQL=mRs.SourcefrmFind.ShowvbModalIfTrim(frmFind.msResultSQL)=""ThenExitSubUnloadMeLoadMeMe.SQL="select*fromproductswhere"&frmFind.msResultSQLMe.ShowUnloadfrmFindEndSubPrivateSubcmdReport_Click()IfmRs.EOFAndmRs.EOFThenMsgBox"當(dāng)前沒有任何記錄! ",vbExclamation,"錯(cuò)誤”ExitSubEndIfLoadfrmChartfrmChart.Caption=”當(dāng)前汽車的庫(kù)存狀態(tài)”Dimarr()ReDimarr(1TomRs.RecordCount,1To2)DimiAsIntegeri=1mRs.MoveFirstDimstrAsStringWhileNotmRs.EOFstr=Trim(mRs("汽車名稱"))arr(i,1)=""&str&""arr(i,2)=mRs("庫(kù)存數(shù)量")i=i+1mRs.MoveNextWendWithfrmChart.charReport.Title="當(dāng)前的庫(kù)存汽車的剩余價(jià)值.ChartData=arrEndWithfrmChart.ShowvbModalEndSubPrivateSubcmdShowAII_Click()UnloadMeLoadMeMe.SQL="select*fromproducts"Me.ShowEndSubPrivateSubForm_Load()SetmRs=NewADODB.RecordsetDimiAsIntegerWithgrdList.Cols=7.TextMatrix(O,1)="".TextMatrix(O,2)="汽車名稱".TextMatrix(0,3)="汽車規(guī)格".TextMatrix(0,4)="汽車單位".TextMatrix(0,5)="備注信息".TextMatrix(0,6)="庫(kù)存數(shù)量".FixedRows=1Fori=0To.Cols-1.ColAlignment(i)=0Nexti.FillStyle=flexFillRepeat.Col=0.Row=0.RowSel=1.ColSel=.Cols-1.CellAlignment=4.ColWidth(0)=100?ColWidth⑴=0?ColWidth(2)=1000?ColWidth(3)=1000.ColWidth(4)=1000.ColWidth(5)=1000.ColWidth(6)=1000.Row=1EndWithEndSub(2)汽車信息編輯窗體代碼PrivateSubcmdCancel_Click()IfmbChangeAndcmdOK.EnabledThenIfMsgBox("保存當(dāng)前記錄的變化嗎? ",vbOKCancel+vbExclamation,"警告")=vbOKThenCallcmdOK_ClickEndIfEndIfUnloadMeUnloadfrmProductListLoadfrmProductListfrmProductList.SQL="select*fromproducts"frmProductList.ShowEndSubPrivateSubcmdOK_Click()DimstrMsgAsStringDimrsAsADODB.RecordsetDimstrSQLAsStringDimiAsIntegerFori=0To2IfTrim(txtIntem(i)&"")=""ThenSelectCaseiCase0strMsg="汽車名稱”Case1strMsg="汽車規(guī)格”Case2strMsg="計(jì)量單位”EndSelectstrMsg=strMsg&”不能為空!”MsgBoxstrMsg,vbOKOnly+vbExclamation,"警告”txtlntem(i).SetFocusExitSubEndIfNextiSetrs=NewADODB.RecordsetIfmbAddModeThenstrSQL="select*fromproductswhere汽車名稱="'&Trim(txtlntem(O))&"'and 汽車規(guī)格='"&Trim(txtlntem(i))&“"rs.OpenstrSQL,gConn,adOpenStaticIfNotrs.EOFThenMsgBox"已經(jīng)存在相同內(nèi)容的記錄! ",vbOKOnly+vbExclamation,"警告”txtlntem(0).SetFocusrs.CloseExitSubEndIfrs.CloseElsestrSQL="deletefromproductswhere順序號(hào)="&Trim(mnSerial)gConn.ExecutestrSQLEndIfstrSQL="select*fromproducts"rs.OpenstrSQL,gConn,adOpenDynamic,adLockOptimisticrs.AddNewFori=0Tors.Fields.Count-2rs.Fields(i+1)=txtIntem(i)Nextirs.Updaters.CloseIfmbAddModeThenmbChange=FalseMsgBox"添加汽車信息成功!繼續(xù)添加下一條汽車信息 ",vbOKOnly+vbExclamation,"添加汽車信息"UnloadMeMe.ShowvbModalElseUnloadMefrmProductList.SQL="select*fromproducts"frmProductList.ShowEndIfEndSubPrivateSubForm_Load()DimstrSQLAsStringDimiAsIntegerDimrsAsNewADODB.RecordsetIfmbAddModeThenMe.Caption=Me.Caption&”添加"ElsestrSQL="select*fromproductswhere順序號(hào)="' &Trim(frmProductList.grdList.TextMatrix(frmProductList.grdList.Row,1))&""'rs.OpenstrSQL,gConn,adOpenKeysetIfrs.EOF=FalseThenWithrsmnSerial=.Fields(O)Fori=0To.Fields.Count-2IfNotlsNull(.Fields(i+1))ThentxtIntem(i)=.Fields(i+1)EndIfNextiEndWithEndIfrs.CloseMe.Caption=Me.Caption&"修改”EndIfmbChange=FalseEndSubPrivateSubtxtlntem_Change(lndexAsInteger)mbChange=TrueEndSubPrivateSubtxtlntem_GotFocus(IndexAsInteger)txtIntem(Index).SelStart=0txtIntem(Index).SelLength=Len(txtIntem(Index))EndSub(3)顯示庫(kù)存數(shù)量的窗體代碼PrivateSubForm_Resize()charReport.Left=0charReport.Top=0charReport.Height=Me.ScaleHeightcharReport.Width=Me.ScaleWidthEndSub進(jìn)貨信息管理模塊9.1窗體模塊的功能在該模塊中,包含兩個(gè)窗體:進(jìn)貨信息列表窗體和進(jìn)貨信息編輯窗體。進(jìn)貨信息列表窗體以表格形式列出當(dāng)前系統(tǒng)中的進(jìn)貨信息,并且提供了進(jìn)行各種操作的接口;進(jìn)貨信息編輯窗體用于顯示某一次進(jìn)貨的信息, 借助該窗體可以對(duì)某次進(jìn)貨的信息進(jìn)行編輯,也可以向數(shù)據(jù)庫(kù)增加進(jìn)貨信息。9.2工作流程該模塊所包含的功能如圖 21所示。圖21進(jìn)貨信息管理模塊的子功能9.3窗體界面設(shè)計(jì)(1)進(jìn)貨信息列表窗體,如圖 22圖22

(2)進(jìn)貨信息編輯窗體,如圖 23圖239.4部分代碼A進(jìn)貨信息列表窗體代碼PrivateSubcmdAdd_Click()frmStock.mbAddMode=TruefrmStock.ShowvbModalEndSubPrivateSubcmdDelete_Click()OnErrorGoToerrHandlerDimlAsLongl=grdList.TextMatrix(grdList.Row,1)gConn.Execute"deletefromstockwhere順序號(hào)="&lUnloadMeLoadMeMe.SQL="select*fromstock"Me.ShowExitSuberrHandler:MsgBoxErr.Description,vbCritical,"錯(cuò)誤"EndSubPrivateSubcmdEdit_Click()frmStock.mnSerial=CLng(grdList.TextMatrix(grdList.Row,1))frmStock.mbAddMode=TruefrmStock.ShowvbModalEndSubPrivateSubcmdFind_Click()frmFind.SQL=mRs.SourcefrmFind.ShowvbModalUnloadMeLoadMeIfTrim(frmFind.msResultSQL)<>""ThenMe.SQL="select*fromstockwhere"&frmFind.msResultSQLEndIfMe.ShowUnloadfrmFindEndSubPrivateSubcmdShowAII_Click()UnloadMeLoadMeMe.SQL="select*fromstock"Me.ShowEndSubPrivateSubForm_Load()DimiAsIntegerWithgrdList.Cols=8.TextMatrix(0,1)="".TextMatrix(0,2)="汽車名稱".TextMatrix(0,3)="供應(yīng)商名稱".TextMatrix(0,4)="進(jìn)貨數(shù)量".TextMatrix(0,5)="商品單價(jià)".TextMatrix(0,6)="進(jìn)貨日期".TextMatrix(0,7)="備注".FixedRows=1Fori=0To.Cols-1.ColAlignment(i)=0Nexti.FillStyle=flexFillRepeat.Col=0.Row=0.RowSel=1.ColSel=.Cols-1.CellAlignment=4.ColWidth(O)=100.ColWidth⑴=0.ColWidth(2)=1000.ColWidth(3)=1000.ColWidth(4)=1000.ColWidth(5)=1000.ColWidth(6)=1000.ColWidth(7)=1000.Row=1EndWithSetmRs=NewADODB.RecordsetEndSubPrivateSubForm_Resize()fraManage.Left=(Me.ScaleWidth-fraManage.Width)/2fraManage.Top=Me.ScaleHeight-200-fraManage.HeightgrdList.Top=200grdList.Width=Me.ScaleWidth-200grdList.Left=Me.ScaleLeft+100grdList.Height=Me.ScaleHeight-fraManage.Height-grdList.Top-200EndSubPrivateSubForm_Unload(CancelAsInteger)IfmRs.State<>adStateClosedThenmRs.CloseEndSubB進(jìn)貨信息編輯窗體代碼PrivateSubcmdCancel_Click()IfmbChangeThenIfMsgBox("保存當(dāng)前記錄的變化嗎? ",vbOKCancel+vbExclamation,"警告")=vbOKThenCallcmdOK_ClickEndIfEndIfUnloadMeUnloadfrmStockListLoadfrmStockListfrmStockList.SQL="select*fromstock"frmStockList.ShowEndSubPrivateSubcmdOK_Click()OnErrorGoToerrHandlerIftxtIntem(3).Text=""ThenMsgBox"字段不能為空,而且只能輸入數(shù)字 ",vbCritical,"錯(cuò)誤”EndIfIftxtIntem(4).Text=""ThenMsgBox"字段不能為空,而且只能輸入數(shù)字 ",vbCritical,"錯(cuò)誤”EndIfIfTrim(cboItem)=""ThenMsgBox"必須選擇汽車名稱",vbCritical,"錯(cuò)誤”cboltem.SetFocusExitSubEndIfIfNotIsDate(Trim(txtIntem(5)))ThenMsgBox"請(qǐng)輸入正確的日期格式! ",vbOKOnly+vbExclamation,"警告”txtIntem(5).SetFocusExitSubEndIfIfNotmbAddModeThengConn.Execute"deletefromstockwhere順序號(hào)="'&mnSerial&""'EndIfDimrsAsNewADODB.Recordsetrs.Open"select*fromstock",gConn,adOpenDynamic,adLockOptimisticrs.AddNewrs("汽車名稱")=cboItem.TextDimiAsIntegerFori=txtIntem.LBoundTotxtIntem.UBoundrs.Fields(i).Value=txtIntem(i)Nextirs.Updaters.ClosemnQuantity=CInt(txtlntem(3))-mnQuantitygConn.Execute"updateproductsset庫(kù)存數(shù)量=庫(kù)存數(shù)量+"&mnQuantity&"where 汽車名稱='"&cboItem.Text&"”'IfmbAddModeThenmbChange=True",vbOKOnly+vbExclamation,"添",vbOKOnly+vbExclamation,"添UnloadMeMe.ShowvbModalElseUnloadMefrmStockList.SQL="select*fromstock"frmStockList.ShowEndIfExitSuberrHandler:MsgBoxErr.Description,vbCritical,"錯(cuò)誤"EndSubPrivateSubForm_Load()OnErrorGoToerrHandlerDimrsAsNewADODB.Recordsetrs.Open"selectdistinet汽車名稱fromproducts",gConn,adOpenKeysetIfNotrs.EOFThencboltem.ClearDoWhileNotrs.EOFcboItem.AddItemrs("汽車名稱")rs.MoveNextLoopElse",vbOKOnly+MsgBox"",vbOKOnly+vbExclamation,"警告"ExitSubEndIfrs.CloseIfmbAddModeThenMe.Caption=Me.Caption&”添加"txtlntem(5)=Format(Date,"yyyy-mm-dd")txtlntem(3)=0txtlntem(4)=10mnQuantity=0ElseMe.Caption=Me.Caption&"修改”rs.Open"select*fromstockwhere順序號(hào)="&mnSerialIfNotrs.EOFThencboItem.Text=rs("汽車名稱")DimiAsIntegerFori=txtIntem.LBoundTotxtIntem.UBoundtxtlntem(i)=rs.Fields(i).ValueNextiEndIfmnQuantity=rs("進(jìn)貨數(shù)量")rs.CloseEndIfmbChange=FalseExitSuberrHandler:MsgBoxErr.Description,vbCritical,"錯(cuò)誤"EndSubPrivateSubtxtlntem_Change(lndexAsInteger)mbChange=TrueEndSubPrivateSubtxtlntem_GotFocus(lndexAsInteger)txtIntem(lndex).SelStart=0txtIntem(lndex).SelLength=Len(txtlntem(lndex))EndSub銷售信息管理模塊10.1窗體模塊的功能在該模塊中,包含兩個(gè)窗體:銷售信息列表窗體、銷售信息編輯窗體。銷售信息列表窗體以表格的形式列出系統(tǒng)中的銷售信息,并且為用戶提供了進(jìn)行各種操作的接口;銷售信息編輯窗體用于某一次銷售的信息,借助該窗體可以對(duì)某次銷售的信息進(jìn)行編輯,也可以向數(shù)據(jù)庫(kù)增加一個(gè)銷售信息。10.2工作流程該模塊所包含的功能如圖 24所示。圖24銷售信息管理模塊的子功能10.3窗體界面設(shè)計(jì)(1)銷售信息列表窗體,如圖 25(2)銷售信息編輯窗體如圖 2610.4窗體設(shè)計(jì)代碼A銷售信息列表窗體代碼圖25圖26PrivateSubcmdAdd_Click()frmSell.mbAddMode=TruefrmSell.ShowvbModalEndSubPrivateSubcmdDelete_Click()OnErrorGoToerrHandlerDimlAsLongl=grdList.TextMatrix(grdList.Row,1)gConn.Execute"deletefromsellwhere順序號(hào)="&lUnloadMeLoadMeMe.SQL="select*fromsell"Me.ShowExitSuberrHandler:MsgBoxErr.Description,vbCritical,"錯(cuò)誤"EndSubPrivateSubcmdEdit_Click()frmSell.mnSerial=CLng(grdList.TextMatrix(grdList.Row,1))frmSell.mbAddMode=TruefrmSell.ShowvbModalEndSubPrivateSubcmdFind_Click()frmFind.SQL=mRs.SourcefrmFind.ShowvbModalUnloadMeLoadMeIfTrim(frmFind.msResultSQL)<>""ThenMe.SQL="select*fromsellwhere"&frmFind.msResultSQLEndIfMe.ShowUnloadfrmFindEndSubPrivateSubcmdShowAII_Click()UnloadMeLoadMeMe.SQL="select*fromsell"Me.ShowEndSubPrivateSubForm_Load()DimiAsIntegerWithgrdList.Cols=8.TextMatrix(O,1)="".TextMatrix(O,2)="汽車名稱".TextMatrix(0,3)="顧客名稱".TextMatrix(0,4)="購(gòu)買數(shù)量".TextMatrix(0,5)="售出價(jià)格".TextMatrix(0,6)="銷售日期".TextMatrix(0,7)="備注".FixedRows=1Fori=0To.Cols-1.ColAlignment(i)=0Nexti.FillStyle=flexFillRepeat?Col=0.Row=0.RowSel=1.ColSel=.Cols-1.CellAlignment=4.ColWidth(O)=100.ColWidth⑴=0.ColWidth(2)=1000.ColWidth(3)=1000.ColWidth(4)=1000.ColWidth(5)=1000.ColWidth(6)=1000.ColWidth(7)=1000.Row=1EndWithSetmRs=NewADODB.RecordsetEndSubPrivateSubForm_Resize()fraManage.Left=(Me.ScaleWidth-fraManage.Width)/2fraManage.Top=Me.ScaleHeight-200-fraManage.HeightgrdList.Top=200grdList.Width=Me.ScaleWidth-200grdList.Left=Me.ScaleLeft+100EndSubPrivateSubForm_Unload(CancelAsInteger)IfmRs.State<>adStateClosedThenmRs.CloseEndSub(2)銷售信息編輯窗體代碼PrivateSubcmdCancel_Click()IfmbChangeThenIfMsgBox("保存當(dāng)前記錄的變化嗎? ",vbOKCancel+vbExclamation,"警告")=vbOKThenCallcmdOK_ClickEndIfEndIfUnloadMeUnloadfrmSellListLoadfrmSellListfrmSellList.SQL="select*fromsell"frmSellList.ShowEndSubPrivateSubcmdOK_Click()OnErrorGoToerrHandlerIftxtIntem(3).Text=""ThenMsgBox"字段不能為空,而且只能輸入數(shù)字 ",vbCritical,"錯(cuò)誤”EndIfIftxtIntem(4).Text=""ThenMsgBox"字段不能為空,而且只能輸入數(shù)字 ",vbCritical,"錯(cuò)誤”EndIfIfTrim(cboItem)=""ThenMsgBox"必須選擇汽車名稱",vbCritical,"錯(cuò)誤”cboItem.SetFocusExitSubEndIfIfNotIsDate(Trim(txtIntem(5)))ThenMsgBox"請(qǐng)輸入正確的日期格式! ",vbOKOnly+vbExclamation,"警告”txtIntem(5).SetFocusExitSubEndIfIfNotmbAddModeThengConn.Execute"deletefromsellwhere順序號(hào)="'&mnSerial&""'EndIfDimrsAsNewADODB.Recordsetrs.Open"select*fromsell",gConn,adOpenDynamic,adLockOptimisticrs.AddNewrs("汽車名稱")=cboItem.TextDimiAsIntegerFori=txtlntem.LBoundTotxtIntem.UBoundrs.Fields(i).Value=txtlntem(i)Nextirs.Updaters.ClosemnQuantity=CInt(txtlntem(3))-mnQuantity汽車gConn.Execute"updateproductsset庫(kù)存數(shù)量=庫(kù)存數(shù)量-"&mnQuantity&"where名稱='"&cboItem.Text&"”'汽車IfmbAddModeThenmbChange=FalseMsgBox"添加進(jìn)貨信息成功!繼續(xù)添加下一條進(jìn)貨信息 ",vbOKOnly+vbExclamation,"添加進(jìn)貨信息"UnloadMeMe.ShowvbModalElseUnloadMefrmSellList.SQL="select*fromsell"frmSellList.ShowEndIfExitSuberrHandler:MsgBoxErr.Description,vbCritical,"錯(cuò)誤"EndSubPrivateSubForm_Load()OnErrorGoToerrHandlerDimrsAsNewADODB.Recordsetrs.Open"selectdistinet汽車名稱fromproducts",gConn,adOpenKeysetIfNotrs.EOFThencboltem.ClearDoWhileNotrs.EOFcboltem.AddItemrs("汽車名稱")rs.MoveNextLoopElseMsgBox"當(dāng)前數(shù)據(jù)庫(kù)不包含任何的汽車信息。請(qǐng)先設(shè)置汽車信息! ",vbOKOnly+vbExclamation,"警告"ExitSubEndIfrs.CloseIfmbAddModeThenMe.Caption=Me.Caption&"添加"txtIntem(5)=Format(Date,"yyyy-mm-dd")txtIntem(3)=0txtIntem(4)=10mn

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論