藥品庫房管理系統(tǒng)—計算機畢業(yè)設(shè)計(論文)_第1頁
藥品庫房管理系統(tǒng)—計算機畢業(yè)設(shè)計(論文)_第2頁
藥品庫房管理系統(tǒng)—計算機畢業(yè)設(shè)計(論文)_第3頁
藥品庫房管理系統(tǒng)—計算機畢業(yè)設(shè)計(論文)_第4頁
藥品庫房管理系統(tǒng)—計算機畢業(yè)設(shè)計(論文)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)設(shè)計藥品庫房管理系統(tǒng)摘 要1Abstract2第一章 引言411 課題背景412 系統(tǒng)簡介51. 3 開發(fā)軟件介紹6第二章 系統(tǒng)的分析821 系統(tǒng)開發(fā)的目標(biāo)和思想922 系統(tǒng)的可行性分析13第三章 系統(tǒng)的設(shè)計1831 系統(tǒng)的功能結(jié)構(gòu)設(shè)計1832 系統(tǒng)的數(shù)據(jù)庫設(shè)計33 界面設(shè)計與代碼設(shè)計2324結(jié)束語46致謝47參考文獻49摘 要隨著經(jīng)濟的發(fā)展,社會的進步,計算機越來越深入到我們?nèi)粘5墓ぷ鲗W(xué)習(xí)及生活中,成為我們?nèi)粘I钪胁豢扇鄙俚妮o助工具。 隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。它已經(jīng)深入到日常工作和生活

2、的方方面面,比如文字處理、信息管理、輔助設(shè)計、圖形圖像處理、教育培訓(xùn)以及游戲娛樂等。各行各業(yè)的人們無須經(jīng)過特別的訓(xùn)練就能夠使用電腦完成許許多多復(fù)雜的工作。然而,雖然現(xiàn)在世界上已經(jīng)充滿了多如牛毛的各種軟件,但它們依然不能滿足用戶的各種特殊需要,人們還不得不開發(fā)適合自己特殊需求的軟件。以前開發(fā)Windows應(yīng)用軟件是專業(yè)人員的工作,需要掌握許多專業(yè)知識和經(jīng)過特殊的培訓(xùn)才能勝任。現(xiàn)在不同了,即使你沒有接受過嚴格的程序設(shè)計訓(xùn)練,使用Visual Basic也一樣能夠開發(fā)出功能強大、適合自己特殊需求的應(yīng)用程序了。Visual Basic繼承了Basic語言易學(xué)易用的特點,特別適合于初學(xué)者學(xué)習(xí)Window

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

4、各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統(tǒng)。因為本人能力有限,加上時間緊迫,所以設(shè)計出來的本系統(tǒng)可能功能比較簡單,另外本系統(tǒng)是單機版,不能實現(xiàn)網(wǎng)絡(luò)互聯(lián)操作,這些都有待于我在以后的工作學(xué)習(xí)中進一步改進。關(guān)鍵字:藥品管理,MIS,visual basic ,數(shù)據(jù)庫11 課題背景藥品庫房管理系統(tǒng)用計算機管理醫(yī)院藥方藥品管理的一種計算機應(yīng)用技術(shù)的創(chuàng)新,在計算機還未普及之前醫(yī)院藥房藥品管理都是由工作人員手工書寫的方式來操作的.現(xiàn)在一般的醫(yī)院藥方都采用計算機智能化

5、管理,采用計算機作為工具的實用的計算機藥方庫存管理程序來幫助管理員進行更有效的藥品管理工作。藥方管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。12 系統(tǒng)簡介 本系統(tǒng)采用visual basic與Access作為數(shù)據(jù)庫的方式編寫,主要服務(wù)于藥方藥品管理人員的日常工作.主要由以下幾大功能模塊構(gòu)成:一. 藥品入庫:庫存登記,庫存查看,藥品調(diào)價,退出二. 藥品出苦:庫存調(diào)撥,查看出庫情況三. 數(shù)據(jù)維護:報廢品清理,修改密碼,修改庫存記錄

6、四. 窗口:重疊,水平平鋪,垂直平鋪,排列圖標(biāo)五. 幫助:關(guān)于1. 3 開發(fā)軟件介紹Visual Basic 6.0是Micrsoft公司出品的開發(fā)工具,Visual Basic是一種可視化的,面向?qū)ο蟮腤indows開發(fā)語言,它具有易用,通用和開發(fā)效率高的特點。隨著微軟對它不斷地改進以及計算機本身性能的提高,使得Visual Basic越來越適合一般的應(yīng)用程序開發(fā)。正如Bill Gate所說,世界上絕大多數(shù)的Windows應(yīng)用程序是用Visual Basic編寫的。在眾多的開發(fā)工具中,我們?yōu)槭裁匆x擇Visual Basic6.0呢?因為VB具有眾多其它開發(fā)工具所沒有的優(yōu)點!具體介紹如下:u

7、 開發(fā)的高效u 語言的高效u 編譯的高效u 執(zhí)行的高效u 維護的高效基于以上理由,我們毫不憂郁的選擇了VB6.0做為我們的開發(fā)工具!主要的控件及其基本屬性,事件簡介u 命令按鈕類的控件:1) Caption屬性:用來顯示在控件上的標(biāo)題。2) Enable屬性:控制控件的激活狀態(tài)灰色或可用。3) Appearance屬性:值為1時,則以3D效果顯示該控件,0則不然。4) Backcolor屬性:用來改變在按鈕上顯示圖像的背景色。5) Cancel屬性:該屬性決定按鈕是否為一個”取消”按鈕。6) Default屬性:決定哪一個命令按鈕控件是窗體的缺省命令按鈕.7) Font屬性:控制各種文字字體類

8、型.8) Left,top,height,width屬性:設(shè)定控件的位置與大小.9) Style,picture屬性:決定按鈕的顯示方式是否為圖像形式出現(xiàn).10) Visible屬性:確定控件運行時是否為可見.11) Index屬性:當(dāng)控件為一控件數(shù)組時,此屬性值為該控件在數(shù)組的下標(biāo)值.12) DownPicture屬性:設(shè)置/返回一個對圖片的引用,該圖片在按鈕被單擊處于壓下狀態(tài)時顯示。13) DisabledPicture屬性:設(shè)置/返回一個對圖片的引用,該圖片在控件無效時顯示在控件中。14) MaskColor屬性:設(shè)置/返回一個在按鈕的圖片中作為“掩碼“的的顏色15) Picture屬性

9、:設(shè)置返回commandButton控件中要顯示的圖片。u 命令按鈕類的事件:1) 單擊事件Click事件(1) 觸發(fā)與適用此事件是在一個命令按鈕對象上按下然后釋放一個鼠標(biāo)按鈕時發(fā)生。命令按鈕的Click事件僅對當(dāng)單擊鼠標(biāo)時發(fā)生。(2) 事件處理過程按鈕單擊事件的處理過程為: Private Sub object-Click(Index As Integer)其中Object為引發(fā)該事件的對象名稱。如果是命令按鈕的控件是數(shù)組,則需要使用Index參數(shù)標(biāo)識該控件。2) 獲得焦點GotFocus事件(1) 觸發(fā)與適用 當(dāng)命令按鈕獲得焦點產(chǎn)生該事件,獲得焦點可以通過諸如Tab切換或單擊對象之類的用戶

10、動作,或在代碼中用SetFocus方法改變焦點來實現(xiàn)。(2) 事件處理過程命令按鈕GotFoucs事件處理過程為:Private Sub Object-GotFocus(Index As Integer)3) LostFocus事件:當(dāng)一個對象失去焦點時發(fā)生4) KeyDown事件:當(dāng)命令按鈕具有焦點時按下一個鍵時發(fā)生5) KeyUp事件:當(dāng)命令按鈕具有焦點時釋放一個鍵時發(fā)生。6) KeyPress事件:當(dāng)用戶按下或松開一個ANSI鍵時發(fā)生。7) MouseDown事件:當(dāng)在命令按鈕上按下鼠標(biāo)按鈕時發(fā)生。8) MouseMove事件:當(dāng)命令按鈕上移動鼠標(biāo)時發(fā)生。9) MouseUp事件:當(dāng)在命

11、令按鈕上釋放鼠標(biāo)按鈕時發(fā)生。 u 標(biāo)簽框類的控件類的控件:1) Caption屬性:在應(yīng)用程序界面上加入說明。2) Autosize屬性:決定控件是否自動改變大小以顯示其全部內(nèi)容。3) Backstyle屬性:用以指示標(biāo)簽是否透明.4) Bordstyle屬性:用以設(shè)定控件是否有邊框。u 文本框類的控件:1) Text屬性:通過像text屬性賦值的方法來改變該屬性的值。2) Maxlength屬性:該屬性設(shè)定在文本框控件中能夠輸入的最大字符數(shù)。3) Multline屬性:該屬性設(shè)定text字符串中是否接受換行符。4) Scrollbars屬性:該屬性決定是否為文本框加滾動條。5) Passwo

12、rdchar屬性:該屬性設(shè)定輸入文本的特殊顯示字符,在設(shè)計密碼程序時非常有用。6) Change事件屬性:文本框的內(nèi)容發(fā)生改變時,相應(yīng)的控件之間發(fā)生相應(yīng)的改變,具有即時性。7) Keypress:事件由用戶在文本框控件中按任意鍵觸發(fā)。8) Alignment屬性:設(shè)定控件中的文本對其方式9) Appearance屬性:設(shè)定一個對象在運行時是否可以3D效果顯示。10) BackColor屬性:設(shè)置返回背景色11) BorderStyle屬性:設(shè)置對象的邊框樣式12) DataField屬性:設(shè)定數(shù)據(jù)使用者將被綁定到的字段名13) DataFormat屬性:設(shè)定DataFormat對象,用于數(shù)據(jù)綁

13、定14) DataMember屬性:從數(shù)據(jù)供應(yīng)程序提供的幾個數(shù)據(jù)成員中返回/設(shè)定一個特定的數(shù)據(jù)成員15) DataSource屬性:設(shè)定控件綁定的一個數(shù)據(jù)源16) DragIcon屬性:設(shè)定圖標(biāo),它將在拖放操作中作為指針顯示17) DragMode模式:設(shè)定一個值,確定在拖放操作中所用方式18) Enabled屬性:設(shè)置/返回運行時TextBox是否相應(yīng)用戶事件19) Font屬性:設(shè)置/返回字體屬性20) ForeColor屬性:設(shè)置/返回文本的前景色21) Height屬性:設(shè)置/返回TextBox的高度22) IMEMode屬性:設(shè)置/返回數(shù)值用來確定輸入方法編輯器的狀態(tài)23) Inde

14、x屬性:設(shè)置/返回唯一的標(biāo)識控件數(shù)組中該控件的編號24) Left屬性:設(shè)置/返回TextBox控件的水平位置25) Locked屬性:設(shè)置/返回TextBox中文本是否可編輯26) LinkItem屬性:設(shè)置/返回DDE與另一個應(yīng)用程序會話時,傳給接受端的數(shù)據(jù)27) MaxLength屬性:設(shè)置/返回一個值,指定在TextBox控件中能夠輸入的字符最大值28) MouseIcon屬性:設(shè)置/返回自定義鼠標(biāo)的圖標(biāo)29) Top屬性:設(shè)置/返回TextBox控件的垂直位置30) Tag屬性:存儲過程所需的附加數(shù)據(jù)u 文本框類的事件:1) Change事件:當(dāng)改變文本框內(nèi)容時發(fā)生2) Click事

15、件:鼠標(biāo)單擊控件時發(fā)生3) DblClick事件:用鼠標(biāo)左鍵雙擊控件時發(fā)生4) DragDrop事件:在一個完整的拖放動作完成或使用Drag方法,并將其Action參數(shù)設(shè)置為2時發(fā)生5) DragOver事件:在拖放操作正在進行時發(fā)生6) GotFocus事件:當(dāng)一個命令按鈕獲得焦點時發(fā)生7) LinkClose事件:當(dāng)一個DDE對話結(jié)束時發(fā)生8) LinkError事件:當(dāng)一個DDE對話框過程中出現(xiàn)錯誤時,該事件發(fā)生9) KeyDown事件:當(dāng)命令按鈕具有焦點時按下一個鍵時發(fā)生10) Validate事件:在焦點轉(zhuǎn)換到另一個控件之前發(fā)生,此時該控件的Causes Validation 屬性值

16、設(shè)置為True u 單選按鈕類的控件:1) Caption屬性:顯示在控件上的文本,是單選按鈕的標(biāo)題。2) Alignment屬性:決定單選按鈕的標(biāo)題在控件上的位置。3) Enable屬性:該控件為灰色時為false,表示運行時不可用。4) Index屬性:屬性值表示為單選按鈕組成的控件中某個按鈕的索引值。5) Tabindex屬性:建立控件時,vb自動為其分配一個tabindex值,利用tab鍵可以在控件之間切換焦點。6) Value屬性:反映控件狀態(tài)的屬性,返回true表示已選擇了該按鈕。7) Appearance 屬性:設(shè)置/返回一個對象在運行時是否以3D效果顯示。8) BackColo

17、r 屬性:設(shè)置/返回背景色。9) Container 屬性:設(shè)置/返回Form上的控件屬性。10) DataField 屬性:設(shè)置/返回數(shù)據(jù)使用者將被綁定到的字段名。11) DataFormat 屬性:設(shè)置/返回DataFormat對象,一個綁定對象將附加到它。12) DisabledPicture 屬性:設(shè)置/返回一個對圖像的引用,該圖片在控件無效時顯示在控件中。13) DownPicture 屬性:設(shè)置/返回一個對圖片的引用,該圖片在控件單擊下處于壓下狀態(tài)時顯示。14) DragMode 屬性:設(shè)置/返回一個值,確定在拖放操作中所用的方式。15) Font 屬性:設(shè)置/返回字體屬性。16)

18、 FontBold 屬性:設(shè)置/返回字體粗體樣式。17) FontItalic 屬性:設(shè)置/返回字體斜體樣式。 18) FontStrikethru 屬性:設(shè)置/返回字體刪除線樣式。19) FontUnderLine 屬性:設(shè)置/返回字體下劃線樣式。20) FontName 屬性:設(shè)置/返回控件中顯示文本所用的字體大小。21) FontSize 屬性:設(shè)置/返回控件中顯示文本所用的字體大小22) Height 屬性:設(shè)置/返回控件的高度。23) MaskColor 屬性:設(shè)置/返回一個在控件的圖片中作為掩碼的顏色。24) MousePointer 屬性:設(shè)置/返回一個值,該值指示在運行時當(dāng)鼠標(biāo)

19、移動到對象上時顯示的指針類型。u 單選按鈕類的常用事件:1) Click 事件:鼠標(biāo)單擊控件時發(fā)生。2) DbClick事件: 當(dāng)在一個對象上按下和釋放鼠標(biāo)按鈕并再次按下和釋放按鈕時,該事件發(fā)生。3) DragDrop事件:在一個完整的拖放動作或使用Drag方法,并將其Action參數(shù)設(shè)置位2時,該事件發(fā)生。4) DragOver事件: 在拖放操作正在進行時發(fā)生。5) GotFocus事件: 當(dāng)獲的對象焦點時發(fā)生。6) LostFocus事件:當(dāng)對象失去焦點時發(fā)生。7) KeyDown事件:當(dāng)控件具有焦點時按下一個鍵時發(fā)生。8) KeyUp事件: 當(dāng)控件具有焦點時釋放一個鍵時發(fā)生。9) Key

20、Press事件:當(dāng)用戶按下或釋放ANSI一個鍵時發(fā)生。10) MouseDown事件:當(dāng)在控件上按下鼠標(biāo)鍵時發(fā)生。11) MouseMove事件:在控件上移動鼠標(biāo)時發(fā)生。12) MouseUp事件:在控件上釋放鼠標(biāo)時發(fā)生。u 復(fù)選按鈕類的控件:1) Caption屬性:缺省為check1。2) Index屬性:該屬性值為復(fù)選框控件數(shù)組的下標(biāo).3) Value屬性:value為0表空白,為1表勾號,為2表示灰色勾號.4) Container屬性:Form控件上的容器。5) DataChangeed屬性:設(shè)置/返回一個值,指出被綁定的控件中的數(shù)據(jù)已經(jīng)被某進程修改。6) DataField屬性:設(shè)置

21、或返回數(shù)據(jù)使用者將被綁定到的字段名。7) DataFormat 屬性:設(shè)置或返回DataFormat對象,用于數(shù)據(jù)綁定。8) Datasource屬性:設(shè)置或返回控件綁定的一個數(shù)據(jù)源。9) DisabledPicture屬性:設(shè)置或返回一個對圖片的引用,該圖片在控件無效時顯示在控件中。10) DownPicture 屬性:設(shè)置或返回一個對圖片的引用,該圖片在控件被單擊處于壓下狀態(tài)時顯示。11) DragIcon屬性:設(shè)置或返回圖標(biāo),它將在拖放操作中做為指針顯示。12) DragMode屬性:設(shè)置返回一個值,確定在拖放操作中所用方式。13) Font屬性:設(shè)置或返回字體的屬性。14) Name屬

22、性:設(shè)置或返回控件的標(biāo)識名。15) Value屬性:設(shè)置或返回控件的狀態(tài)。u 復(fù)選按鈕類的控件的基本事件:1) Click事件:鼠標(biāo)單擊控件時發(fā)生。2) DragDrop事件:在一個完整的拖放動作完成或使用Drag方法,并將其Action參數(shù)設(shè)置為2時發(fā)生。3) DragOver事件:在拖放操作正在進行時發(fā)生。4) GotFocus事件:在對象獲的焦點時發(fā)生。,5) OLECompleteDrag事件:當(dāng)源部件被放到目標(biāo)時發(fā)生,并通知源部件拖放操作被執(zhí)行或取消。6) OLEDragDrag事件:當(dāng)源部件決定放操作能發(fā)生,卻源部件被放到目標(biāo)部件時,此事件發(fā)生。u 框架類的控件:1) List屬性

23、:列表框控件的表項是使用數(shù)組的方式保存,數(shù)組的每一個元素存儲列表控件的一個表項1) Listcount屬性:控件列表部分項目的個數(shù)。2) Mutselect屬性:可以設(shè)置列表框為單選或允許多選屬性.3) Selectd屬性:標(biāo)示一個數(shù)組,數(shù)組各元素為:4) Selected(0),selected(1)u 滾動條類的控件:1) Value屬性:滾動條上滑塊所在位置由value值所決定。2) Max和min屬性:對value值的最大,最小進行限制。3) Largechange屬性:用戶點擊滾動條與鍵頭之間的區(qū)域時,value的改變量。4) OnClick事件:用來添加按鈕的單擊事件所執(zhí)行的程序代

24、碼。u 定時器類類的控件:1) Interval屬性:表示定時的時間間隔,以毫秒為單位。2) Enable屬性:為true時(缺省值),激活定時器開始計時;為false時處于休眠狀態(tài).數(shù)據(jù)庫連接方式選擇Visual basic6.0連接數(shù)據(jù)庫的主要方式以下幾種方式:一是:用data控件進行數(shù)據(jù)庫鏈接 ,二是利用adodc(ADO Data Control)進行數(shù)據(jù)庫鏈接 。三是: 利用DataEnvironment進行數(shù)據(jù)庫鏈接.四是利用ADO(ActiveX Data Objects)進行編程:現(xiàn)在我們來大致對這幾種技術(shù)應(yīng)用介紹:一、 用data控件進行數(shù)據(jù)庫鏈接.第一步:給窗體添加一個Da

25、ta控件。第二步:用Access建立一個名為Pad的數(shù)據(jù)庫,在庫中建立一個表Myset,給表添加四個字段:backcolor(數(shù)據(jù)),forecolor(文本),fontname(文本),fontsize(文本)。注意:請將庫文件存入程序所在目錄。 如果你的機器沒安裝有Access,可通過VB建庫。二、 利用adodc(ADO Data Control)進行數(shù)據(jù)庫鏈接:使用adodata控件訪問數(shù)據(jù)庫可以完全不用編寫代碼,只需要通過簡單的設(shè)置和操作其屬性就可以實現(xiàn)與數(shù)據(jù)庫的連接,通過綁定數(shù)據(jù)感知控件,就能提供一個訪問數(shù)據(jù)庫的界面,用來實現(xiàn)對數(shù)據(jù)庫的瀏覽,貼加,刪除,修改等操作.三、 利用DAO

26、對數(shù)據(jù)庫進行操縱:在visual basic 中提供了兩種與jet數(shù)據(jù)引擎接口的方法:data控件與數(shù)據(jù)訪問對象(DAO)DAO是database object的英文縮寫,要訪問數(shù)據(jù)庫一方面數(shù)據(jù)庫要提供訪問接口,另一方面要在編程環(huán)境中有對數(shù)據(jù)庫的支持.DAO模型是設(shè)計關(guān)系數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)的對象類的集合.他們提供了管理關(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ù),是目前使用最廣泛的數(shù)據(jù)庫系統(tǒng)。20世紀70年代以后開發(fā)的數(shù)據(jù)庫管理系統(tǒng)

27、產(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),對這些數(shù)據(jù)結(jié)構(gòu)有其他的操作。結(jié)構(gòu)化查詢語言SQL(Structured Query Language)是一種介于關(guān)系代數(shù)與關(guān)系演算之間的語言,其功能包括查詢、操縱、定義和控制四個方面,是一個通用的、功能極強的關(guān)系數(shù)據(jù)庫語言。目前已成為關(guān)系數(shù)據(jù)庫的標(biāo)準語言 Microsoft Access介紹:使用 Microsoft Access,可以在單一的數(shù)據(jù)庫文件中管理所有的信息。

28、在這個文件中,用戶可以將自己的數(shù)據(jù)分別保存在各自獨立的存儲空間中,這些空間稱作表;可以使用聯(lián)機窗體來查看、添加及更新表中的數(shù)據(jù);使用查詢來查找并檢索所要的數(shù)據(jù);也可以使用報表以特定的版面布置來分析及打印數(shù)據(jù)。 如果要保存數(shù)據(jù),請為每一種類型的信息創(chuàng)建一個表。如果要從查詢、窗體或報表中的多個表中將數(shù)據(jù)合并在一起,就要定義各個表之間的關(guān)系。 如果要搜索并檢索符合指定條件的數(shù)據(jù),包括來自多個表中的數(shù)據(jù),就要創(chuàng)建查詢。查詢的同時也可以更新或刪除多條記錄,并對數(shù)據(jù)執(zhí)行內(nèi)嵌或自定義的計算。 如果要簡單地直接在某個表中查看、輸入及更改數(shù)據(jù),請創(chuàng)建一個窗體。在打開一個窗體時,Microsoft Ac

29、cess 將從一個或多個表中檢索數(shù)據(jù),并使用用戶在“窗體向?qū)А边x擇的版面布局或所創(chuàng)建的版面布局,將窗體顯示在屏幕上。 如果要分析數(shù)據(jù)或?qū)?shù)據(jù)以特定的方式打印出來,請創(chuàng)建一個報表。例如,可以打印一份將數(shù)據(jù)分組并計算數(shù)據(jù)總和的報表,也可以打印另一份帶有各種數(shù)據(jù)格式的打印郵件標(biāo)簽的報表。第一章 系統(tǒng)的分析第一章 系統(tǒng)的分析21 系統(tǒng)開發(fā)的目標(biāo)和思想本系統(tǒng)開發(fā)目標(biāo)是服務(wù)于高速公路收費管理人員,方便工作人員,對過往車輛收費,發(fā)放收費票據(jù)記錄,對信息的分類管理等.同時力求做到界面人性化,功能齊全,數(shù)據(jù)存儲安全.22 系統(tǒng)的可行性分析技術(shù)上:本系統(tǒng)采用visual basic 6.0與微軟的acc

30、ess作為數(shù)據(jù)庫,技術(shù)上開發(fā)難度一般.經(jīng)濟上:本系統(tǒng)服務(wù)于醫(yī)院藥方管理人員,提高了工作人員辦事效率,節(jié)省了開支.所以具有經(jīng)濟上的可行性.社會上:本系統(tǒng)同時也方便了廣大病人,以及醫(yī)院管理人員.所以具有社會可行性.第二章 系統(tǒng)的設(shè)計31 系統(tǒng)的功能結(jié)構(gòu)設(shè)計程序登陸主界面出庫入庫數(shù)據(jù)維護窗口幫助32 系統(tǒng)的數(shù)據(jù)庫設(shè)計1:草藥表:2:處方表設(shè)計:3:費用表設(shè)計:4:庫存表設(shè)計5:科室代碼表:6:門診收費表:7:藥品信息表:8:用戶表:9:藥方表:32 界面設(shè)計與代碼設(shè)計1,登入界面設(shè)計:代碼設(shè)計:Public userdwname As StringPublic username As StringP

31、ublic userright As StringPublic conn As StringPrivate Sub Command1_Click()Dim password As StringDim respond As Stringusername = Text1.Textpassword = Text2.TextOn Error GoTo err1Adodc1.ConnectionString = connAdodc1.RecordSource = "select * from usertab where 用戶名=" & "'" &a

32、mp; username & "'" & " and " & "密碼=" & "'" & password & "'"Adodc1.RefreshIf Adodc1.Recordset.AbsolutePosition = adPosUnknown Thenrespond = MsgBox("用戶名或密碼錯誤,請重新輸入!", vbOKOnly, "警告")If respond <

33、;> vbOKOnly ThenText1.SetFocusText1.Text = ""Text2.Text = ""username = ""password = ""End IfElseuserright = Adodc1.Recordset.Fields("權(quán)限")Unload frmloginfrmmain.ShowEnd IfExit Suberr1:MsgBox "系統(tǒng)配置錯誤!無法與服務(wù)器連接!"userright = "0"Unlo

34、ad Mefrmsysset.ShowEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Form_Load()Text1.Text = ""Text2.Text = ""'conn = Frmstart.pconnconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "his.mdb;Persist Security Info=False"End

35、Sub2. 用戶修改密碼界面設(shè)計:代碼設(shè)計:Private Sub Command1_Click()On Error GoTo err1username = frmlogin.usernameIf Text1.Text <> "" And Text2.Text <> "" ThenAdodc1.RecordSource = "select * from usertab where 用戶名='" & username & "' and 密碼=" & &q

36、uot;'" & Text1.Text & "'"Adodc1.RefreshIf Adodc1.Recordset.AbsolutePosition = adPosUnknown ThenMsgBox "舊密碼錯誤!"Text1.Text = ""Text2.Text = ""Text1.SetFocusElseAdodc1.Recordset.Fields("密碼") = Text2.TextAdodc1.Recordset.UpdateMsgBox

37、 "密碼修改成功!"Text1.Text = ""Text2.Text = ""End IfElseMsgBox "新舊密碼均不得為空!"Text1.SetFocusEnd IfExit Suberr1:MsgBox "遠程服務(wù)器連接失??!"End SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text1.SetFocusEnd SubPrivate Sub Command3_Cl

38、ick()Unload MeEnd SubPrivate Sub Form_Load()On Error GoTo err2chpwd.Top = (frmmain.Height - chpwd.Height) / 2 - 500chpwd.Left = (frmmain.Width - chpwd.Width) / 2Adodc1.ConnectionString = frmlogin.connText1.Text = ""Text2.Text = ""Exit Suberr2:MsgBox "遠程服務(wù)器連接失??!"End SubP

39、rivate Sub Form_Unload(Cancel As Integer)frmmain.StatusBar1.Panels(2) = "目前沒有窗口被激活"End SubPrivate Sub Form_Activate()frmmain.StatusBar1.Panels(2) = "活動窗口:" & chpwd.CaptionEnd Sub3,關(guān)于界面設(shè)計:代碼設(shè)計:Private Sub cmdOK_Click() Unload MeEnd SubPrivate Sub Form_Load()frmAbout.Top = (frm

40、main.Height - frmAbout.Height) / 2 - 500frmAbout.Left = (frmmain.Width - frmAbout.Width) / 2 Me.Caption = "關(guān)于" & App.Title lblTitle.Caption = App.Title End SubPublic Sub StartSysInfo() On Error GoTo SysInfoErr Dim rc As Long Dim SysInfoPath As String ' 試圖從注冊表中獲得系統(tǒng)信息程序的路徑及名稱. If Get

41、KeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then ' 試圖僅從注冊表中獲得系統(tǒng)信息程序的路徑. ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then ' 已知32位文件版本的有效位置 If (Dir(SysInfoPath & "MSINFO32.EXE") <> "") The

42、n SysInfoPath = SysInfoPath & "MSINFO32.EXE" ' 錯誤 - 文件不能被找到. Else GoTo SysInfoErr End If ' 錯誤 - 注冊表相應(yīng)條目不能被找到. Else GoTo SysInfoErr End If Call Shell(SysInfoPath, vbNormalFocus) Exit SubSysInfoErr: MsgBox "此時系統(tǒng)信息不可用", vbOKOnlyEnd SubPublic Function GetKeyValue(KeyRoot

43、As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean Dim i As Long ' 循環(huán)計數(shù)器 Dim rc As Long ' 返回代碼 Dim hKey As Long ' 打開的注冊表關(guān)鍵字句柄 Dim hDepth As Long ' Dim KeyValType As Long ' 注冊表關(guān)鍵字數(shù)據(jù)類型 Dim tmpVal As String ' 注冊表關(guān)鍵字值的臨時存儲器 Dim KeyValSize As Long

44、' 注冊表關(guān)鍵自變量的尺寸 '- ' 打開 HKEY_LOCAL_MACHINE. 下的 RegKey '- rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' 打開注冊表關(guān)鍵字 If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' 處理錯誤. tmpVal = String$(1024, 0) ' 分配變量空間 KeyValSize = 1024 ' 標(biāo)記變量尺寸 '- ' 檢索注冊表

45、關(guān)鍵字的值. '- rc = RegQueryValueEx(hKey, SubKeyRef, 0, _ KeyValType, tmpVal, KeyValSize) ' 獲得/創(chuàng)建關(guān)鍵字值 If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' 處理錯誤 If (Asc(Mid(tmpVal, KeyValSize, 1) = 0) Then ' Win95 外接程序空終結(jié)字符串. tmpVal = Left(tmpVal, KeyValSize - 1) ' Null 被找到,從字符串中分離出來

46、 Else ' WinNT 沒有空終結(jié)字符串. tmpVal = Left(tmpVal, KeyValSize) ' Null 沒有被找到, 分離字符串 End If '- ' 決定轉(zhuǎn)換的關(guān)鍵字的值類型. '- Select Case KeyValType ' 搜索數(shù)據(jù)類型. Case REG_SZ ' 字符串注冊關(guān)鍵字數(shù)據(jù)類型 KeyVal = tmpVal ' 復(fù)制字符串的值 Case REG_DWORD ' 四字節(jié)的注冊表關(guān)鍵字數(shù)據(jù)類型 For i = Len(tmpVal) To 1 Step -1 '

47、將每位進行轉(zhuǎn)換 KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1) ' 生成值字符。 By Char。 Next KeyVal = Format$("&h" + KeyVal) ' 轉(zhuǎn)換四字節(jié)的字符為字符串 End Select GetKeyValue = True ' 返回成功 rc = RegCloseKey(hKey) ' 關(guān)閉注冊表關(guān)鍵字 Exit Function ' 退出 GetKeyError: ' 錯誤發(fā)生后將其清除. KeyVal = "" &#

48、39; 設(shè)置返回值到空字符串 GetKeyValue = False ' 返回失敗 rc = RegCloseKey(hKey) ' 關(guān)閉注冊表關(guān)鍵字End FunctionPrivate Sub Form_Unload(Cancel As Integer)frmmain.StatusBar1.Panels(2) = "目前沒有窗口被激活"End SubPrivate Sub Form_Activate()frmmain.StatusBar1.Panels(2) = "活動窗口:" & frmAbout.CaptionEnd Su

49、b4:庫存登記界面設(shè)計:代碼設(shè)計:Public Sub Guolu()With Adodc1.RecordSource = "select * from " & frmmain.datas & " where 失效標(biāo)記=false".RefreshFor i = 0 To .Recordset.RecordCountIf Not .Recordset.EOF Then If .Recordset.Fields("失效期") <= Date Then .Recordset.Fields("失效標(biāo)記&quo

50、t;) = True .Recordset.Update Else .Recordset.Fields("失效標(biāo)記") = False .Recordset.Update End If.Recordset.MoveNextEnd IfNextEnd WithEnd SubPrivate Sub combo2_Change()If Combo2.Text <> "西藥中成藥庫" And Combo2.Text <> "中草藥庫" And Combo2.Text <> "器械材料庫"

51、 ThenText1.Enabled = FalseText18.Enabled = FalseEnd IfEnd SubPrivate Sub Combo2_Click()Select Case Combo2.TextCase "西藥中成藥庫" frmmain.datas = "kcyp" frminput.Caption = "西藥和中成藥入庫登記" frmmain.kcode = "ypcode" Call Guolu Text1.Enabled = True Text18.Enabled = TrueCas

52、e "中草藥庫" frmmain.datas = "caoyao" frminput.Caption = "中草藥入庫登記" frmmain.kcode = "cycode" Call Guolu Text1.Enabled = True Text18.Enabled = TrueCase "器械材料庫" frmmain.datas = "qixie" frminput.Caption = "醫(yī)療器械和材料入庫登記" frmmain.kcode = &qu

53、ot;qxcode" Call Guolu Text1.Enabled = True Text18.Enabled = TrueCase Else Text1.Enabled = False Text18.Enabled = False frminput.Caption = "庫存登記"End SelectEnd SubPrivate Sub Command1_Click()Dim rq1 As StringDim rq2 As StringDim rq3 As StringOn Error GoTo err1With Adodc1.RecordSource = "select * from " & frmmain.datas & " order by ID".Refresh.Recordset.AddNew.Recordset.Fields("編號") = Text1.Text.Recordset.Fields("名稱") = Text18.Text.Recordset.Fields("規(guī)格") = Tex

溫馨提示

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

評論

0/150

提交評論