住院病人管理系統(tǒng)_第1頁(yè)
住院病人管理系統(tǒng)_第2頁(yè)
住院病人管理系統(tǒng)_第3頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、沈陽(yáng)航空航天大學(xué)課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)名稱: 軟件綜合課程設(shè)計(jì)課程設(shè)計(jì)題目: 病人住院管理院(系):計(jì)算機(jī)學(xué)院專 業(yè):班 級(jí):學(xué) 號(hào):姓 名:指導(dǎo)教師:完成日期: 2011年09月 09日目錄1 系統(tǒng)分析 11.1需求分析 11.2開發(fā)工具 1ISUAL BASIC 6.0 1ICROSOFT OFFICE ACCESS 22 概要設(shè)計(jì) 42.1數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì) 42.2系統(tǒng)模塊設(shè)計(jì) 63 詳細(xì)設(shè)計(jì) 73.1 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì) 73.2 系統(tǒng)子模塊設(shè)計(jì) 8編寫全局變量和通用過程 8用戶管理模塊 10病人資料管理模塊 10費(fèi)用輸入模塊 134 調(diào)試分析 155 測(cè)試及運(yùn)行結(jié)果 165.1用戶登

2、陸界面 165.2用戶管理界面 175.3病人資料管理界面 18參考文獻(xiàn) 21附 錄 221系統(tǒng)分析1.1需求分析實(shí)現(xiàn)一個(gè)病人住院管理系統(tǒng),系統(tǒng)可以連接數(shù)據(jù)庫(kù)。病人入院時(shí),住在指定 科室的病房(如外科、內(nèi)科、兒科等),到每個(gè)病人有一個(gè)主治醫(yī)生負(fù)責(zé),可以選 擇單人間和三人間病房,如果選擇三人間病房,床位由系統(tǒng)分配。入院時(shí)通過該 系統(tǒng)將病人的信息添加數(shù)據(jù)庫(kù)中。當(dāng)病人出院時(shí)計(jì)算住院期間的費(fèi)用(藥費(fèi)、床 費(fèi)、餐費(fèi)等)。系統(tǒng)能夠按照病人、病房、主治醫(yī)生進(jìn)行查詢,所以查詢模塊至少 有三個(gè)界面分別顯示相關(guān)信息。1.2開發(fā)工具Visual Basic是 一種由微軟公司開發(fā)的包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動(dòng)編程語(yǔ) 言

3、。從任何標(biāo)準(zhǔn)來說,VB都是世界上使用人數(shù)最多的語(yǔ)言一一不僅是盛贊VB的開發(fā)者還是抱怨VB的開發(fā)者的數(shù)量。它源自于BASIC編程語(yǔ)言。VB擁有圖形 用戶界面(GUI )和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用 DAO、 RDO、ADO連接數(shù)據(jù)庫(kù),或者輕松的創(chuàng)建 ActiveX控件。程序員可以輕松的使用 VB提供的組件快速建立一個(gè)應(yīng)用程序。VB使用了可以簡(jiǎn)單建立應(yīng)用程序的GUI系統(tǒng),但是又可以開發(fā)相當(dāng)復(fù)雜的程序。VB的程序是一種基于窗體的可視化組件安排的聯(lián)合,并且增加代碼來指定組件的屬性和方法。因?yàn)槟J(rèn)的屬性和方法已經(jīng)有一部分定義在了組件內(nèi),所以程序員不用寫多少代碼就可以完成一個(gè)簡(jiǎn)單的程序

4、。過去的版本里面VB程序的性能問題一直被放在了桌面上,但是隨著計(jì)算機(jī)速度的飛速增加,關(guān)于性能的爭(zhēng)論已經(jīng)越來越少。窗體控件的增加和改變可以用拖放技術(shù)實(shí)現(xiàn)。一個(gè)排列滿控件的工具箱用來顯示可用控件(比如文本框或者按鈕 )。每個(gè)控件都有自己的屬性和事件。 默認(rèn)的屬性值會(huì)在控件創(chuàng)建的時(shí)候提供,但是程序員也可以進(jìn)行更改。很多 的屬性值可以在運(yùn)行時(shí)候隨著用戶的動(dòng)作和修改進(jìn)行改動(dòng),這樣就形成了一個(gè)動(dòng)態(tài)的程序。舉個(gè)例子來說:窗體的大小改變事件中加入了可以改變控件 位置的代碼,在運(yùn)行時(shí)候每當(dāng)用戶更改窗口大小,控件也會(huì)隨之改變位置。 在文本框中的文字改變事件中加入相應(yīng)的代碼,程序就能夠在文字輸入的時(shí)候自動(dòng)翻譯或者阻

5、止某些字符的輸入。VB的程序可以包含一個(gè)或多個(gè)窗體,或者是一個(gè)主窗體和多個(gè)子窗體,類似于操作系統(tǒng)的樣子。有很少功能的對(duì)話框窗口(比如沒有最大化和最小 化按鈕的窗體)可以用來提供彈出功能。VB的組件既可以擁有用戶界面,也可以沒有。這樣一來服務(wù)器端程序就可以處理增加的模塊。VB使用參數(shù)計(jì)算的方法來進(jìn)行垃圾收集,這個(gè)方法中包含有大量的對(duì) 象,提供基本的面向?qū)ο笾С帧R驗(yàn)樵絹碓蕉嘟M建的出現(xiàn),程序員可以選用 自己需要的擴(kuò)展庫(kù)。和有些語(yǔ)言不一樣,VB對(duì)大小寫不敏感,但是能自動(dòng)轉(zhuǎn)換關(guān)鍵詞到標(biāo)準(zhǔn)的大小寫狀態(tài),以及強(qiáng)制使得符號(hào)表入口的實(shí)體的變量名稱遵循書寫規(guī)則。默認(rèn)情況下字符串的比較是對(duì)大小寫敏感的,但是可以關(guān)

6、 閉這個(gè)功能。Microsoft Office Access (前名 Microsoft Access是由微軟發(fā)布的關(guān)聯(lián)式數(shù)據(jù) 庫(kù)管理系統(tǒng)。它結(jié)合了 Microsoft Jet Database Engine和 圖形用戶界面兩項(xiàng)特點(diǎn), 是Microsoft Office的成員之一。其實(shí)Access也是微軟公司另一個(gè)通訊程序的名 字,想與ProComm以及其他類似程序來競(jìng)爭(zhēng)??墒鞘潞笪④涀C實(shí)這是個(gè)失敗計(jì) 劃,并且將它中止。數(shù)年后他們把名字重新命名于數(shù)據(jù)庫(kù)軟件。Access在 2000年的時(shí)候成為了計(jì)算機(jī)等級(jí)考試中的計(jì)算機(jī)二級(jí)的一種數(shù)據(jù)庫(kù)語(yǔ)言并且因?yàn)樗囊?學(xué)易用的特點(diǎn)正逐步取代傳統(tǒng)的 VFP成為

7、二級(jí)中最受歡迎的數(shù)據(jù)庫(kù)語(yǔ)言。Access是微軟公司推出的基于 Windows的桌面關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng) (RDBMS,即卩 Relational Database Management System是 Office 系列應(yīng)用軟件之 一。它提供了表、查詢、窗體、報(bào)表、頁(yè)、宏、模塊7種用來建立數(shù)據(jù)庫(kù)系統(tǒng)的對(duì)象;提供了多種向?qū)А⑸善?、模板,把?shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、界面設(shè)計(jì)、報(bào) 表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫(kù)管理系統(tǒng)提供了方便,也使得普 通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。Access能夠存取 Access/Jet Microsoft SQL Server Oracle(甲骨

8、文軟件公司), 或者任何ODBC兼容數(shù)據(jù)庫(kù)內(nèi)的資料。熟練的軟件設(shè)計(jì)師和資料分析師利用它 來開發(fā)應(yīng)用軟件,而一些不熟練的程序員和非程序員的進(jìn)階用戶則能使用它來 開發(fā)簡(jiǎn)單的應(yīng)用軟件。雖然它支援部分面向?qū)ο螅∣OP)技術(shù),但是未能成為一 種完整的面向?qū)ο箝_發(fā)工具。MS與一般的RDBMS完全不同,它缺乏數(shù)據(jù)庫(kù)觸發(fā)和預(yù)存程序。自從Access 2000 (Jet 4.0,開發(fā)人員可以在查詢中設(shè)定參數(shù),這跟預(yù)存程序很相似的,但這些“預(yù)存程序”只能處理一個(gè)程序當(dāng)資料表內(nèi)數(shù)據(jù)發(fā)生變化時(shí), 它確實(shí)允許形式包含被引發(fā)的代碼,使用是普通的透過查詢和其他技術(shù)在進(jìn)入營(yíng)運(yùn)儲(chǔ)存的程序在方面RDBMS支援這些的。進(jìn)入可提供的

9、編程語(yǔ)言,當(dāng)時(shí)在另一個(gè)內(nèi)產(chǎn)品Microsoft Office家具,微軟公司應(yīng)用的 Visual Basic。兩個(gè)數(shù)據(jù)庫(kù)進(jìn)入信息庫(kù)COM組成部分被提供:這筆遺產(chǎn)數(shù)據(jù)存取物體(DAO),用進(jìn)入和新只可提供ActiveX數(shù)據(jù)對(duì)象(忙亂)。Microsoft Access容易被應(yīng)用于小的工程,但是如果設(shè)計(jì)的不好對(duì)大工程 是無用的。全部數(shù)據(jù)庫(kù)質(zhì)問,形式和報(bào)告被儲(chǔ)存在數(shù)據(jù)庫(kù)里,并且與相關(guān)的 模型的理想?yún)f(xié)調(diào),沒有與他們做一個(gè)身體上組織的階層的可能性。一種設(shè)計(jì)技術(shù)是把進(jìn)入應(yīng)用在數(shù)據(jù)和計(jì)劃之間進(jìn)行分發(fā)。一個(gè)數(shù)據(jù)庫(kù)應(yīng)該只 包含桌子和關(guān)系,當(dāng)另一個(gè)將有全部計(jì)劃時(shí),形式,報(bào)告和質(zhì)問和對(duì)第一個(gè)數(shù)據(jù) 庫(kù)桌子的連接。令人遺

10、憾,當(dāng)連結(jié)時(shí),進(jìn)入允許沒有有關(guān)的道路,因此那些發(fā)展 環(huán)境作為這種生產(chǎn)環(huán)境有相同的道路應(yīng)該 (雖然你寫你們自己的能動(dòng)態(tài)連接程序 常規(guī)在里VBA那搜出能一定背面結(jié)束檔案以透過這個(gè)目錄樹搜尋,如果它發(fā)現(xiàn) 這條電流通路它不能)。這種技術(shù)也允許開發(fā)者在不同的檔案中分申請(qǐng),因此一些架構(gòu)是可能的。2概要設(shè)計(jì)2.1數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)包括的實(shí)體主要有病人、科室、病房、醫(yī)生、費(fèi)用等。下面分別介紹各實(shí)體的E-R圖,通過E-R圖可以了解各實(shí)體的屬性??剖覍?shí)體的屬性圖如圖2.1所示。病房實(shí)體的屬性圖如圖2.2所示醫(yī)生實(shí)體的屬性圖如圖2.3所示病人實(shí)體的屬性圖如圖2.4所示圖2.2病人實(shí)體的屬性圖費(fèi)用實(shí)體的E-R圖

11、如圖2.5所示。圖2.5費(fèi)用實(shí)體的屬性圖實(shí)體間的E-R圖如圖2.6所示。病人入院時(shí),根據(jù)病人情況選擇科室和病房, 每個(gè)科室有多個(gè)病人就診,每個(gè)病房可以住多個(gè)病人。一個(gè)病人由一個(gè)醫(yī)生負(fù)責(zé), 作為該病人的主治醫(yī)生,每個(gè)醫(yī)生可能負(fù)責(zé)多個(gè)病人。病人住院期間的費(fèi)用根據(jù) 時(shí)間日期來計(jì)算。圖2.6實(shí)體間的E-R圖2.2系統(tǒng)模塊設(shè)計(jì)整個(gè)系統(tǒng)可分為三個(gè)模塊進(jìn)行設(shè)計(jì),主要包括病人基本信息管理,費(fèi)用數(shù)據(jù)錄入、查詢,病人、病房、主治醫(yī)生查詢,系統(tǒng)管理等部分,系統(tǒng)模塊圖如圖2.7所示。圖2.7系統(tǒng)模塊圖3詳細(xì)設(shè)計(jì)3.1數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)共建立六張表:科室表、病房表、醫(yī)生表、病人表、費(fèi)用表、操作員 表。以下分別列出

12、各表的字段說明??剖冶恚河糜诒4驷t(yī)院中各科室的信息。在系統(tǒng)中只使用科室編號(hào)和名稱, 將其單獨(dú)列出一張表可方便用戶修改科室。各字段參數(shù)如表3.1所示。表3.1科室表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明ID 自動(dòng)編號(hào)是科至編號(hào)科室文本20否科室名稱病房表:用于保存病房信息。包括病房編號(hào)、類型,以及不同類型病房床費(fèi) 其中病房類型分為單人間和三人間,且不同房間所需床費(fèi)不同。各字段參數(shù)如表 3.2所示。表3.2病房表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明ID自動(dòng)編號(hào)是病房編號(hào)病房文本20否病房類型床費(fèi)貨幣否床費(fèi)醫(yī)生表:用于醫(yī)院所有醫(yī)生的信息。病人需要醫(yī)生開藥來計(jì)算藥費(fèi),所以將藥費(fèi)作為醫(yī)生的一個(gè)屬性。各字段

13、參數(shù)如表3.3所示表3.3醫(yī)生表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明ID:自動(dòng)編號(hào)是醫(yī)生編號(hào)醫(yī)牛文本15否醫(yī)生姓名藥費(fèi)貨幣否開藥藥費(fèi)病房表:用于保存病人基本信息。包括病人編號(hào)、姓名、性別、身份證號(hào)碼、 入院時(shí)間、科室、病房、主治醫(yī)生及入院時(shí)所需繳納的基本費(fèi)用。其中科室、病 房和醫(yī)生均是各實(shí)體的編號(hào)。各字段參數(shù)如表 3.4所示。表3.4病人表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明ID自動(dòng)編號(hào)是病人編號(hào)姓名文本io否病人姓名身份證文本15否身份證性別P 文本2否性別 入院時(shí)間日期/時(shí)間否入院時(shí)間科室數(shù)字否科至編號(hào)病房數(shù)字否病房編號(hào)醫(yī)牛數(shù)字否醫(yī)生編號(hào)基本費(fèi)用r貨幣否基本費(fèi)用 備注備注備注信息費(fèi)用表:用

14、于保存病人住院期間的費(fèi)用。由于需要按病人查詢費(fèi)用,所以包含了病人ID。各字段參數(shù)如表3.5所示。表3.5費(fèi)用表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明ID:自動(dòng)編號(hào)是序號(hào):病人ID長(zhǎng)整型否病人編號(hào)日期日期/時(shí)間否費(fèi)用日期基本費(fèi)用貨幣否基本費(fèi)用床費(fèi)貨幣否床費(fèi)藥費(fèi)P貨幣否藥費(fèi)餐費(fèi)貨幣否餐費(fèi)總計(jì)r貨幣否總計(jì)結(jié)算貨幣否結(jié)算操作員表:用于保存操作本系統(tǒng)人員的登錄名、密碼等信息。各字段參數(shù)如 表 3.6所示。表3.6操作員表(User)字段名稱數(shù)據(jù)類型字段大小是否主鍵說明Name文本15是登錄名PWD文本16否登錄密碼UserClass字節(jié)否用戶類型3.2系統(tǒng)子模塊設(shè)計(jì)編寫全局變量和通用過程在由應(yīng)用程序向?qū)?chuàng)

15、建的程序框架中,創(chuàng)建了一個(gè)模塊文件“Modulel.baS,在該模塊中有一個(gè)名為“ Sub Main”的過程,用來啟動(dòng)應(yīng)用程序。在該模塊中還定義了一下全局變量和通用過程,供其他模塊使用。下面的過程用來執(zhí)行針對(duì)數(shù)據(jù)庫(kù)的操作,如創(chuàng)建/釋放數(shù)據(jù)庫(kù)連接,運(yùn)行查詢等。Public Sub Conn ect()連接數(shù)據(jù)庫(kù)If IsCo nnect = True The n如果連接標(biāo)記為真,則返回。否則會(huì)出錯(cuò)Exit SubEnd IfSet cnn = New ADODB.Connection關(guān)鍵 New 用于創(chuàng)建新對(duì)象 cnncnn.ConnectionString = Conn 設(shè)置連接字符串 Con

16、nectionString 屬性cnn.O pe n 打開到數(shù)據(jù)庫(kù)的連接If cnn. State adStateOpe n The n 判斷連接的狀態(tài)MsgBox 數(shù)據(jù)庫(kù)連接失敗, vbOKOnly + vbCritical,警告”如果連接不成功,則顯示提示信息,退出程序EndEnd IfIsCo nn ect = True 設(shè)置連接標(biāo)記,表示已經(jīng)連接到數(shù)據(jù)庫(kù)End SubPublic Sub Disconnect() 斷開與數(shù)據(jù)庫(kù)的連接Dim rc As LongIf IsConnect = False Then Exit Sub 如果連接標(biāo)記為假,標(biāo)明已經(jīng)斷開連接,則直接返回 cnn.C

17、lose 關(guān)閉連接Set cnn = NothingIsConnect = FalseEnd SubPublic Sub SQLExt(ByVal strSQLstmt As String) 執(zhí)行數(shù)據(jù)庫(kù)操作語(yǔ)句Dim cmd As New ADODB.Command創(chuàng)建 Command 對(duì)象 cmdConnect 連接到數(shù)據(jù)庫(kù)Set cmd.ActiveConnection = cnn 設(shè)置 cmd 的 ActiveConnection 屬性,指定與其關(guān)聯(lián)的數(shù) 據(jù)庫(kù)連接cmd.CommandText = strSQLstmt 設(shè)置要執(zhí)行的命令文本 cmd.ExecuteSet cmd = No

18、thingDisconnectEnd Sub用戶管理模塊用戶管理是大多數(shù)信息管理系統(tǒng)中都需要的功能,將用戶管理的功能設(shè)置為一個(gè)類,可提高代碼的可重用性。用戶管理類模塊名稱為“cisUse”,基本流程如圖 3.1。圖3.1用戶管理模塊流程圖病人資料管理模塊病人資料管理模塊是本系統(tǒng)的核心,包括病人資料的增加、修改、刪除等功能的實(shí)現(xiàn),可以在對(duì)話框中對(duì)病人資料進(jìn)行管理并連接到數(shù)據(jù)庫(kù)中?!霸黾印卑粹o有兩種狀態(tài),當(dāng)該按鈕病人入院時(shí),進(jìn)入該模塊點(diǎn)擊“增加”按鈕,可以增加一個(gè)病人,將病人的基本信息輸入,并添加到數(shù)據(jù)庫(kù)的病人表中,其流程如圖3.2。圖3.2病人資料管理模塊增加事件流程圖病人入院后可能會(huì)更換病房或

19、者出現(xiàn)其他變動(dòng),所以在該模塊還需要實(shí)現(xiàn)病人資料的即時(shí)更新。當(dāng)在 DataGrid 表格中選中一個(gè)病人記錄時(shí),“增加”按鈕的標(biāo)題將改變?yōu)椤靶薷摹?,此時(shí)單擊該按鈕將修改選中記錄的數(shù)據(jù),具體流程如圖33為了方便查詢,只顯示住院病人資料,若病人出院,需要將該病人的資料刪 除,及時(shí)更新數(shù)據(jù)庫(kù),進(jìn)入該模塊點(diǎn)擊“刪除”按鈕,可以將病人的基本信息刪 除,其流程如圖3.4。費(fèi)用輸入模塊費(fèi)用輸入模塊主要用來錄入病人指定時(shí)間的費(fèi)用。為減少錄入工作量,減少 錄入錯(cuò)誤,使用列表框顯示病人姓名,系統(tǒng)將自動(dòng)填充病人的基本費(fèi)用、床費(fèi)、 藥費(fèi),用戶也可以修改這些自動(dòng)填充的數(shù)據(jù)。對(duì)于最終的結(jié)算數(shù)據(jù),既可手工輸 入,也可單擊右側(cè)的

20、“ C”(計(jì)算)按鈕自動(dòng)計(jì)算。其主要流程如圖 3.5。圖3.5費(fèi)用輸入模塊流程圖4 調(diào)試分析(1) 信息不能全部顯示問題描述:數(shù)據(jù)文件輸出到 text 控件中輸出數(shù)據(jù)不能全部顯示。 問題分析: text 控件中且數(shù)據(jù)量比較大, 窗體不夠大,所以不能全部顯 示。解決方法:比較簡(jiǎn)單的方法就是把數(shù)據(jù)放到一個(gè)文本框(text )里,并在其中加上水平和垂直滾動(dòng)條。具體實(shí)現(xiàn)步驟為:先在窗體(form )里 加入一個(gè)文本框,采用默認(rèn)名textl;然后,設(shè)置文本框textl的屬性: text屬性設(shè)置為空,multiline屬性設(shè)置為true,scrollbars屬性設(shè)置為3 both;接著添加一段vb代碼即可

21、。(2) 運(yùn)行出錯(cuò) 問題描述:運(yùn)行點(diǎn)擊病人資料時(shí)出錯(cuò),調(diào)試時(shí)在設(shè)置 ADO 控件連接字 符串為全局變量 Conn 一行出錯(cuò)。問題分析:指示出錯(cuò)行并未有問題,可能原因是前面定義 SQL 語(yǔ)句時(shí) 出錯(cuò)。經(jīng)檢查分析,SELECT語(yǔ)句中醫(yī)生表中并未出現(xiàn)“主治醫(yī)生”這 一參數(shù)。解決方法:將SELECT語(yǔ)句中“主治醫(yī)生”改為“醫(yī)生”。修改后的SELECT 語(yǔ)句如下:strSQL2 = SELECT a.ID姓名,d科室,性別 身份證,入院時(shí)間,b.病房,c醫(yī) 生,基本費(fèi)用 ,備注 strSQL2 = strSQL2 & FROM 病人表a病房表 b,醫(yī)生表c科室表d strSQL2 = strSQL2 &

22、 WHERE a.病房=bD AND a.醫(yī)生=cD AND a.科室=dD5測(cè)試及運(yùn)行結(jié)果5.1用戶登陸界面在VB6開發(fā)環(huán)境中,選擇菜單“運(yùn)行/啟動(dòng)”命令,將顯示登陸窗體,如圖5.1所示。圖5.1用戶登陸窗體在登錄窗體中單擊“確定”按鈕,即可進(jìn)入系統(tǒng)主窗體,如圖5.2所示圖5.2系統(tǒng)主窗體5.2用戶管理界面在系統(tǒng)主窗體中“系統(tǒng)/用戶管理”或點(diǎn)擊“用戶”按鈕,可以進(jìn)入用戶管理 界面,如圖5.3所示。用戶列叢in用戶值息馬戶糞型:lblUEtrTyp旳戶営:lblUseTNane刪晾用戶返回圖5.3用戶管理窗體單擊“添加用戶”按鈕,管理員和操作員都可以添加新用戶,如圖5.4所示圖5.4添加用戶窗

23、體單擊“修改用戶”按鈕,管理員可以修改用戶,如圖 5.5所示圖5.5修改用戶窗體5.3病人資料管理界面在系統(tǒng)主窗體中“數(shù)據(jù)/病人資料”,可以進(jìn)入病人資料管理界面。操作員可 以對(duì)病人資料進(jìn)行添加、修改、刪除等操作,并且可以直觀顯示在界面的表格中。 如圖5.6所示。圖5.6病人資料管理界面輸入新的入院病人資料,單擊“添加”按鈕,添加時(shí)界面顯示如圖5.7所示圖5.7添加病人資料顯示界面新入院病人資料已添加到數(shù)據(jù)庫(kù)中,添加后界面顯示如圖5.8所示圖5.8添加后病人資料顯示界面單擊“刪除”按鈕,彈出對(duì)話框如圖5.9所示圖5.9彈出對(duì)話框選擇“是”,可將該用戶從數(shù)據(jù)庫(kù)中刪除,刪除后顯示界面如圖5.10所示

24、圖5.10刪除后病人資料顯示界面參考文獻(xiàn)1 Visual Basic課程設(shè)計(jì)案例精編M.北京清華大學(xué)出版社,20072 Visual Basic項(xiàng)目案例開發(fā)實(shí)例自學(xué)手冊(cè)M.北京:人民郵電出版社,20083 Visual Basic完全自學(xué)手冊(cè)M.北京:機(jī)械工業(yè)出版社,20094 30天學(xué)通Visual Basic項(xiàng)目案例開發(fā)M.北京:電子工業(yè)出版社,2009Visual Basic從入門到精通M.北京人民郵電出版社,2010附錄主要源程序清單:Private Sub MDIForm_Load()Me.Left = GetSetting(App.Title, Settings, MainLeft

25、, 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) LoadNewDocEnd SubPrivate Sub MDIForm_Unload(Cancel As Integer)If Me.WindowState vbMinimized ThenSaveSetting App.Title

26、, Settings, MainLeft, Me.LeftSaveSetting App.Title, Settings, MainTop, Me.TopSaveSetting App.Title, Settings, MainWidth, Me.WidthSaveSetting App.Title, Settings, MainHeight, Me.HeightEnd IfEnd SubPrivate Sub mnuDataEmp_Click()frmEmp.ShowEnd SubPrivate Sub mnuDataInput_Click()frmInput.ShowEnd SubPriv

27、ate Sub mnuDataRef_Click()frmDataRef.ShowEnd SubPrivate Sub mnuQueryFind_Click()frmSearchName.Show End SubPrivate Sub mnuReportEmp_Click() frmReportEmp.ShowEnd SubPrivate Sub mnuReportPay_Click() frmReportPay.ShowEnd SubPrivate Sub mnuSysBack_Click()Dim strSoureFile As String, strDestFile As String,

28、 iRet As Integer On Error Resume Next strSoureFile = App.Path & strDB 源數(shù)據(jù)庫(kù)文件 strDestFile = App.Path & BAKDATA.BAK 備份文件, vbYesNo, 警告 )If Trim(strDestFile) = Then Exit Sub If Dir(strDestFile) Then 文件存在 iRet = MsgBox(Dir(strDestFile) & 文件已經(jīng)存在,是否替換? If iRet = vbNo ThenExit SubEnd IfEnd IfDim buff() As B

29、yte, i As Long 定義緩沖區(qū)i = FileLen(strSoureFile)ReDim buff(i - 1)Open strSoureFile For Binary As #1 打開源文件Get #1, , buff 讀取數(shù)據(jù)到緩沖區(qū)Close #1 關(guān)閉文件Open strDestFile For Binary As #1打開目標(biāo)文件Put #1, , buff 輸入緩沖區(qū)到目標(biāo)文件Close #1MsgBox 數(shù)據(jù)庫(kù)備份完成! , vbInformation + vbOKOnly, 提示 End SubPrivate Sub mnuSysPWD_Click()With fr

30、mUserEdit.Caption = 修改密碼 .strOldUser = CurUser.strName.txtUserName.Text = CurUser.strNameIf CurUser.iUserClass = 1 Then.cmbUserClass.AddItem 管理員 Else.cmbUserClass.AddItem 操作員 End If.cmbUserClass.ListIndex = 0不允許修改用戶名.cmbUserClass.Enabled = False .txtUserName.Enabled = False .bModify = True .ShowEnd

31、WithEnd SubPrivate Sub mnuSysQuit_Click()Dim yn As String yn = MsgBox( 確定要退出系統(tǒng)嗎? , vbYesNo, 退出確定 ) If yn = vbYes Then Unload MeEnd SubPrivate Sub mnuSysRest_Click()Dim strSoureFile As String, strDestFile As StringDim buff() As Byte, i As Long, iRet As Integer On Error Resume Next strSoureFile = App.

32、Path + BAKDATA.BAK strDestFile = App.Path + strDB If Dir(strSoureFile) = ThenMsgBox 沒有發(fā)現(xiàn)可以恢復(fù)的數(shù)據(jù)庫(kù)! , vbOKOnly + vbCritical, 警告 ElseIf Dir(strSoureFile) TheniRet = MsgBox( 恢復(fù)數(shù)據(jù)庫(kù)可能會(huì)丟失最近的數(shù)據(jù),確定要恢復(fù)備份文件嗎? vbQuestion + vbYesNo, 確認(rèn) )If iRet = vbYes Then i = FileLen(strSoureFile) ReDim buff(i - 1) Open strSoureFile For Binary As #1 Get #1, , buff C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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)論