




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、摘 要1Abstract2第一章 引言411 課題背景412 系統(tǒng)簡介51. 3 開發(fā)軟件介紹6第二章 系統(tǒng)的分析821 系統(tǒng)開發(fā)的目標(biāo)和思想922 系統(tǒng)的可行性分析13第三章 系統(tǒng)的設(shè)計(jì)1831 系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì)1832 系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì) .1933 界面設(shè)計(jì)與代碼設(shè)計(jì)23結(jié)束語46致謝47參考文獻(xiàn)49摘 要隨著經(jīng)濟(jì)的發(fā)展,社會(huì)的進(jìn)步,計(jì)算機(jī)越來越深入到我們?nèi)粘5墓ぷ鲗W(xué)習(xí)及生活中,成為我們?nèi)粘I钪胁豢扇鄙俚妮o助工具。 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。它已經(jīng)深入到日常工作和生活的方方面面,比如文字
2、處理、信息管理、輔助設(shè)計(jì)、圖形圖像處理、教育培訓(xùn)以及游戲娛樂等。各行各業(yè)的人們無須經(jīng)過特別的訓(xùn)練就能夠使用電腦完成許許多多復(fù)雜的工作。然而,雖然現(xiàn)在世界上已經(jīng)充滿了多如牛毛的各種軟件,但它們依然不能滿足用戶的各種特殊需要,人們還不得不開發(fā)適合自己特殊需求的軟件。以前開發(fā)Windows應(yīng)用軟件是專業(yè)人員的工作,需要掌握許多專業(yè)知識(shí)和經(jīng)過特殊的培訓(xùn)才能勝任?,F(xiàn)在不同了,即使你沒有接受過嚴(yán)格的程序設(shè)計(jì)訓(xùn)練,使用Visual Basic也一樣能夠開發(fā)出功能強(qiáng)大、適合自己特殊需求的應(yīng)用程序了。Visual Basic繼承了Basic語言易學(xué)易用的特點(diǎn),特別適合于初學(xué)者學(xué)習(xí)Windows系統(tǒng)編程。 超市進(jìn)
3、銷存管理系統(tǒng)用計(jì)算機(jī)管理超市庫存進(jìn)出管理的一種計(jì)算機(jī)應(yīng)用技術(shù)的創(chuàng)新,在計(jì)算機(jī)還未普及之前庫存管理都是由工作人員手工書寫的方式來操作的.現(xiàn)在一般的超市都采用計(jì)算機(jī)智能化管理,采用計(jì)算機(jī)作為工具的實(shí)用的計(jì)算機(jī)超市庫存管理程序來幫助管理員進(jìn)行更有效的超市庫存管理工作。超市進(jìn)銷存管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。 經(jīng)過分析,我們使用 MICROSOFT公司的 VISUAL BASIC開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工
4、具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對(duì)象,首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。因?yàn)楸救四芰τ邢蓿由蠒r(shí)間緊迫,所以設(shè)計(jì)出來的本系統(tǒng)可能功能比較簡單,另外本系統(tǒng)是單機(jī)版,不能實(shí)現(xiàn)網(wǎng)絡(luò)互聯(lián)操作,這些都有待于我在以后的工作學(xué)習(xí)中進(jìn)一步改進(jìn)。關(guān)鍵字:超市進(jìn)銷存管理,MIS,visual basic ,數(shù)據(jù)庫第一章 引言11 課題背景超市進(jìn)銷存管理系統(tǒng)用計(jì)算機(jī)管理超市庫存進(jìn)出管理的一種計(jì)算機(jī)應(yīng)用技術(shù)的創(chuàng)新,在計(jì)算機(jī)還未普及之前庫存管理都是由工作人員手工書寫的方式來操作的.現(xiàn)在一般的超市都采用計(jì)算機(jī)智能化管理,采用計(jì)
5、算機(jī)作為工具的實(shí)用的計(jì)算機(jī)超市庫存管理程序來幫助管理員進(jìn)行更有效的超市庫存管理工作。超市進(jìn)銷存管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。12 系統(tǒng)簡介 本系統(tǒng)采用visual basic與Access作為數(shù)據(jù)庫的方式編寫,主要服務(wù)于超市庫存管理人員的日常工作.主要由以下幾大功能模塊構(gòu)成:一. 商品類型管理:添加商品類型,修改商品類型,刪除商品類型二. 商品管理:添加商品信息,修改商品信息,刪除商品信息三. 進(jìn)貨管理:添加進(jìn)貨
6、管理,修改進(jìn)貨管理,刪除進(jìn)貨管理四. 銷售管理: 添加銷售管理,修改銷售管理,刪除銷售管理五. 報(bào)損管理: 添加報(bào)損管理,修改報(bào)損管理,刪除報(bào)損管理1. 3 開發(fā)軟件介紹Visual Basic 6.0是Micrsoft公司出品的開發(fā)工具,Visual Basic是一種可視化的,面向?qū)ο蟮腤indows開發(fā)語言,它具有易用,通用和開發(fā)效率高的特點(diǎn)。隨著微軟對(duì)它不斷地改進(jìn)以及計(jì)算機(jī)本身性能的提高,使得Visual Basic越來越適合一般的應(yīng)用程序開發(fā)。正如Bill Gate所說,世界上絕大多數(shù)的Windows應(yīng)用程序是用Visual Basic編寫的。在眾多的開發(fā)工具中,我們?yōu)槭裁匆x擇Vis
7、ual Basic6.0呢?因?yàn)閂B具有眾多其它開發(fā)工具所沒有的優(yōu)點(diǎn)!具體介紹如下:u 開發(fā)的高效u 語言的高效u 編譯的高效u 執(zhí)行的高效u 維護(hù)的高效基于以上理由,我們毫不憂郁的選擇了VB6.0做為我們的開發(fā)工具!主要的控件及其基本屬性,事件簡介u 命令按鈕類的控件:1) Caption屬性:用來顯示在控件上的標(biāo)題。2) Enable屬性:控制控件的激活狀態(tài)灰色或可用。3) Appearance屬性:值為1時(shí),則以3D效果顯示該控件,0則不然。4) Backcolor屬性:用來改變?cè)诎粹o上顯示圖像的背景色。5) Cancel屬性:該屬性決定按鈕是否為一個(gè)”取消”按鈕。6) Default屬
8、性:決定哪一個(gè)命令按鈕控件是窗體的缺省命令按鈕.7) Font屬性:控制各種文字字體類型.8) Left,top,height,width屬性:設(shè)定控件的位置與大小.9) Style,picture屬性:決定按鈕的顯示方式是否為圖像形式出現(xiàn).10) Visible屬性:確定控件運(yùn)行時(shí)是否為可見.11) Index屬性:當(dāng)控件為一控件數(shù)組時(shí),此屬性值為該控件在數(shù)組的下標(biāo)值.12) DownPicture屬性:設(shè)置/返回一個(gè)對(duì)圖片的引用,該圖片在按鈕被單擊處于壓下狀態(tài)時(shí)顯示。13) DisabledPicture屬性:設(shè)置/返回一個(gè)對(duì)圖片的引用,該圖片在控件無效時(shí)顯示在控件中。14) MaskCo
9、lor屬性:設(shè)置/返回一個(gè)在按鈕的圖片中作為“掩碼“的的顏色15) Picture屬性:設(shè)置返回commandButton控件中要顯示的圖片。u 命令按鈕類的事件:1) 單擊事件Click事件(1) 觸發(fā)與適用此事件是在一個(gè)命令按鈕對(duì)象上按下然后釋放一個(gè)鼠標(biāo)按鈕時(shí)發(fā)生。命令按鈕的Click事件僅對(duì)當(dāng)單擊鼠標(biāo)時(shí)發(fā)生。(2) 事件處理過程按鈕單擊事件的處理過程為: Private Sub object-Click(Index As Integer)其中Object為引發(fā)該事件的對(duì)象名稱。如果是命令按鈕的控件是數(shù)組,則需要使用Index參數(shù)標(biāo)識(shí)該控件。2) 獲得焦點(diǎn)GotFocus事件(1) 觸發(fā)與
10、適用 當(dāng)命令按鈕獲得焦點(diǎn)產(chǎn)生該事件,獲得焦點(diǎn)可以通過諸如Tab切換或單擊對(duì)象之類的用戶動(dòng)作,或在代碼中用SetFocus方法改變焦點(diǎn)來實(shí)現(xiàn)。(2) 事件處理過程命令按鈕GotFoucs事件處理過程為:Private Sub Object-GotFocus(Index As Integer)3) LostFocus事件:當(dāng)一個(gè)對(duì)象失去焦點(diǎn)時(shí)發(fā)生4) KeyDown事件:當(dāng)命令按鈕具有焦點(diǎn)時(shí)按下一個(gè)鍵時(shí)發(fā)生5) KeyUp事件:當(dāng)命令按鈕具有焦點(diǎn)時(shí)釋放一個(gè)鍵時(shí)發(fā)生。6) KeyPress事件:當(dāng)用戶按下或松開一個(gè)ANSI鍵時(shí)發(fā)生。7) MouseDown事件:當(dāng)在命令按鈕上按下鼠標(biāo)按鈕時(shí)發(fā)生。8)
11、 MouseMove事件:當(dāng)命令按鈕上移動(dòng)鼠標(biāo)時(shí)發(fā)生。9) MouseUp事件:當(dāng)在命令按鈕上釋放鼠標(biāo)按鈕時(shí)發(fā)生。 u 標(biāo)簽框類的控件類的控件:1) Caption屬性:在應(yīng)用程序界面上加入說明。2) Autosize屬性:決定控件是否自動(dòng)改變大小以顯示其全部內(nèi)容。3) Backstyle屬性:用以指示標(biāo)簽是否透明.4) Bordstyle屬性:用以設(shè)定控件是否有邊框。u 文本框類的控件:1) Text屬性:通過像text屬性賦值的方法來改變?cè)搶傩缘闹怠?) Maxlength屬性:該屬性設(shè)定在文本框控件中能夠輸入的最大字符數(shù)。3) Multline屬性:該屬性設(shè)定text字符串中是否接受換行
12、符。4) Scrollbars屬性:該屬性決定是否為文本框加滾動(dòng)條。5) Passwordchar屬性:該屬性設(shè)定輸入文本的特殊顯示字符,在設(shè)計(jì)密碼程序時(shí)非常有用。6) Change事件屬性:文本框的內(nèi)容發(fā)生改變時(shí),相應(yīng)的控件之間發(fā)生相應(yīng)的改變,具有即時(shí)性。7) Keypress:事件由用戶在文本框控件中按任意鍵觸發(fā)。8) Alignment屬性:設(shè)定控件中的文本對(duì)其方式9) Appearance屬性:設(shè)定一個(gè)對(duì)象在運(yùn)行時(shí)是否可以3D效果顯示。10) BackColor屬性:設(shè)置返回背景色11) BorderStyle屬性:設(shè)置對(duì)象的邊框樣式12) DataField屬性:設(shè)定數(shù)據(jù)使用者將被綁
13、定到的字段名13) DataFormat屬性:設(shè)定DataFormat對(duì)象,用于數(shù)據(jù)綁定14) DataMember屬性:從數(shù)據(jù)供應(yīng)程序提供的幾個(gè)數(shù)據(jù)成員中返回/設(shè)定一個(gè)特定的數(shù)據(jù)成員15) DataSource屬性:設(shè)定控件綁定的一個(gè)數(shù)據(jù)源16) DragIcon屬性:設(shè)定圖標(biāo),它將在拖放操作中作為指針顯示17) DragMode模式:設(shè)定一個(gè)值,確定在拖放操作中所用方式18) Enabled屬性:設(shè)置/返回運(yùn)行時(shí)TextBox是否相應(yīng)用戶事件19) Font屬性:設(shè)置/返回字體屬性20) ForeColor屬性:設(shè)置/返回文本的前景色21) Height屬性:設(shè)置/返回TextBox的高度
14、22) IMEMode屬性:設(shè)置/返回?cái)?shù)值用來確定輸入方法編輯器的狀態(tài)23) Index屬性:設(shè)置/返回唯一的標(biāo)識(shí)控件數(shù)組中該控件的編號(hào)24) Left屬性:設(shè)置/返回TextBox控件的水平位置25) Locked屬性:設(shè)置/返回TextBox中文本是否可編輯26) LinkItem屬性:設(shè)置/返回DDE與另一個(gè)應(yīng)用程序會(huì)話時(shí),傳給接受端的數(shù)據(jù)27) MaxLength屬性:設(shè)置/返回一個(gè)值,指定在TextBox控件中能夠輸入的字符最大值28) MouseIcon屬性:設(shè)置/返回自定義鼠標(biāo)的圖標(biāo)29) Top屬性:設(shè)置/返回TextBox控件的垂直位置30) Tag屬性:存儲(chǔ)過程所需的附加數(shù)
15、據(jù)u 文本框類的事件:1) Change事件:當(dāng)改變文本框內(nèi)容時(shí)發(fā)生2) Click事件:鼠標(biāo)單擊控件時(shí)發(fā)生3) DblClick事件:用鼠標(biāo)左鍵雙擊控件時(shí)發(fā)生4) DragDrop事件:在一個(gè)完整的拖放動(dòng)作完成或使用Drag方法,并將其Action參數(shù)設(shè)置為2時(shí)發(fā)生5) DragOver事件:在拖放操作正在進(jìn)行時(shí)發(fā)生6) GotFocus事件:當(dāng)一個(gè)命令按鈕獲得焦點(diǎn)時(shí)發(fā)生7) LinkClose事件:當(dāng)一個(gè)DDE對(duì)話結(jié)束時(shí)發(fā)生8) LinkError事件:當(dāng)一個(gè)DDE對(duì)話框過程中出現(xiàn)錯(cuò)誤時(shí),該事件發(fā)生9) KeyDown事件:當(dāng)命令按鈕具有焦點(diǎn)時(shí)按下一個(gè)鍵時(shí)發(fā)生10) Validate事件:
16、在焦點(diǎn)轉(zhuǎn)換到另一個(gè)控件之前發(fā)生,此時(shí)該控件的Causes Validation 屬性值設(shè)置為True u 單選按鈕類的控件:1) Caption屬性:顯示在控件上的文本,是單選按鈕的標(biāo)題。2) Alignment屬性:決定單選按鈕的標(biāo)題在控件上的位置。3) Enable屬性:該控件為灰色時(shí)為false,表示運(yùn)行時(shí)不可用。4) Index屬性:屬性值表示為單選按鈕組成的控件中某個(gè)按鈕的索引值。5) Tabindex屬性:建立控件時(shí),vb自動(dòng)為其分配一個(gè)tabindex值,利用tab鍵可以在控件之間切換焦點(diǎn)。6) Value屬性:反映控件狀態(tài)的屬性,返回true表示已選擇了該按鈕。7) Appea
17、rance 屬性:設(shè)置/返回一個(gè)對(duì)象在運(yùn)行時(shí)是否以3D效果顯示。8) BackColor 屬性:設(shè)置/返回背景色。9) Container 屬性:設(shè)置/返回Form上的控件屬性。10) DataField 屬性:設(shè)置/返回?cái)?shù)據(jù)使用者將被綁定到的字段名。11) DataFormat 屬性:設(shè)置/返回DataFormat對(duì)象,一個(gè)綁定對(duì)象將附加到它。12) DisabledPicture 屬性:設(shè)置/返回一個(gè)對(duì)圖像的引用,該圖片在控件無效時(shí)顯示在控件中。13) DownPicture 屬性:設(shè)置/返回一個(gè)對(duì)圖片的引用,該圖片在控件單擊下處于壓下狀態(tài)時(shí)顯示。14) DragMode 屬性:設(shè)置/返回
18、一個(gè)值,確定在拖放操作中所用的方式。15) Font 屬性:設(shè)置/返回字體屬性。16) FontBold 屬性:設(shè)置/返回字體粗體樣式。17) FontItalic 屬性:設(shè)置/返回字體斜體樣式。 18) FontStrikethru 屬性:設(shè)置/返回字體刪除線樣式。19) FontUnderLine 屬性:設(shè)置/返回字體下劃線樣式。20) FontName 屬性:設(shè)置/返回控件中顯示文本所用的字體大小。21) FontSize 屬性:設(shè)置/返回控件中顯示文本所用的字體大小22) Height 屬性:設(shè)置/返回控件的高度。23) MaskColor 屬性:設(shè)置/返回一個(gè)在控件的圖片中作為掩碼的
19、顏色。24) MousePointer 屬性:設(shè)置/返回一個(gè)值,該值指示在運(yùn)行時(shí)當(dāng)鼠標(biāo)移動(dòng)到對(duì)象上時(shí)顯示的指針類型。u 單選按鈕類的常用事件:1) Click 事件:鼠標(biāo)單擊控件時(shí)發(fā)生。2) DbClick事件: 當(dāng)在一個(gè)對(duì)象上按下和釋放鼠標(biāo)按鈕并再次按下和釋放按鈕時(shí),該事件發(fā)生。3) DragDrop事件:在一個(gè)完整的拖放動(dòng)作或使用Drag方法,并將其Action參數(shù)設(shè)置位2時(shí),該事件發(fā)生。4) DragOver事件: 在拖放操作正在進(jìn)行時(shí)發(fā)生。5) GotFocus事件: 當(dāng)獲的對(duì)象焦點(diǎn)時(shí)發(fā)生。6) LostFocus事件:當(dāng)對(duì)象失去焦點(diǎn)時(shí)發(fā)生。7) KeyDown事件:當(dāng)控件具有焦點(diǎn)時(shí)按
20、下一個(gè)鍵時(shí)發(fā)生。8) KeyUp事件: 當(dāng)控件具有焦點(diǎn)時(shí)釋放一個(gè)鍵時(shí)發(fā)生。9) KeyPress事件:當(dāng)用戶按下或釋放ANSI一個(gè)鍵時(shí)發(fā)生。10) MouseDown事件:當(dāng)在控件上按下鼠標(biāo)鍵時(shí)發(fā)生。11) MouseMove事件:在控件上移動(dòng)鼠標(biāo)時(shí)發(fā)生。12) MouseUp事件:在控件上釋放鼠標(biāo)時(shí)發(fā)生。u 復(fù)選按鈕類的控件:1) Caption屬性:缺省為check1。2) Index屬性:該屬性值為復(fù)選框控件數(shù)組的下標(biāo).3) Value屬性:value為0表空白,為1表勾號(hào),為2表示灰色勾號(hào).4) Container屬性:Form控件上的容器。5) DataChangeed屬性:設(shè)置/返
21、回一個(gè)值,指出被綁定的控件中的數(shù)據(jù)已經(jīng)被某進(jìn)程修改。6) DataField屬性:設(shè)置或返回?cái)?shù)據(jù)使用者將被綁定到的字段名。7) DataFormat 屬性:設(shè)置或返回DataFormat對(duì)象,用于數(shù)據(jù)綁定。8) Datasource屬性:設(shè)置或返回控件綁定的一個(gè)數(shù)據(jù)源。9) DisabledPicture屬性:設(shè)置或返回一個(gè)對(duì)圖片的引用,該圖片在控件無效時(shí)顯示在控件中。10) DownPicture 屬性:設(shè)置或返回一個(gè)對(duì)圖片的引用,該圖片在控件被單擊處于壓下狀態(tài)時(shí)顯示。11) DragIcon屬性:設(shè)置或返回圖標(biāo),它將在拖放操作中做為指針顯示。12) DragMode屬性:設(shè)置返回一個(gè)值,確
22、定在拖放操作中所用方式。13) Font屬性:設(shè)置或返回字體的屬性。14) Name屬性:設(shè)置或返回控件的標(biāo)識(shí)名。15) Value屬性:設(shè)置或返回控件的狀態(tài)。u 復(fù)選按鈕類的控件的基本事件:1) Click事件:鼠標(biāo)單擊控件時(shí)發(fā)生。2) DragDrop事件:在一個(gè)完整的拖放動(dòng)作完成或使用Drag方法,并將其Action參數(shù)設(shè)置為2時(shí)發(fā)生。3) DragOver事件:在拖放操作正在進(jìn)行時(shí)發(fā)生。4) GotFocus事件:在對(duì)象獲的焦點(diǎn)時(shí)發(fā)生。,5) OLECompleteDrag事件:當(dāng)源部件被放到目標(biāo)時(shí)發(fā)生,并通知源部件拖放操作被執(zhí)行或取消。6) OLEDragDrag事件:當(dāng)源部件決定放
23、操作能發(fā)生,卻源部件被放到目標(biāo)部件時(shí),此事件發(fā)生。u 框架類的控件:1) List屬性:列表框控件的表項(xiàng)是使用數(shù)組的方式保存,數(shù)組的每一個(gè)元素存儲(chǔ)列表控件的一個(gè)表項(xiàng)1) Listcount屬性:控件列表部分項(xiàng)目的個(gè)數(shù)。2) Mutselect屬性:可以設(shè)置列表框?yàn)閱芜x或允許多選屬性.3) Selectd屬性:標(biāo)示一個(gè)數(shù)組,數(shù)組各元素為:4) Selected(0),selected(1)u 滾動(dòng)條類的控件:1) Value屬性:滾動(dòng)條上滑塊所在位置由value值所決定。2) Max和min屬性:對(duì)value值的最大,最小進(jìn)行限制。3) Largechange屬性:用戶點(diǎn)擊滾動(dòng)條與鍵頭之間的區(qū)域
24、時(shí),value的改變量。4) OnClick事件:用來添加按鈕的單擊事件所執(zhí)行的程序代碼。u 定時(shí)器類類的控件:1) Interval屬性:表示定時(shí)的時(shí)間間隔,以毫秒為單位。2) Enable屬性:為true時(shí)(缺省值),激活定時(shí)器開始計(jì)時(shí);為false時(shí)處于休眠狀態(tài).Visual basic6.0連接數(shù)據(jù)庫的主要方式以下幾種方式:一是:用data控件進(jìn)行數(shù)據(jù)庫鏈接 ,二是利用adodc(ADO Data Control)進(jìn)行數(shù)據(jù)庫鏈接 。三是: 利用DataEnvironment進(jìn)行數(shù)據(jù)庫鏈接.四是利用ADO(ActiveX Data Objects)進(jìn)行編程:現(xiàn)在我們來大致對(duì)這幾種技術(shù)應(yīng)用
25、介紹:一、 用data控件進(jìn)行數(shù)據(jù)庫鏈接.第一步:給窗體添加一個(gè)Data控件。第二步:用Access建立一個(gè)名為Pad的數(shù)據(jù)庫,在庫中建立一個(gè)表Myset,給表添加四個(gè)字段:backcolor(數(shù)據(jù)),forecolor(文本),fontname(文本),fontsize(文本)。注意:請(qǐng)將庫文件存入程序所在目錄。 如果你的機(jī)器沒安裝有Access,可通過VB建庫。二、 利用adodc(ADO Data Control)進(jìn)行數(shù)據(jù)庫鏈接:使用adodata控件訪問數(shù)據(jù)庫可以完全不用編寫代碼,只需要通過簡單的設(shè)置和操作其屬性就可以實(shí)現(xiàn)與數(shù)據(jù)庫的連接,通過綁定數(shù)據(jù)感知控件,就能提供一個(gè)訪問數(shù)據(jù)庫的界
26、面,用來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的瀏覽,貼加,刪除,修改等操作.三、 利用DAO對(duì)數(shù)據(jù)庫進(jìn)行操縱:在visual basic 中提供了兩種與jet數(shù)據(jù)引擎接口的方法:data控件與數(shù)據(jù)訪問對(duì)象(DAO)DAO是database object的英文縮寫,要訪問數(shù)據(jù)庫一方面數(shù)據(jù)庫要提供訪問接口,另一方面要在編程環(huán)境中有對(duì)數(shù)據(jù)庫的支持.DAO模型是設(shè)計(jì)關(guān)系數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)的對(duì)象類的集合.他們提供了管理關(guān)系型數(shù)據(jù)庫系統(tǒng)所需要的全部操作屬性和方法,這其中包括建立數(shù)據(jù)庫,定義表,字段和建立表間關(guān)系,定位和查詢數(shù)據(jù)庫等.關(guān)系數(shù)據(jù)庫介紹:關(guān)系數(shù)據(jù)庫是目前各類數(shù)據(jù)庫中最重要、最流行的數(shù)據(jù)庫,他應(yīng)用數(shù)學(xué)方法來處理數(shù)據(jù)庫數(shù)據(jù),是
27、目前使用最廣泛的數(shù)據(jù)庫系統(tǒng)。20世紀(jì)70年代以后開發(fā)的數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品幾乎都是基于關(guān)系的。在數(shù)據(jù)庫發(fā)展的歷史上,最重要的成就就是關(guān)系模型。 關(guān)系數(shù)據(jù)庫系統(tǒng)與非關(guān)系數(shù)據(jù)庫系統(tǒng)的區(qū)別是:關(guān)系系統(tǒng)只有“表“這一種數(shù)據(jù)結(jié)構(gòu);而非關(guān)系數(shù)據(jù)庫系統(tǒng)還有其他數(shù)據(jù)結(jié)構(gòu),對(duì)這些數(shù)據(jù)結(jié)構(gòu)有其他的操作。結(jié)構(gòu)化查詢語言SQL(Structured Query Language)是一種介于關(guān)系代數(shù)與關(guān)系演算之間的語言,其功能包括查詢、操縱、定義和控制四個(gè)方面,是一個(gè)通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫語言。目前已成為關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言 Microsoft Access介紹:使用 Microsof
28、t Access,可以在單一的數(shù)據(jù)庫文件中管理所有的信息。在這個(gè)文件中,用戶可以將自己的數(shù)據(jù)分別保存在各自獨(dú)立的存儲(chǔ)空間中,這些空間稱作表;可以使用聯(lián)機(jī)窗體來查看、添加及更新表中的數(shù)據(jù);使用查詢來查找并檢索所要的數(shù)據(jù);也可以使用報(bào)表以特定的版面布置來分析及打印數(shù)據(jù)。 如果要保存數(shù)據(jù),請(qǐng)為每一種類型的信息創(chuàng)建一個(gè)表。如果要從查詢、窗體或報(bào)表中的多個(gè)表中將數(shù)據(jù)合并在一起,就要定義各個(gè)表之間的關(guān)系。 如果要搜索并檢索符合指定條件的數(shù)據(jù),包括來自多個(gè)表中的數(shù)據(jù),就要?jiǎng)?chuàng)建查詢。查詢的同時(shí)也可以更新或刪除多條記錄,并對(duì)數(shù)據(jù)執(zhí)行內(nèi)嵌或自定義的計(jì)算。 如果要簡單地直接在某個(gè)表中查看、輸入及更改數(shù)據(jù),
29、請(qǐng)創(chuàng)建一個(gè)窗體。在打開一個(gè)窗體時(shí),Microsoft Access 將從一個(gè)或多個(gè)表中檢索數(shù)據(jù),并使用用戶在“窗體向?qū)А边x擇的版面布局或所創(chuàng)建的版面布局,將窗體顯示在屏幕上。 如果要分析數(shù)據(jù)或?qū)?shù)據(jù)以特定的方式打印出來,請(qǐng)創(chuàng)建一個(gè)報(bào)表。例如,可以打印一份將數(shù)據(jù)分組并計(jì)算數(shù)據(jù)總和的報(bào)表,也可以打印另一份帶有各種數(shù)據(jù)格式的打印郵件標(biāo)簽的報(bào)表。第 二 章 系統(tǒng)的分析21 系統(tǒng)開發(fā)的目標(biāo)和思想本系統(tǒng)開發(fā)目標(biāo)是服務(wù)于高速公路收費(fèi)管理人員,方便工作人員,對(duì)過往車輛收費(fèi),發(fā)放收費(fèi)票據(jù)記錄,對(duì)信息的分類管理等.同時(shí)力求做到界面人性化,功能齊全,數(shù)據(jù)存儲(chǔ)安全.2.2 系統(tǒng)的可行性分析技術(shù)上:
30、本系統(tǒng)采用visual basic 6.0與微軟的access作為數(shù)據(jù)庫,技術(shù)上開發(fā)難度一般.經(jīng)濟(jì)上:本系統(tǒng)服務(wù)于超市管理人員,提高了工作人員辦事效率,節(jié)省了開支.所以具有經(jīng)濟(jì)上的可行性.社會(huì)上:本系統(tǒng)同時(shí)也方便了廣大顧客,.所以具有社會(huì)可行性.第 三 章 系統(tǒng)的設(shè)計(jì)31 系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì)程序登陸主界面商品類型管理商品管理報(bào)損管理進(jìn)貨管理銷售管理供貨商管理銷售分析幫助退出32 系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)1:用戶登陸表:2:購入商品表:3:商品保損表:4:商品信息表:5:供應(yīng)商表:6:銷售表:3.3 界面設(shè)計(jì)與代碼設(shè)計(jì)1. 登陸界面設(shè)計(jì):代碼分析:Option ExplicitPrivate Decla
31、re Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As LongPublic OK As BooleanDim m_Admin As New clsAdminDim m_nErrCount As IntegerPrivate Sub Form_Load() m_nErrCount = 0End SubPrivate Sub cmdCancel_Click() OK = False Me.Hide
32、End SubPrivate Sub cmdOK_Click() 'ToDo: 創(chuàng)建測(cè)試密碼是否正確 '檢查正確密碼 Dim Account As String Dim Pwd As String Account = RealString(txtUserName.Text) Pwd = RealString(txtPassword.Text) '判斷密碼是否正確 If Not m_Admin.CheckPwd(Account, Pwd) Then m_nErrCount = m_nErrCount + 1 If m_nErrCount >= 3 Then MsgB
33、ox "輸入密碼錯(cuò)誤次數(shù)太多,請(qǐng)稍后重試", vbExclamation End End If MsgBox "密碼錯(cuò)誤,再試一次!還有 " & 3 - m_nErrCount & " 次機(jī)會(huì),注意密碼區(qū)分大小寫", vbCritical, "登錄" txtPassword.SetFocus txtPassword.SelStart = 0 txtPassword.SelLength = Len(txtPassword.Text) Else OK = True g_Account = Account
34、 Me.Hide End If End Sub2:報(bào)損信息表:代碼分析:Option ExplicitPrivate OK As Boolean '確定用戶按了OK還是CANCEL按鈕Private m_obj As clsDispose '數(shù)據(jù)對(duì)象,用來存儲(chǔ)用戶輸入數(shù)據(jù)Public m_ViewType As gxcViewType '顯示狀態(tài),指添加還是修改Private m_TypeId As LongPrivate m_Account As String '調(diào)用此對(duì)話框的操作員'根據(jù)是“新增”還是修改,確定顯示內(nèi)容Private Sub SetS
35、tatus() '設(shè)置控件默認(rèn)值 Call SetDefaultValue '設(shè)置狀態(tài) Select Case m_ViewType Case vtadd '添加 CancelButton.Visible = True OKButton.Caption = "確定" Case vtModify '修改 CancelButton.Visible = True OKButton.Caption = "保存" Case vtInfo '查看 CancelButton.Visible = False OKButton.Ca
36、ption = "關(guān)閉" End SelectEnd Sub'打開對(duì)話框,并傳出用戶輸入數(shù)據(jù)Public Function ShowDlg(ByRef obj As Object, _ ByVal eViewType As gxcViewType, _ Optional nTypeId As Long = -1, _ Optional strUser As String = "") As Boolean '保存數(shù)據(jù) Set m_obj = obj '用戶輸入數(shù)據(jù)存放于此對(duì)象中 m_ViewType = eViewType '
37、;對(duì)話框狀態(tài) If nTypeId = -1 And (Not m_obj Is Nothing) Then m_TypeId = m_obj.TypeId Else m_TypeId = nTypeId End If m_Account = strUser '調(diào)用此對(duì)話框的用戶賬號(hào) '根據(jù)新增、編輯或查看設(shè)置顯示內(nèi)容 SetStatus '顯示對(duì)話框 OK = False Me.Show vbModal If OK = False Then ShowDlg = False Exit Function End If '保存數(shù)據(jù) Set obj = m_obj &
38、#39;返回并釋放對(duì)話框 ShowDlg = True Unload Me End Function'設(shè)置控件默認(rèn)值Private Sub SetDefaultValue() Dim ctl As Control Dim i As Integer '如果是新增,則清空所有文本框 '此處判斷 m_obj為空與判斷m_ViewType = vtAdd等效,但更安全 If m_obj Is Nothing Then For Each ctl In Controls If TypeOf ctl Is TextBox Then ctl.Text = "" En
39、d If Next Else '用傳入對(duì)象的值更新數(shù)據(jù) With m_obj txtCount.Text = .Count txtReason.Text = .Reason txtRemark.Text = .Remark cboUnit.ListIndex = 0 dtpRegDate.Value = .RegDate For i = 0 To cboMerchName.ListCount - 1 If cboMerchName.ItemData(i) = .MerchandiseID Then cboMerchName.ListIndex = i '客戶類型Id Exit
40、For End If Next i End With End If End Sub'檢查輸入有效性Private Function CheckValid() As Boolean CheckValid = False If txtCount.Text = "" _ Or txtReason.Text = "" _ Or txtRemark.Text = "" Then MsgBox "請(qǐng)?zhí)顚懲戤呉陨细黜?xiàng)內(nèi)容" Exit Function End If If cboMerchName.Text = "
41、;" Then MsgBox "請(qǐng)?zhí)顚懲戤呉陨细黜?xiàng)內(nèi)容" Exit Function End If If Not IsNumeric(txtCount.Text) Then MsgBox "數(shù)量請(qǐng)輸入數(shù)字" Exit Function End If If Not IsDate(dtpRegDate.Value) Then MsgBox "請(qǐng)輸入正確的日期格式" Exit Function End If CheckValid = True End Function'保存數(shù)據(jù)Private Sub SaveValue()
42、 '給“成員變量”對(duì)象賦值 With m_obj '注意以下利用RealString函數(shù)替換去除輸入中的單引號(hào) .Count = txtCount.Text .Reason = RealString(txtReason.Text) .Remark = RealString(txtRemark.Text) .MerchandiseID = cboMerchName.ItemData(cboMerchName.ListIndex) '商品類型Id .MerchName = cboMerchName.Text .RegDate = dtpRegDate.Value .Oper
43、atorId = m_Account '操作者賬號(hào) End WithEnd Sub'取消按鈕Private Sub CancelButton_Click() Unload MeEnd SubPrivate Sub Form_Load() Dim opMerch As New clsOpMerch opMerch.FillCombo cboMerchNameEnd Sub'確定按鈕Private Sub OKButton_Click() OK = True '檢測(cè)輸入有效性 If Not CheckValid Then Exit Sub '如果是新增狀態(tài),
44、則初始化一個(gè)數(shù)據(jù)對(duì)象 If m_ViewType = vtadd Then Set m_obj = New clsDispose '保存用戶輸入 SaveValue Me.Hide End Sub3:供應(yīng)商表:代碼分析:Option ExplicitPrivate OK As Boolean '確定用戶按了OK還是CANCEL按鈕Private m_obj As clsProvider '數(shù)據(jù)對(duì)象,用來存儲(chǔ)用戶輸入數(shù)據(jù)Public m_ViewType As gxcViewType '顯示狀態(tài),指添加還是修改'根據(jù)是“新增”還是修改,確定顯示內(nèi)容Priv
45、ate Sub SetStatus() '設(shè)置控件默認(rèn)值 Call SetDefaultValue '設(shè)置狀態(tài) Select Case m_ViewType Case vtadd '添加 CancelButton.Visible = True OKButton.Caption = "確定" Case vtModify '修改 CancelButton.Visible = True OKButton.Caption = "保存" Case vtInfo '查看 CancelButton.Visible = False
46、 OKButton.Caption = "關(guān)閉" End SelectEnd Sub'打開對(duì)話框,并傳出用戶輸入數(shù)據(jù)Public Function ShowDlg(ByRef obj As Object, _ ByVal eViewType As gxcViewType) As Boolean '保存數(shù)據(jù) Set m_obj = obj '用戶輸入數(shù)據(jù)存放于此對(duì)象中 m_ViewType = eViewType '對(duì)話框狀態(tài) '根據(jù)新增、編輯或查看設(shè)置顯示內(nèi)容 SetStatus '顯示對(duì)話框 OK = False Me.Sh
47、ow vbModal If OK = False Then ShowDlg = False Exit Function End If '保存數(shù)據(jù) Set obj = m_obj '返回并釋放對(duì)話框 ShowDlg = True Unload Me End Function'設(shè)置控件默認(rèn)值Private Sub SetDefaultValue() Dim ctl As Control Dim i As Integer '如果是新增,則清空所有文本框 '此處判斷 m_obj為空與判斷m_ViewType = vtAdd等效,但更安全 If m_obj Is
48、Nothing Then For Each ctl In Controls If TypeOf ctl Is TextBox Then ctl.Text = "" End If Next Else '用傳入對(duì)象的值更新數(shù)據(jù) With m_obj txtName.Text = .ProviderName txtIntro.Text = .Introduce txtRemark.Text = .Remark End With End If End Sub'檢查輸入有效性Private Function CheckValid() As Boolean If txt
49、Name.Text = "" _ Or txtIntro.Text = "" _ Or txtRemark.Text = "" Then MsgBox "請(qǐng)?zhí)顚懲戤呉陨细黜?xiàng)內(nèi)容" CheckValid = False Exit Function End If CheckValid = True End Function'保存數(shù)據(jù)Private Sub SaveValue() '給“成員變量”對(duì)象賦值 With m_obj '注意以下利用RealString函數(shù)替換去除輸入中的單引號(hào) .Pro
50、viderName = RealString(txtName.Text) .Introduce = RealString(txtIntro.Text) .Remark = RealString(txtRemark.Text) End WithEnd Sub'取消按鈕Private Sub CancelButton_Click() Unload MeEnd Sub'確定按鈕Private Sub OKButton_Click() OK = True '檢測(cè)輸入有效性 If Not CheckValid Then Exit Sub '如果是新增狀態(tài),則初始化一個(gè)數(shù)據(jù)
51、對(duì)象 If m_ViewType = vtadd Then Set m_obj = New clsProvider '保存用戶輸入 SaveValue Me.Hide End Sub5:管理員列表:代碼分析:Option ExplicitDim opAdmin As New clsOpAdminPrivate Sub CancelButton_Click() Unload MeEnd SubPrivate Sub cmdAdd_Click() opAdmin.Add lvAdminEnd SubPrivate Sub cmdDel_Click() opAdmin.Delete lvAd
52、minEnd SubPrivate Sub cmdModify_Click() opAdmin.Modify lvAdminEnd SubPrivate Sub Form_Load() opAdmin.FillListView lvAdminEnd Sub6:主界面設(shè)計(jì):代碼分析:Option ExplicitConst NAME_COLUMN = 0Const TYPE_COLUMN = 1Const SIZE_COLUMN = 2Const DATE_COLUMN = 3 Dim mbMoving As BooleanConst sglSplitLimit = 500Private Sub
53、 Form_Load() LoadResStrings Me Me.Left = 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) lvMerch.View = Val(GetSetting(App.Title, "Settings", "ViewMode", "0") '初始化數(shù)據(jù) Call InitMainEnd SubPrivate Sub Form_Unload(
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024融合大語言模型DeepSeek技術(shù)新人音版音樂一年級(jí)下冊(cè)(趙季平主編)《第五單元 可愛的家》聆聽 吉祥三寶 布仁巴雅爾詞曲 王寶譯配 搖籃曲德〕勃拉姆斯曲(計(jì)劃一課時(shí))教學(xué)設(shè)計(jì)2022課標(biāo)
- 小學(xué)英語冀教版 (一年級(jí)起點(diǎn))五年級(jí)上冊(cè)Lesson 3 How Can We Get to Beijing獲獎(jiǎng)教案
- 小學(xué)數(shù)學(xué)西師大版四年級(jí)上冊(cè)萬以上數(shù)的讀寫公開課教學(xué)設(shè)計(jì)
- 不合格品處理流程
- 2024年中考數(shù)學(xué)真題分類匯編(全國):專題25 概率(41題)(學(xué)生版)
- 購房定金合同應(yīng)注意的問題
- 五年級(jí)信息技術(shù)下冊(cè) 第10課 人物動(dòng)畫教學(xué)設(shè)計(jì)1 浙江攝影版
- 2025年度合同范本:全面計(jì)量校準(zhǔn)服務(wù)合同
- 國防教育人防工程防護(hù)設(shè)備施工合同書
- 打折購物卡購銷合同
- 義務(wù)教育《道德與法治》課程標(biāo)準(zhǔn)(2022年版)
- 雙減作業(yè)分層設(shè)計(jì)-四年級(jí)語文下冊(cè)分層作業(yè)設(shè)計(jì)案例13《貓》含答案
- 機(jī)動(dòng)車登記翻譯(適用于出國資料)
- 感染性休克指導(dǎo)課件
- 監(jiān)控系統(tǒng)維護(hù)合同正式版
- 行政管理工作流程優(yōu)化方案
- 外研社小學(xué)一年級(jí)下冊(cè)英語期中試卷
- 鼓式制動(dòng)器畢業(yè)設(shè)計(jì)
- 神華準(zhǔn)能“一步酸溶法”粉煤灰生產(chǎn)氧化鋁焙燒爐的選型研究
- 學(xué)生成績管理系統(tǒng)數(shù)據(jù)流圖
- 醫(yī)院內(nèi)部醫(yī)療廢物收集運(yùn)送流程圖
評(píng)論
0/150
提交評(píng)論