




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、煙花爆竹經(jīng)銷管理系統(tǒng)摘要 無論是哪個(gè)銷售單位或是銷售商店要進(jìn)行商業(yè)活動(dòng),都有很多的銷售數(shù)據(jù)需要管理。手工管理這些繁雜數(shù)據(jù)的方式已經(jīng)不再適應(yīng)時(shí)代的潮流,實(shí)現(xiàn)數(shù)據(jù)規(guī)范化、自動(dòng)化的計(jì)算機(jī)管理是企事業(yè)單位高效運(yùn)作的必然要求。針對這一需求,通過一個(gè)多月的學(xué)習(xí),我開發(fā)了這個(gè)煙花爆竹經(jīng)銷管理系統(tǒng)。本系統(tǒng)是針對普通進(jìn)銷存系統(tǒng)的需求而設(shè)計(jì)的,可以有效地進(jìn)行數(shù)據(jù)交易管理,包括進(jìn)貨登記管理、銷售登記管理和數(shù)據(jù)的匯總、查詢,以及管理員的管理。通過這一系統(tǒng)可使以后采購能有的放矢,很好地避免了采購時(shí)的盲目性。開發(fā)本系統(tǒng)我使用了Visual Basic +Access兩個(gè)軟件。 Visual Basic是一種可視化的、面向
2、對象和采用事件驅(qū)動(dòng)的結(jié)構(gòu)化高級程序設(shè)計(jì)語言,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。 Microsoft Access作為一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是Windows 下最為流行的桌面數(shù)據(jù)庫管理系統(tǒng)。具有功能強(qiáng)大、界面友好、操作簡單、易學(xué)易用等優(yōu)點(diǎn),是中小型信息管理系統(tǒng)理想的開發(fā)環(huán)境。采用這兩種工具,我開發(fā)了煙花爆竹經(jīng)銷管理這個(gè)系統(tǒng)。用戶通過本系統(tǒng)可以方便的對數(shù)據(jù)進(jìn)行查詢和統(tǒng)計(jì),使平時(shí)那些繁鎖的數(shù)據(jù)變的簡單,明了,方便了用戶。目 錄摘要1第一部分 系統(tǒng)設(shè)計(jì) 1-1 系統(tǒng)功能設(shè)計(jì).2 1-2 功能模塊劃分.2 1-3 系統(tǒng)流程分析.3第二部分 數(shù)據(jù)庫設(shè)計(jì).3 2-1: 數(shù)據(jù)庫需求分析.4 2
3、-2:數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì).5 2-3:數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì).7第三部分 設(shè)計(jì)工程框架 3-1 創(chuàng)建工程9 3-2 建立主界面9 3-3 建立公共模塊11第四部分 建立窗體 4-1 登錄窗體134-1-1 添加控件134-1-2 窗體圖14 4-2 主窗體144-2-1 添加控件144-2-2 主窗體布局圖15 4-3 建立交易管理窗體164-3-1 進(jìn)貨窗體164-3-2 銷售登記174-3-3 商品管理19 4-4 建立用戶管理窗體214-4-1 添加、刪除用戶.214-4-2 修改用戶.23 4-5 創(chuàng)建瀏覽窗體.244-5-1 描述.244-5-2 添加控件.254-5-3 窗體圖.25
4、4-6 創(chuàng)建查詢窗體.26 4-6-1 描述.264-6-2 添加控件.274-6-3 窗體圖.28第五部分 結(jié)束語29參考文獻(xiàn).29附錄 :源程序代碼.30第一部分 系統(tǒng)設(shè)計(jì)1-1:系統(tǒng)功能設(shè)計(jì) 我由于長期的在日雜公司從事煙花爆竹的經(jīng)銷,并且使用手工管理,發(fā)現(xiàn)數(shù)據(jù)繁多,而且管理相當(dāng)復(fù)雜,這樣不僅容易出錯(cuò),而且工作量很大,給管理人員帶來了很大的麻煩。所以我就根據(jù)這一需求開發(fā)了煙花爆竹經(jīng)銷管理系統(tǒng)。希望它能為我們今后的工作帶來方便。本系統(tǒng)總體的功能是實(shí)現(xiàn)銷售公司銷售管理的系統(tǒng)化、規(guī)范化和自動(dòng)化。本系統(tǒng)要完成的功能有:系統(tǒng)登錄 包括用戶登錄、修改密碼、添加用戶、刪除用戶等。交易管理包括進(jìn)貨登記、銷
5、售登記、商品登記等。進(jìn)貨和銷售的主要交易都是在此進(jìn)行。每次交易(包括進(jìn)貨、銷售)都需要對日期、商品編號、產(chǎn)地、單價(jià)、數(shù)量、實(shí)付款等各項(xiàng)信息進(jìn)行記錄。 查看數(shù)據(jù)表通過此功能,可以查看進(jìn)貨、出貨、商品登記的各項(xiàng)記錄。實(shí)現(xiàn)各種數(shù)據(jù)表的瀏覽,包括進(jìn)貨表、銷售表、商品表。瀏覽時(shí),此數(shù)據(jù)表的所有信息項(xiàng)全部顯示。更直觀的讓經(jīng)營人員了解商品的各項(xiàng)記錄。查詢通過此功能,可以查詢到各種商品的利潤,及各商品的庫存量。幫助管理員了解數(shù)據(jù)。在進(jìn)貨時(shí)可以有的放矢。不會(huì)由于數(shù)據(jù)統(tǒng)計(jì)的不完善而造成不必要的損失,幫助經(jīng)銷人員在正當(dāng)?shù)慕?jīng)營中獲得更好的收益。1-2:功能模塊劃分從功能描述的內(nèi)容可以看到,本系統(tǒng)可以劃分為5個(gè)完整的功
6、能。根據(jù)這些功能,設(shè)計(jì)出系統(tǒng)的功能模塊,如圖1所示。圖1 系統(tǒng)功能模塊劃分1-3:系統(tǒng)流程分析 前述是對系統(tǒng)的功能模塊的劃分,這是系統(tǒng)總體設(shè)計(jì)的重要組成部分。為了對系統(tǒng)形成一個(gè)完整而全面的認(rèn)識(shí),現(xiàn)進(jìn)行系統(tǒng)流程分析。本系統(tǒng)的流程分析,如圖2所示。開始界面 失敗 用戶登錄 失敗達(dá)到3次 退出系統(tǒng) 成功 登記管理 進(jìn)貨登記 銷售登記 商品登記 瀏覽管理 商品瀏覽 進(jìn)貨明細(xì) 銷售明細(xì)查詢管理 利潤查詢 庫存查詢系統(tǒng)管理 添加、刪除用戶 更改用戶 圖2 系統(tǒng)流程分析在系統(tǒng)流程分析圖中可以看到,用戶有3次機(jī)會(huì)進(jìn)行身份認(rèn)證。如果3次輸入的用戶名和密碼都無法與數(shù)據(jù)庫中的數(shù)據(jù)匹配,則強(qiáng)制退出系統(tǒng),以防止非授權(quán)人
7、員進(jìn)入系統(tǒng),從而必須記錄用戶的錯(cuò)誤登錄次數(shù)。第二部分?jǐn)?shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞將直接對應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)可以提高存儲(chǔ)的效率,保證數(shù)據(jù)的完整性和一致性。另外,合理的數(shù)據(jù)庫結(jié)構(gòu)將非常有利于程序的實(shí)現(xiàn)。2-1: 數(shù)據(jù)庫需求分析設(shè)計(jì)數(shù)據(jù)庫系統(tǒng)時(shí)應(yīng)該首先充分了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來可能增加的需求。用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結(jié)構(gòu)能夠充分滿足各種信息的輸入和輸出。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。通過對
8、煙花爆竹經(jīng)銷管理的了解,總結(jié)出如下的需求信息:進(jìn)貨商品需要進(jìn)行管理,所以需要一個(gè)jinhuobiao。銷售商品需要進(jìn)行管理,也需要一個(gè)xiaoshoubiao。所有的商品需要放到一起進(jìn)行管理,同時(shí)也需要一個(gè)shangpingbiao。系統(tǒng)管理員需要進(jìn)行統(tǒng)一管理,還需要一個(gè)guanliyuanbiao。只有管理員登錄之后才可以使用系統(tǒng)。高級管理員不允許刪除。進(jìn)貨、銷售、商品信息都可進(jìn)行瀏覽和刪除。商品的利潤和庫存都可進(jìn)行查詢。經(jīng)過上述系統(tǒng)功能分析和需求總結(jié),考慮到將來功能上的擴(kuò)展,設(shè)計(jì)如下的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):“管理員表”中包括有管理員、密碼字段。“進(jìn)貨表”中包括有ID、記錄日期、商品編號、產(chǎn)地、
9、單價(jià)、數(shù)量、 實(shí)付款字段?!吧唐繁怼卑ㄉ唐肪幪?、商品名、產(chǎn)地、廠商、單價(jià)字段?!颁N售表”包括ID、記錄日期、商品編號、產(chǎn)地、單價(jià)、數(shù)量、實(shí)付款 字段。 “管理員表”、“商品表”、“進(jìn)貨表”、“銷售表”。由于開發(fā)時(shí)使用的數(shù)據(jù)量比較小,因此這些表都集中建立在同一個(gè)名為yhbzdate的數(shù)據(jù)庫中。數(shù)據(jù)庫建好以后,選擇“工具”菜單“數(shù)據(jù)庫實(shí)用工具”“轉(zhuǎn)換數(shù)據(jù)庫”“到早期Access數(shù)據(jù)庫版本”,將數(shù)據(jù)庫轉(zhuǎn)換成早期數(shù)據(jù)庫版本,以便實(shí)現(xiàn)兼容。2-2:數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)本實(shí)例根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體有:商品信息實(shí)體,進(jìn)行信息實(shí)體,銷售信息實(shí)體,管理員信息實(shí)體。各個(gè)實(shí)體具體的描述E-R圖如下。商品信息實(shí)體
10、E-R圖:商品信息商品編號商品名產(chǎn)地廠商單價(jià) 進(jìn)貨信息進(jìn)貨信息實(shí)體E-R圖: 實(shí)付款數(shù)量單價(jià)產(chǎn)地商品編號記錄日期ID銷售信息銷售信息實(shí)體E-R圖:數(shù)量實(shí)付款單價(jià)產(chǎn)地商品編號記錄日期ID管理員信息實(shí)體E-R圖:管理員信息密碼用戶名2-3:數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)“管理員表”中包括有管理員、密碼字段。結(jié)構(gòu)如表1所示。表1 管理員表結(jié)構(gòu)(guanliyuanbiao)編號字段名稱數(shù)據(jù)類型說明1管理員文本主鍵2密碼文本“進(jìn)貨表”中包括有ID、記錄日期、商品編號、產(chǎn)地、單價(jià)、數(shù)量、實(shí)付款字段。結(jié)構(gòu)如表2所示。表2 進(jìn)貨表結(jié)構(gòu)( jinhuobiao)編號字段名稱數(shù)據(jù)類型說明1ID自動(dòng)編號主鍵2記錄日期日期、時(shí)
11、間3商品編號文本4產(chǎn)地文本5單價(jià)貨幣6數(shù)量數(shù)字7實(shí)付款貨幣“商品表”包括商品編號、商品名、產(chǎn)地、廠商、單價(jià)字段。結(jié)構(gòu)如表3所示。表3 商品表結(jié)構(gòu)(shangpingbiao)編號字段名稱數(shù)據(jù)類型說明1商品編號文本2商品名文本3產(chǎn)地文本4廠商文本5單價(jià)貨幣“銷售表”包括ID、記錄日期、商品編號、產(chǎn)地、單價(jià)、數(shù)量、實(shí)付款字段。結(jié)構(gòu)如表4所示。表4 銷售表結(jié)構(gòu)(xiaoshoubiao)編號字段名稱數(shù)據(jù)類型說明1ID自動(dòng)編號主鍵2記錄日期日期、時(shí)間3商品編號文本4產(chǎn)地文本5單價(jià)貨幣6數(shù)量數(shù)字7實(shí)付款貨幣第三部分設(shè)計(jì)工程框架做好充分的系統(tǒng)設(shè)計(jì)準(zhǔn)備工作以后,接著應(yīng)該創(chuàng)建工程并設(shè)計(jì)工程的框架。3-1:創(chuàng)建
12、工程先創(chuàng)建工程存放的目錄。運(yùn)行Visual basic 6.0 主程序,并選擇新建“標(biāo)準(zhǔn)EXE”工程。新建工程后,在Visual basic 窗體中有一個(gè)默認(rèn)的窗體Form1,將在此基礎(chǔ)上設(shè)計(jì)系統(tǒng)的主界面。并將此工程命名為jr,并與數(shù)據(jù)庫文件存放在同一文件夾下。將form窗體保存為“”。3-2:建立主界面系統(tǒng)的主界面完成的功能:單擊“進(jìn)入”進(jìn)入系統(tǒng)登錄,顯示登錄窗體。單擊“退出”退出系統(tǒng),主窗體關(guān)閉。 用到的主要控件:timer控件為了使界面優(yōu)化,“進(jìn)入”和“退出”均采用標(biāo)簽label,且label的mousepointer 屬性均設(shè)為99。Mouseicon屬性都設(shè)為c:windowscur
13、sorsharrow.cur。各控件的屬性值請參見表5 表5 控件屬性設(shè)置 控件屬性屬性值Timerinterval210LabelNamejrlabelcaption進(jìn)入LabelNamefqlabelcaption放棄imagestretchtrue說明: 在我們剛剛建立工程時(shí),工程的名稱最好用英文,工程中窗體的名稱最好也用英文,以防止系統(tǒng)不兼容時(shí)出現(xiàn)亂碼。Stretch是設(shè)置圖片大小來適應(yīng)image大小的,這樣界面有多大,圖片就多大,會(huì)使整體效果變好。窗體如圖所示 圖主界面圖 為使工程在運(yùn)行時(shí)更加美觀,把除form1以外的窗體的mdichild屬性均設(shè)為true,再為工程添加一個(gè)MDI窗
14、體,name屬性設(shè)為form00。使這些窗體在form00中運(yùn)行。其窗體如圖4 窗體圖4 form00窗體圖 3-3 :建立公共模塊在visual basic 中,我們用公共模塊來存放整個(gè)工程項(xiàng)目公用的函數(shù),全局變量,這樣有利于代碼的效率和維護(hù)。 選擇“工程”菜單中的“添加模塊”,為項(xiàng)目添加一個(gè)mypaid,保存為“”。這就可以為公共模塊添加代碼了。Option ExplicitPublic iflag As IntegerPu Dim strconnection As String Dim strarray() As String strconnection = provider =micr
15、osoft.jet.oledb.4.0;data source= & App.Path & yhbzdate.mdb; strarray = Split(sql) cont.Open strconnection If StrComp(UCase$(strarray(0), select, vbTextCompare) = 0 Then rs.Open Trim$(sql), cont, adOpenKeyset, adLockOptimistic Set transactsql = rs iflag = 1 Else cont.Execute sql iflag = 1 End Iftrans
16、actsql_exit: Set rs = Nothing Set cont = Nothing Exit Functiontransactsql_error: iflag = 2 Resume transactsql_exitEnd FunctionPublic Sub OpenTable(pAdo As Adodc, pRecordSource As String) 打開一個(gè)表,得到一個(gè)數(shù)據(jù)集 With pAdo .connectionstring = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & yhbzdate.m
17、db;Persist Security Info=False .CommandType = adCmdUnknown .RecordSource = pRecordSource .Refresh End WithEnd Sub說明:在系統(tǒng)中,每個(gè)模塊都要使用數(shù)據(jù)庫。通過transactsql函數(shù),我們就不需要在每次數(shù)據(jù)庫操作中都重復(fù)輸入數(shù)據(jù)庫的連接,取結(jié)果和數(shù)據(jù)庫的關(guān)閉等類似操作的代碼,做到了程序的模塊化。這樣,后面所有要用到的添加,刪除,查詢和修改等操作都可以通過調(diào)用該函數(shù)來完成,得到相應(yīng)的結(jié)果.第四部分建 立 窗 體4-1: 登錄窗體用戶要使用本系統(tǒng),首先要通過系統(tǒng)的身分驗(yàn)證,這個(gè)過程叫做
18、登錄。登錄窗體需要完成的任務(wù)是根據(jù)用戶名和密碼來判斷是否能進(jìn)入系統(tǒng)。創(chuàng)建一個(gè)新窗體,設(shè)置窗體名為“yanzhengform”。在系統(tǒng)流程分析圖中可以看到,用戶有3次機(jī)會(huì)進(jìn)行身份認(rèn)證。如果3次輸入的用戶名和密碼無法與數(shù)據(jù)庫中的數(shù)據(jù)匹配,則強(qiáng)制退出系統(tǒng)。4-1-1:添加控件為“登錄界面”窗體加入各控件,其中各textbox控件的屬性text都清空,其余控件的屬性如表6所示。控件屬性屬性值LabelCaption用戶名:LabelCaption密碼:CommandNamecmdquedingCaption登錄CommandNamecmdquxiaoCaption退出表6 控件屬性設(shè)置4-1-2: 窗
19、體圖 “登錄界面”的窗體布局如圖5示。圖5 “登錄界面”窗體4-2: 主窗體主窗體是負(fù)責(zé)連接進(jìn)銷存功能的通道,通過此窗體可以選擇進(jìn)入您需要的服務(wù)。主窗體完成的功能:單擊“確定”進(jìn)入您需要的服務(wù),顯示相應(yīng)窗體。單擊“退出”如果您選擇提示框中的“確定”,則退出系統(tǒng)。如 果選擇“取消”,則系統(tǒng)繼續(xù)運(yùn)行。4-2-1:添加控件在主窗體中主要用到了frame、combobox、image等控件??丶傩匀绫?所示。控件屬性屬性值FrameCaption選擇您需要的服務(wù)ComboBoxText商品登記CommandNameCmdqdCaption確定CommandNamecmdtcCaption退出表7 控
20、件屬性設(shè)置4-2-2:主窗體布局圖主窗體布局圖,如圖6示 圖6“主窗體”布局圖4-3:建立交易管理窗體4-3-1:進(jìn)貨窗體 創(chuàng)建一個(gè)新窗體,設(shè)置窗體各為“jhdjform”。通過此窗體,您可以對進(jìn)貨商品的各項(xiàng)內(nèi)容進(jìn)行登記。1窗體功能描述對銷售商品進(jìn)行記錄和刪除。點(diǎn)擊“添加”則對進(jìn)貨商品進(jìn)行添加。如果在添寫各項(xiàng)內(nèi)容時(shí)有不完整的,則出現(xiàn)提示框“請完整填寫各項(xiàng)數(shù)據(jù)!”。若有格式不正確的,則出現(xiàn)提示框“請正確輸入!”。若各項(xiàng)內(nèi)容均正確,則顯示“記錄添加成功”提示框。點(diǎn)擊“返回”時(shí),系統(tǒng)自動(dòng)返回到主窗體中。.添加控件 在此窗體中用到的textbox控件的屬性text都清空。其余控件的屬性如表8所示。控件
21、屬性屬性值CommandNamecmdtianjiaCaption添加CommandNamecmdscCaption刪除CommandNamecmdfanhuiCaption返回表8 控件屬性設(shè)置窗體圖“進(jìn)貨登記”的窗體如圖7示圖7“進(jìn)貨登記”窗體圖 在此窗體中用到的Dtpicker控件,雖然集成在Visual basic 6.0中,但只是可選項(xiàng)。因此在創(chuàng)建項(xiàng)目后,需要為項(xiàng)目添加Dtpicker。添加方法如下:在“工具箱”單擊鼠標(biāo)右鍵,出現(xiàn)一個(gè)彈出式菜單。在彈出工菜單中單擊“部件”選項(xiàng),即出現(xiàn)可增加的控件列表。在“部件”對話框中列出了微軟公司的一些控件類型,選擇 “Microsoft”控件,確
22、定后可以發(fā)現(xiàn)控件已經(jīng)加入到“工具箱”中,可以作為制作窗體的工具了。4-3-2: 銷售登記創(chuàng)建一個(gè)新窗體,設(shè)置窗體名為“xiaoshouform”。通過此窗體,您可以對銷售商品的各項(xiàng)內(nèi)容進(jìn)行登記。這樣可以更方便的了解各種商品的銷售情況。幫助管理員在進(jìn)貨時(shí)進(jìn)行參考。這樣就不會(huì)因?yàn)閷︿N售的不了解而造成不必要的人力和財(cái)力的浪費(fèi)。1窗體功能對銷售商品進(jìn)行記錄和刪除。點(diǎn)擊“添加”則銷售商品進(jìn)行添加。如果在添寫各項(xiàng)內(nèi)容時(shí)有不完整的,則出現(xiàn)提示框“請完整填寫各項(xiàng)數(shù)據(jù)!”。若有格式不正確的,則出現(xiàn)提示框“請正確輸入!”。若各項(xiàng)內(nèi)容均正確,則顯示“記錄添加成功”提示框。點(diǎn)擊“返回”時(shí),系統(tǒng)自動(dòng)返回到主窗體中。添加
23、控件 在此窗體中用到的textbox控件的屬性text都清空。其余控件的屬性如表所示??丶傩詫傩灾礐ommandNamecmdtianjiaCaption添加CommandNamecmdscCaption刪除CommandNamecmdfanhuiCaption返回表 控件屬性設(shè)置窗體圖“銷售登記”的窗體如圖8所示。 圖8“銷售登記”窗體圖4-3-3: 商品管理創(chuàng)建一個(gè)新窗體,設(shè)置窗體名為“shangpingform”。通過此窗體,您可以對商品進(jìn)行統(tǒng)計(jì)。這樣可以幫助管理員了解商品情況。窗體功能對商品進(jìn)行添加,刪除。當(dāng)點(diǎn)擊“添加”時(shí),則商品各項(xiàng)內(nèi)容進(jìn)行添加。如果在添寫各項(xiàng)內(nèi)容時(shí)有不完整的,則出
24、現(xiàn)提示框“請完整填寫各項(xiàng)數(shù)據(jù)!”。若有格式不正確的,則出現(xiàn)提示框“請正確輸入!”。若所添內(nèi)容在數(shù)據(jù)庫中已經(jīng)存在,則顯示“有此編號!”。當(dāng)各項(xiàng)內(nèi)容均正確時(shí),則顯示“添加成功”提示框。點(diǎn)擊“返回”時(shí) 動(dòng)返回到主窗體中。添加控件在此窗體中用到的textbox控件的屬性text都清空。其余控件的屬性如表10所示??丶傩詫傩灾礐ommandNamecmdtianjiaCaption添加CommandNamecmdscCaption刪除CommandNamecmdfanhuiCaption返回表10 控件屬性設(shè)置窗體圖“銷售登記”的窗體如圖9所示。 圖9“商品登記”4-4:建立用戶管理窗體4-4-1:添
25、加、刪除用戶1描述 在此管理中,管理員之存在交接班,應(yīng)該讓多個(gè)管理員具有系統(tǒng)管理的權(quán)限,所以要根據(jù)需要添加/刪除用戶。添加一個(gè)普通窗體,caption屬性為“添加/刪除用戶”。功能介紹:當(dāng)點(diǎn)擊“添加” 添加用戶。如果在添加時(shí),有不完整的內(nèi)容,則出現(xiàn)提示框“用戶名和密碼不能為空!”;若輸入的用戶名在數(shù)據(jù)庫中已經(jīng)存在,則出現(xiàn)提示框“該用戶已經(jīng)存在!”;當(dāng)兩次密碼輸入不同時(shí),出現(xiàn)提示框“兩次輸入密碼不同!”;當(dāng)各項(xiàng)內(nèi)容均正確時(shí),出現(xiàn)提示框“用戶添加成功!”。當(dāng)點(diǎn)擊“刪除” 刪除用戶。如果在輸入內(nèi)容時(shí),有不完整的內(nèi)容,則出現(xiàn)提示框“用戶名和密碼不能為空!”;若輸入的用戶名在數(shù)據(jù)庫中不存在,則出現(xiàn)提示框
26、“該用戶不存在!”;當(dāng)兩次密碼輸入不同時(shí),出現(xiàn)提示框“兩次輸入密碼不同!”;當(dāng)各項(xiàng)內(nèi)容均正確時(shí),出現(xiàn)提示框“確定刪除?”。當(dāng)點(diǎn)擊“確定”時(shí),出現(xiàn)“刪除成功!”提示框。當(dāng)點(diǎn)擊“取消”時(shí),取消刪除。當(dāng)點(diǎn)擊“返回” 系統(tǒng)自動(dòng)返回主窗體。2添加控件 在此窗體中用到的textbox控件的屬性text都清空。其余控件的屬性如表11所示??丶傩詫傩灾礚abelCaption用戶ID:LabelCaption用戶密碼:LabelCaption密碼確認(rèn):CommandCaption添加CommandCaption刪除CommandCaption返回表11控件屬性設(shè)置3窗體圖“添加/刪除用戶”窗體圖,如圖10所
27、示。圖10 “添加/刪除用戶“窗體圖4-4-2:修改用戶1、描述為提高系統(tǒng)的安全性,防止密碼泄露,合法用戶應(yīng)該不定時(shí)的修改自己的密碼。為工程添加一個(gè)form窗體,caption為“修改密碼”。功能:當(dāng)點(diǎn)擊“確定”時(shí) 修改用戶密碼。 如果輸入的用戶名在系統(tǒng)中不存在,則出現(xiàn)提示框“無此用戶名!”;如果輸入的用戶名與系統(tǒng)中的符合,單擊“確定”,text4和text2出現(xiàn)。此時(shí)輸入新密碼,若兩次輸入的密碼不一致,則出現(xiàn)提示框“兩次密碼不一致!”;否則出現(xiàn)提示框“密碼修改成功”。當(dāng)點(diǎn)擊“返回”時(shí) 系統(tǒng)自動(dòng)返回主窗體。2、添加控件在此窗體中用到的textbox控件的屬性text都清空。其余控件的屬性如表1
28、2所示??丶傩詫傩灾礚abelCaption用戶ID:LabelCaption用戶舊密碼:LabelCaption輸入新密碼:LabelCaption確認(rèn)新密碼:CommandCaption確定CommandCaption返回表12控件屬性設(shè)置3、窗體圖“修改用戶”的窗體圖,如圖11所示。 圖11 “修改用戶”窗體圖4-5: 創(chuàng)建瀏覽窗體 4-5-1:描述讓管理員更直觀的對數(shù)據(jù)進(jìn)行分析,我們創(chuàng)建了此窗體,它可以顯示數(shù)據(jù)庫中所有進(jìn)貨登記,銷售登記,商品登記的內(nèi)容。功能介紹:當(dāng)“checkbox”的屬性為真時(shí),相應(yīng)的MSHFlxeGrid控件顯示數(shù)據(jù)庫中的全部內(nèi)容。當(dāng)“checkbox” 的屬性
29、為假時(shí),相應(yīng)的MSHFlxeGrid將不顯示數(shù)據(jù)。當(dāng)點(diǎn)擊“返回” 系統(tǒng)自動(dòng)返回到主窗體。4-5-2: 添加控件 此窗體中主要用到了mshflxegrid ,checkbox控件。此瀏覽功能的實(shí)現(xiàn),是通過MSHFlxeGrid控件實(shí)現(xiàn)的。在此窗體中用到mshflxegrid的控件,雖然集成在Visual basic 6.0中,但只是可選項(xiàng)。因此在創(chuàng)建項(xiàng)目后,需要為項(xiàng)目添加mshflxegrid。其添加方法如同前面所述。選擇“Microsoft”其它控件的屬性參見表13??丶傩詫傩灾礐heckboxCaption商品瀏覽CheckboxCaption進(jìn)貨明細(xì)CheckboxCaption出貨明細(xì)
30、MshflxegridMshflxegridMshflxegridLabelCaption返回表13 控件屬性設(shè)置4-5-3:窗體圖“瀏覽窗體”如圖12所示。 圖12 “瀏覽窗體”窗體圖4-6: 創(chuàng)建查詢窗體4-6-1:描述此窗體是供管理員通過商品編號查詢商品利潤和庫存量的。使用戶可以在進(jìn)貨時(shí)有個(gè)很好的參考。不會(huì)因?yàn)閷ι唐返牟涣私舛斐刹槐匾呢?cái)力浪費(fèi)。能夠在合法的經(jīng)營中贏的更多的收益。創(chuàng)建一個(gè)新窗體,caption屬性為“查詢窗口”。功能描述:當(dāng)checkbox屬性為真,且combobox中有取值,點(diǎn)擊“確定”時(shí),在相應(yīng)的Mshflxegrid中顯示數(shù)據(jù)。當(dāng)checkbox屬性為假, Msh
31、flxegrid中不顯示數(shù)據(jù)。當(dāng)點(diǎn)擊“返回”時(shí) 系統(tǒng)自動(dòng)返回到主窗體。4-6-2: 添加控件 此窗體中主要用到了mshflxegrid ,checkbox,combobox控件。此瀏覽功能的實(shí)現(xiàn),是通過MSHFlxeGrid控件實(shí)現(xiàn)的。由于MSHFlxeGrid控件已經(jīng)在工程中出現(xiàn),則不需要再次添加,可直接使用。其它控件屬性參見表14??丶傩詫傩灾礐heckboxCaption利潤查詢Checkboxcaption庫存查詢LabelCaption輸入商品編號LabelCaption輸入商品編號ComboboxComboboxMSHFlxeGridMSHFlxeGridLabelCaption
32、確定labelCaption返回表14 控件屬性設(shè)置4-6-3: 窗體圖 “查詢窗口”如圖13所示。 圖13 “查詢窗口”窗體圖第五部分結(jié) 束 語通過一個(gè)多月的努力學(xué)習(xí),各位老師和同學(xué)的鼎力幫助,這份“煙花爆竹經(jīng)銷管理”系統(tǒng)終于“問世”了。希望它可以有自己的一片天地,為需要它的人做出一些貢獻(xiàn)。在老師和同學(xué)的精心調(diào)試以后,它仍然存在一些不足,辟如: 查詢窗體是一個(gè)高級窗口,一般管理員是不允許查看的,但是在設(shè)計(jì)時(shí)沒有注意到這一點(diǎn);瀏覽窗體中的刪除方法不太合理。報(bào)表的設(shè)計(jì)有點(diǎn)過于簡單等等。在這次畢業(yè)設(shè)計(jì)中,我學(xué)到了不少東西,同時(shí)也對Visual basic 6.0 和 Access 2002 更加的
33、了解了。給我以后的工作和生活幫助很大。在此我再次感謝各位老師和同學(xué)的鼎力幫助,希望我們的設(shè)計(jì)都有會(huì)有用武之地。更希望老師們在以后的工作中會(huì)更加順利,生活美滿幸福。同時(shí)也希望我們都能在畢業(yè)之后找到自己理想的工作。參 考 文 獻(xiàn)1、Visual Basic +Access數(shù)據(jù)庫項(xiàng)目開發(fā)實(shí)踐 周國民編著 中國鐵道出版社2、全國計(jì)算機(jī)等級考試二級教程-Visual Basic 語言程序設(shè)計(jì) 劉炳文、楊明福、陳定中 編 高等教育出版社附錄:form1窗體代碼。(jrform)Private Sub Form_Activate()Image1.Left = 0Image1.Top = 0End SubPr
34、ivate Sub fqlabel_Click() Unload MeEnd SubPrivate Sub jrlabel_Click() Form2.Left = 3500 Form2.Top = 2000 Unload MeEnd SubPrivate Sub Timer1_Timer() Label1.ForeColor = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd) Label2.ForeColor = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd)Label3.ForeColor = RGB(255 * Rnd, 255 * R
35、nd, 255 * Rnd) Label4.ForeColor = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd) Label5.ForeColor = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd) Label6.ForeColor = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd) Label7.ForeColor = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd) Label8.ForeColor = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd)End Su
36、bForm2窗體圖代碼(yanzhengform):Dim CheckCount As IntegerPrivate Sub Form_Load()Dim connectionstring As String connectionstring = provider=Microsoft.Jet.oledb.4.0; & _ data source= & App.Path & yhbzdate.mdb conn.Open connectionstringEnd SubPrivate Sub Form_Unload(Cancel As Integer) Set rstemp = Nothing En
37、d SubPrivate Sub cmdqueding_Click() Dim sql As String sql = select * from guanliyuanbiao where 管理員= & Trim(Text1.Text) & and 密碼= & Trim(Text2.Text) & Set rstemp.ActiveConnection = conn rstemp.Open (sql)If Text1.Text = Or Text2.Text = Then MsgBox 請完整的填寫各項(xiàng)! Text1.Text = Text2.Text = End IfIf rstemp.EO
38、F = False Then MsgBox 登錄成功! Unload Me Form3.Left = 3500 Form3.Top = 1000Else MsgBox 密碼錯(cuò)誤! Text1.Text = Text2.Text = End If CheckCount = CheckCount + 1If CheckCount = 3 Then MsgBox 錯(cuò)誤輸入已達(dá)三次,系統(tǒng)退出!, vbOKOnly + vbExclamation, 警告 End Exit SubEnd IfEnd SubPrivate Sub cmdquxiao_Click() End End SubForm3窗體圖代
39、碼(mainform):Dim x As IntegerPrivate Sub Form_Load() Combo1.AddItem 進(jìn)貨登記 Combo1.AddItem 銷售登記Combo1.AddItem 商品登記 Combo1.AddItem 瀏覽窗口 Combo1.AddItem 查詢窗口 Combo1.AddItem 添加、刪除用戶 Combo1.AddItem 修改密碼End SubPrivate Sub cmdtc_Click() msg$ = 確定退出系統(tǒng)嗎? Title$ = 提示 x = MsgBox(msg$, 33, Title$) If x = 1 Then End
40、 Else End IfEnd SubPrivate Sub cmdqd_Click() If Combo1.Text = 進(jìn)貨登記 Then Form4.Left = 3000Form4.Top = 500 ElseIf Combo1.Text = 銷售登記 Then Form5.Left = 3000 Form5.Top = 500ElseIf Combo1.Text = 商品登記 Then Form6.Left = 3000 Form6.Top = 500 ElseIf Combo1.Text = 修改密碼 Then Form7.Left = 3500 Form7.Top = 1000
41、ElseIf Combo1.Text = 添加、刪除用戶 Then Form8.Left = 3500 Form8.Top = 2000 ElseIf Combo1.Text = 瀏覽窗口 Then Form9.Left = 500 Form9.Top = 50 ElseIf Combo1.Text = 查詢窗口 Then Form0.Left = 2000 Form0.Top = 50 End IfEnd SubForm4窗體代碼(jfdjform): Private Sub Form_Load() connectionstring = provider=Microsoft.Jet.oled
42、b.4.0; & _ data source= & App.Path & yhbzdate.mdb conn.Open connectionstring End Sub Private Sub Form_Unload(Cancel As Integer) Set rstemp = NothingSet fd = Nothing End Sub Sub cleardata() DTPicker1.Value = Date Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = End Sub Sub appendrecor
43、d() Dim bs_money As Long bs_money = Val(Text4.Text) * Val(Text5.Text)If Trim(DTPicker1.Value) = Or Trim(Text2.Text) = Or ext) = Or Text3.Text = Or Text4.Text = Or Text5.Text = Then MsgBox 請完整填寫各項(xiàng)數(shù)據(jù)! cleardata Exit Sub Else Text6.Text = bs_money Set rstemp = New ADO Dim sql As Stringsql = select * fr
44、om jinhuobiao where 商品編號= & Trim(Text2.Text) & Set rstemp.ActiveConnection = conn rstemp.Open sql, conn, adOpenKeyset, adLockPessimistic If IsNumeric(Text5.Text) And IsNumeric(Text4.Text) Then MsgBox 記錄填寫成功! cleardata Else MsgBox 請正確輸入! Text4.Text = Text5.Text = Exit Sub End If End If End Sub Privat
45、e Sub cmdtianjia_Click() appendrecord End Sub Private Sub cmdfanhui_Click() Unload Me Set conn = Nothing End SubForm5窗體代碼(xiaoshouform): Private Sub Form_Load() Dim connectionstring As String connectionstring = provider=Microsoft.Jet.oledb.4.0; & _ data source= & App.Path & yhbzdate.mdb conn.Open co
46、nnectionstrin End Sub Private Sub Form_Unload(Cancel As Integer) Set rstemp = Nothing Set fd = Nothing End Sub Sub cleardata() DTPicker1.Value = Date Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = End Sub Sub appendrecord() Dim bs_money As Long bs_money = Val(Text4.Text) * Val(Text
47、5.Text) If Trim(DTPicker1.Value) = Or Trim(Text2.Text) = Or Trim(Text3.Text) = Or Text3.Text = Or Text4.Text = Or Text5.Text = Then MsgBox 請完整填寫各項(xiàng)數(shù)據(jù)! cleardata Exit Sub Else Text6.Text = bs_money Dim sql As Stringsql = select * from xiaoshoubiao where 商品編號= xt) & Set rstemp.ActiveConnection = conn r
48、stemp.Open sql, conn, adOpenKeyset, adLockPessimistic If IsNumeric(Text5.Text) And IsNumeric(Text4.Text) Then MsgBox 記錄填寫成功! cleardata Else MsgBox 請正確輸入!Text4.Text = Text5.Text = Exit Sub End If End If End Sub Private Sub cmdfanhui_Click() Unload Me Fo Set conn = Nothing End Sub Private Sub cmdtianj
49、ia_Click() appendrecord End SubForm6窗體代碼(shangpingform): Private Sub Form_Load() connectionstring = provider=Microsoft.Jet.oledb.4.0; & data source= & App.Path & yhbzdate.mdb conn.Open connectionstring End Sub Private Sub Form_Unload(Cancel As Integer)Set rstemp = Nothing Set fd = Nothing End Sub Su
50、b cleardata()Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = End Sub Private Sub cmdfanhui_Click()Unload MecSet conn = Nothing End Sub Private Sub cmdtianjia_Click()If Trim(Text1.Text) = Or Trim(Text2.Text) = Or Trim(Text3.Text) = Or Text3.Text = Or Text4.Text = Or Text5.Text = Then
51、MsgBox 請完整填寫各項(xiàng)數(shù)據(jù)!CleardatatFocus Exit SubElse Dim sql As String sql = select * from shangpingbiao where 商品編號= & Trim(Text1.Text) & Set rstemp.ActiveConnection = conn rstemp.Open sql, conn, adOpenKeyset, adLockPessimistic If IsNumeric(Text5.Text) Then If rstemp.EOF = True ThenMsgBox 記錄填寫成功!Cleardata
52、Else MsgBox 有此編號 Cleardata Exit Sub End If Else MsgBox 請正確輸入! Text5.Text = Exit SubEnd If End If End SubForm7窗體代碼(xiugaiform): Dim rs As Boolean Private Sub Form_Load()connectionstring = provider=Microsoft.Jet.oledb.4.0; &data source= & App.Path & yhbzdate.mdbconn.Open connectionstring rs = False En
53、d Sub Private Sub cmdqd_Click()Dim sql As StringIf rs = False Thenrstemp.CursorLocation = adUseClientrstemp.CursorType = adOpenStatic rstemp.LockType = adLockPessimisticsql = select * from guanliyuanbiao where 管理員= & Trim(text3.Text) & and 密碼= & Trim(Text1.Text) & rstemp.Open sql, connIf rstemp.EOF
54、= True And rstemp.BOF = True ThenMsgBox 無此用戶名!text3.Text = Text1.Text = Exit SubEnd IfIf rstemp.EOF = False ThenText4.Visible = TrueText2.Visible = Truers = TrueExit SubEnd IfElseIf Trim(Text4.Text) Trim(Text2.Text) Then MsgBox 兩次密碼不一致!, vbOKOnly + vbExclamation, xt = Text2.Text = End IfIf Text4.Tex
55、t And Text2.Text Thensql = select * from guanliyuanbiao where 管理員= & Trim(text3.Text) & rstemp.CursorLocation = adUseClientrstemp.Open sql, conn, adOpenKeyset, adLockPessimisticMsgBox 密碼修改成功text3.Text = Text1.Text = Text4.Text = Text2.Text = Text4.Visible = FalseText2.Visible = False rs = FalseEnd I
56、f End If End Sub Private Sub cmdfh_Click()Unload Me End SubForm8窗體代碼(tianjiaform):Private Sub Form_Load() Text1.Text = Text2.Text = End SubPrivate Sub cleardata() Text1.Text = Text2.Text = text3.Text = End Sub Private Sub cmdsc_Click()Dim sql As String Dim sql2 As StringDim x As Integersql = select
57、* from guanliyuanbiaosql2 = select * from guanliyuanbiao where 管理員= & Text1.Text & If Trim(Text1.Text) = Or Trim(Text2.Text) = Or Trim(text3.Text) = Then MsgBox 用戶名和密碼不能為空!, vbOKOnly CleardataElse Set rs = transactsql(sql2) If rs.EOF = True ThenMsgBox 該用戶不存在!, vbOKOnly + vbExclamation, 提示CleardataEx
58、it Sub ElseIf Text2.Text text3.Text Then MsgBox 兩次輸入密碼不同!, vbOKOnly Cleardata ElseSet rs = transactsql(sql2) If Text1.Text = yjl Then MsgBox 些用戶為高級用戶,你無權(quán)刪除! Cleardata Else msg$ = 確定刪除? Title$ = 提示 x = MsgBox(msg$, 33, Title$) If x = 1 Then MsgBox 刪除成功!, vlokonly, 提示 Cleardata ElseIf x = 2 Then End I
59、f Exit SubEnd If End If End IfEnd If End Sub Private Sub cmdtj_Click()Dim sql As StringDim sql2 As Stringsql = select * from guanliyuanbiaosql2 = select * from guanliyuanbiao where 管理員= & Text1.Text & If Trim(Text1.Text) = Or Trim(Text2.Text) = Or Trim(text3.Text) = Then MsgBox 用戶名和密碼不能為空!, vbOKOnly
60、 CleardataElse Set rs = transactsql(sql2) If rs.EOF = False Then MsgBox 該用戶已經(jīng)存在!, vbOKOnly + vbExclamation, 提示 Cleardata Exit Sub Else If Text2.Text text3.Text ThenMsgBox 兩次輸入密碼不同!, vbOKOnlyCleardata ElseSet rs = transactsql(sql)rs.Fields(0) = Trim(Text1.Text)rs.Fields(1) = Trim(Text2.Text)MsgBox 用戶
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)設(shè)備購買合同范本
- 代持股轉(zhuǎn)讓合同范例
- 買農(nóng)村房子合同范例
- 信托基金購買合同范例
- 修理員聘用合同范例
- 代購代加工合同范本
- 臨時(shí)借車合同范例
- 《格薩爾》史詩中的古代法律文化研究
- 冰箱購貨合同范例
- 電地暖項(xiàng)目施工方案
- 2025年浙江寧波市奉化區(qū)農(nóng)商控股集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年中考百日誓師大會(huì)校長發(fā)言稿:激揚(yáng)青春志 決勝中考時(shí)
- YY/T 1860.1-2024無源外科植入物植入物涂層第1部分:通用要求
- 封條模板A4直接打印版
- 2022年度八年級美術(shù)抽測題庫
- 義務(wù)教育《地理》課程標(biāo)準(zhǔn)(2022年版)
- 鍋爐改造方案(省煤器)講解-共18頁
- 單細(xì)胞蛋白論文
- 021[學(xué)士]某六層框架宿舍樓畢業(yè)設(shè)計(jì)(含計(jì)算書、圖紙)
- (完整版)高層鋼結(jié)構(gòu)住宅施工方案(非常詳細(xì))
- 云管理系統(tǒng)CRM系統(tǒng)操作手冊
評論
0/150
提交評論