版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、哈爾濱工業(yè)大學(xué)數(shù)據(jù)庫(kù)課程設(shè)計(jì)目錄第一章 系統(tǒng)概述 2 1.1系統(tǒng)開發(fā)背景 2 1.2系統(tǒng)開發(fā)意義 2第二章 需求分析 3 2.1信息需求 32.2功能需求 32.3系統(tǒng)數(shù)據(jù)流圖 42.4數(shù)據(jù)字典 5第三章 總體設(shè)計(jì) 93.1系統(tǒng)E-R圖 93.1.1系統(tǒng)局部E-R圖 93.1.2系統(tǒng)全局E-R圖103.2關(guān)系模式 103.3數(shù)據(jù)表設(shè)計(jì) 12第四章 系統(tǒng)實(shí)現(xiàn) 14 4.1數(shù)據(jù)庫(kù)實(shí)現(xiàn) 14 4.2系統(tǒng)功能結(jié)構(gòu) 15 4.3模塊功能介紹 15 4.3.1銷售管理模塊16 4.3.2倉(cāng)庫(kù)管理模塊19 4.3.3日常管理模塊22第五章 設(shè)計(jì)總結(jié) 25附錄 27 試驗(yàn)程序源代碼 27參考文獻(xiàn) 36第一章
2、系統(tǒng)概述1.1 系統(tǒng)開發(fā)背景 隨著科技的不斷進(jìn)步,企業(yè)都在不斷的注重管理的信息化以完善企業(yè)管理,增強(qiáng)企業(yè)自身的競(jìng)爭(zhēng)力。醫(yī)藥業(yè)也不例外,通過(guò)較完善的信息系統(tǒng)實(shí)現(xiàn)自身企業(yè)對(duì)內(nèi)部管理的方便性、合理性、快捷性、高效性等要求。以前的手工管理效率低使最明顯的缺陷,另外,數(shù)據(jù)的一致性不好維護(hù),如某個(gè)藥品信息的記錄有所改動(dòng)(如更改編號(hào)),那么該要品的其他記錄就與此不一致,造成查詢的費(fèi)時(shí)費(fèi)力。要把全部數(shù)據(jù)都更改又相當(dāng)不方便。對(duì)藥品庫(kù)存的盤點(diǎn)也很不方便,而且需要較多的人來(lái)進(jìn)行管理操作,而且容易出錯(cuò),造成數(shù)據(jù)的不一致。而藥品業(yè)是關(guān)民生的行業(yè),錯(cuò)誤信息可能會(huì)造成不可收拾的嚴(yán)重后果。因此,運(yùn)用高效、準(zhǔn)確的信息管理系統(tǒng)來(lái)
3、替代手工管理是完善醫(yī)藥業(yè)管理的有效手段。1.2.系統(tǒng)開發(fā)意義利用數(shù)據(jù)庫(kù)系統(tǒng)可以很好的對(duì)數(shù)據(jù)進(jìn)行維護(hù),減少由于數(shù)據(jù)不一致等錯(cuò)誤帶來(lái)的麻煩。方便數(shù)據(jù)的更新和查詢,降低錯(cuò)誤率,方便藥品信息的維護(hù)及庫(kù)存的盤點(diǎn)。還可以運(yùn)用較少的人員,高效的完成對(duì)醫(yī)藥的管理。由于社會(huì)的發(fā)展不斷趨于信息化,各個(gè)行業(yè)都要加強(qiáng)自身的信息化程度以適應(yīng)社會(huì)的發(fā)展。而管理信息化正迎合了這個(gè)趨勢(shì),數(shù)據(jù)庫(kù)系統(tǒng)在醫(yī)藥業(yè)的應(yīng)用業(yè)實(shí)現(xiàn)了醫(yī)藥業(yè)執(zhí)行工具、業(yè)務(wù)管理等的信息化,在這個(gè)信息化社會(huì)為醫(yī)藥業(yè)的發(fā)展增加了新的動(dòng)力。相信隨著社會(huì)的不斷發(fā)展對(duì)該類系統(tǒng)的需求會(huì)越來(lái)越高。醫(yī)藥管理信息系統(tǒng),即服務(wù)于個(gè)人,又服務(wù)于企業(yè),并最終服務(wù)于社會(huì),這是讓科技為人
4、類服務(wù)的最好例證,其開發(fā)意義顯而易見。第二章 需求分析2.1信息需求(基本信息)藥品信息:藥品編號(hào),藥品名稱,藥品類別代碼,售價(jià),廠價(jià),單位,庫(kù)存量,有效期至,批準(zhǔn)文號(hào)等藥品分類索引信息:藥品類別代碼,類別說(shuō)明等供應(yīng)商信息:供應(yīng)商號(hào),供應(yīng)商名,聯(lián)系人,聯(lián)系電話,所在城市等藥品銷售信息:銷售編碼,藥品編碼,藥品名稱,售價(jià),單位,數(shù)量,總額,銷售日期等用戶信息:職工號(hào),姓名,用戶登錄名,用戶口令,用戶身份,用戶權(quán)限等2.2功能需求系統(tǒng)要實(shí)現(xiàn)的主要功能有:(1)對(duì)藥品信息的維護(hù)和管理,能夠萬(wàn)冊(cè)很能夠藥品信息的添加、修改和刪除,并按一定條件查詢藥品信息。(2)對(duì)供應(yīng)商信息的管理,能夠完成信息的添加、修
5、改和刪除,并按一定條件查詢信息。(3)對(duì)用戶信息的管理,能夠完成信息的添加、修改和刪除,并按一定條件查詢信息。(4)倉(cāng)庫(kù)管理,能夠查詢庫(kù)存藥品信息,并對(duì)庫(kù)存進(jìn)行更新、盤點(diǎn)(5)查詢功能,要求可以按日期查詢,也可按用戶選擇字段和輸入內(nèi)容查詢。2.3系統(tǒng)流程圖圖2.1醫(yī)藥管理系統(tǒng)頂層數(shù)據(jù)流圖圖2.2銷售管理的細(xì)化流程圖圖2.3倉(cāng)庫(kù)管理的細(xì)化流程圖圖2.4日常管理的細(xì)化流程圖2.4數(shù)據(jù)字典數(shù)據(jù)存儲(chǔ)及數(shù)據(jù)流名字:銷售信息別名:銷售單描述:一次銷售結(jié)束后所存儲(chǔ)的信息并生成單據(jù)定義:銷售信息銷售編碼藥品編碼藥品名稱單價(jià)數(shù)量單位銷售日期總額銷售員編號(hào)位置:存儲(chǔ)輸出給顧客名字:藥品信息別名:描述:倉(cāng)庫(kù)內(nèi)存儲(chǔ)的
6、所有藥品信息(包括所有藥品查詢的所需信息)定義:藥品信息藥品編碼藥品名稱藥品類別售價(jià)廠價(jià)單位庫(kù)存量有效期至位置:存儲(chǔ)輸出供查詢名字:用戶信息別名:描述:系統(tǒng)用戶的信息定義:用戶信息職工號(hào)姓名用戶名用戶口令職位權(quán)限位置:存儲(chǔ)輸出供查詢及維護(hù)名字:供應(yīng)商信息別名:描述:藥品供應(yīng)商的信息定義:供應(yīng)商信息供應(yīng)商號(hào)供應(yīng)商名稱聯(lián)系人聯(lián)系電話所在城市位置:存儲(chǔ)輸出供查詢及維護(hù)名字:查詢信息描述:用戶所提出的查詢請(qǐng)求定義:查詢信息銷售管理查詢信息|倉(cāng)庫(kù)管理查詢信息|日常管理查詢信息銷售管理查詢信息藥品名稱|藥品類別倉(cāng)庫(kù)管理查詢信息藥品編碼|藥品名稱|藥品類別|過(guò)期藥品日常管理查詢信息藥品編碼|藥品名稱|藥品類
7、別|過(guò)期藥品位置:銷售管理系統(tǒng)倉(cāng)庫(kù)管理系統(tǒng)日常管理系統(tǒng)名字:更新信息描述:用戶操作對(duì)庫(kù)存信息的添加、刪除、修改定義:更新信息銷售管理更新信息|倉(cāng)庫(kù)管理更新信息|日常管理更新信息銷售管理更新信息藥品編碼新庫(kù)存量倉(cāng)庫(kù)管理更新信息藥品編碼藥品名稱藥品類別售價(jià)廠價(jià)單位庫(kù)存量有效期至日常管理更新信息用戶更新信息|供應(yīng)商更新信息用戶更新信息職工號(hào)姓名用戶名用戶口令職位權(quán)限供應(yīng)商更新信息供應(yīng)商號(hào)供應(yīng)商名稱聯(lián)系人聯(lián)系電話所在城市位置:銷售管理系統(tǒng)倉(cāng)庫(kù)管理系統(tǒng)日常管理系統(tǒng)名字:查詢結(jié)果描述:系統(tǒng)完成用戶查詢請(qǐng)求后所得結(jié)果定義:查詢結(jié)果銷售管理查詢結(jié)果|倉(cāng)庫(kù)管理查詢結(jié)果|日常管理查詢結(jié)果銷售管理查詢結(jié)果藥品編碼藥
8、品名稱藥品類別售價(jià)單位庫(kù)存量有效期至倉(cāng)庫(kù)管理查詢結(jié)果藥品編碼藥品名稱藥品類別售價(jià)廠價(jià)單位庫(kù)存量有效期至日常管理查詢結(jié)果藥品信息查詢結(jié)果|銷售記錄查詢結(jié)果|用戶查詢結(jié)果|供應(yīng)商查詢結(jié)果藥品信息查詢結(jié)果藥品編碼藥品名稱藥品類別售價(jià)廠價(jià)單位庫(kù)存量有效期至銷售記錄查詢結(jié)果銷售信息銷售編碼藥品編碼藥品名稱單價(jià)數(shù)量單位銷售日期總額銷售員編號(hào)用戶信息查詢結(jié)果職工號(hào)姓名用戶名用戶口令職位權(quán)限供應(yīng)商信息查詢結(jié)果供應(yīng)商號(hào)供應(yīng)商名稱聯(lián)系人聯(lián)系電話所在城市位置:銷售管理系統(tǒng)倉(cāng)庫(kù)管理系統(tǒng)日常管理系統(tǒng)處理名字:處理信息編號(hào):1.1輸入:銷售信息輸出:銷售信息名字:生成單據(jù)編號(hào):1.2輸入:銷售信息輸出:銷售信息銷售單名字
9、:查詢處理編號(hào):1.4輸入:藥品信息輸出:查詢結(jié)果名字:更新庫(kù)存編號(hào):1.3輸入:銷售信息輸出:更新信息數(shù)據(jù)項(xiàng)名字:藥品編碼別名:描述:唯一地標(biāo)識(shí)庫(kù)存清單中一種特定藥品的關(guān)鍵域定義:藥品編碼6字符6位置:藥品信息銷售管理查詢信息及結(jié)果倉(cāng)庫(kù)管理查詢信息及結(jié)果日常管理查詢信息及結(jié)果名字:庫(kù)存量別名:描述:倉(cāng)庫(kù)內(nèi)藥品的實(shí)際數(shù)量定義:庫(kù)存量1數(shù)字4位置:藥品信息銷售管理更新信息倉(cāng)庫(kù)管理更新信息查詢結(jié)果名字:總額別名:總金額描述:記錄每張銷售單的總銷售額定義:總額8貨幣8位置:銷售信息名字:銷售日期別名:描述:記錄藥品銷售的時(shí)間定義:銷售日期8時(shí)間8位置:銷售信息 第三章 總體設(shè)計(jì)3.1系統(tǒng)E-R圖3.
10、1.1系統(tǒng)局部E-R圖圖3.1供應(yīng)商、藥品實(shí)體聯(lián)系圖圖3.2藥品、藥品類別實(shí)體聯(lián)系圖圖3.3倉(cāng)庫(kù)、藥品實(shí)體聯(lián)系圖圖3.4職工、藥品實(shí)體聯(lián)系圖3.1.2.系統(tǒng)全局E-R圖通過(guò)對(duì)系統(tǒng)局部ER圖的優(yōu)化設(shè)計(jì)系統(tǒng)的基本ER圖如下:圖3.53.2關(guān)系模式1.關(guān)系模式設(shè)計(jì)該設(shè)計(jì)以概念結(jié)構(gòu)設(shè)計(jì)中的E-R圖為主要依據(jù),設(shè)計(jì)出相關(guān)的整體邏輯結(jié)構(gòu)。根據(jù)總E-R圖有五個(gè)實(shí)體但倉(cāng)庫(kù)實(shí)體在本系統(tǒng)中作用不大而且僅涉及到一個(gè)倉(cāng)庫(kù),所以倉(cāng)庫(kù)不再單獨(dú)設(shè)計(jì)一張表。再加上一個(gè)多對(duì)多關(guān)系(本系統(tǒng)不考慮供應(yīng)關(guān)系)總共五個(gè)關(guān)系模式:藥品信息(藥品編碼,藥品名稱,藥品類別代碼,售價(jià),廠價(jià),庫(kù)存量,單位,有效期至)藥品類別索引(藥品類別代碼,
11、類別說(shuō)明)供應(yīng)商信息(供應(yīng)商編碼,供應(yīng)商名稱,聯(lián)系人,聯(lián)系電話,所在城市)用戶信息(職工號(hào),姓名,用戶名,用戶口令,職位,權(quán)限)藥品銷售信息(銷售編碼,銷售日期,藥品編碼,藥品名稱,單價(jià),數(shù)量,單位,總額,銷售員編碼)2.關(guān)系模式優(yōu)化 3.2.1中的關(guān)系模式中的每一個(gè)分量都是不可分的數(shù)據(jù)項(xiàng)所以都符合第一范式;而且所有的前四個(gè)關(guān)系模式都是由單個(gè)屬性作為碼,沒(méi)有任何屬性對(duì)碼部分依賴,在藥品銷售信息內(nèi)雖由三個(gè)屬性作為碼,但也不存在屬性對(duì)碼的部分依賴,所以上述模式都符合第二范式;藥品信息、藥品類別索引、供應(yīng)商信息三個(gè)關(guān)系模式中不存在傳遞依賴,都屬于第三范式。在用戶信息關(guān)系模式中,用戶是按照權(quán)限分類的,
12、職位不同權(quán)限不同,這樣該關(guān)系模式就存在了非主屬性對(duì)碼的傳遞依賴:職工號(hào)職位,職位權(quán)限,所以應(yīng)將用戶信息分解為:用戶信息(職工號(hào),姓名,用戶名,用戶口令,職位)職位權(quán)限信息(職位,權(quán)限)但本系統(tǒng)不考慮職工信息的管理,為了使銷售員編號(hào)與銷售員的職工號(hào)連系起來(lái),并能通過(guò)職工姓名和職位來(lái)修改用戶信息所以把員工的部分信息(職工號(hào),姓名,職位)跟用戶基本信息(用戶名,用戶口令,權(quán)限)合成了用戶信息(職工號(hào),姓名,用戶名,用戶口令,職位,權(quán)限)以便于系統(tǒng)功能的實(shí)現(xiàn),所以在此不采用分解模式,仍采用原模式。藥品銷售信息中有大量的數(shù)據(jù)冗余,且不夠明確?,F(xiàn)將其分解為:藥品銷售主表(銷售編碼,銷售日期,銷售員編號(hào),總
13、金額)藥品銷售子表(銷售編碼,銷售日期,藥品編碼,藥品名稱,單價(jià),數(shù)量,單位,金額)其中“金額”由“單價(jià)”和“數(shù)量”乘積求得,“總金額”由同一銷售單內(nèi)不同藥品的“金額”求和得到。這樣不僅方便查詢銷售總額,也加快了合計(jì)數(shù)據(jù)的速度,也有利于程序的實(shí)現(xiàn)。用戶信息模式和藥品銷售子表模式是為了降低連接操作,減少外鍵和索引數(shù)目對(duì)原模式進(jìn)行重建或分割得來(lái)的。更重要得是,這樣不但可以提高查詢速度,而且有利于系統(tǒng)實(shí)現(xiàn)。3.3數(shù)據(jù)表設(shè)計(jì) 通過(guò)對(duì)關(guān)系模式的優(yōu)化,得到六個(gè)基本表:表31藥品信息表字段名字段類型長(zhǎng)度主鍵或外鍵字段值約束對(duì)應(yīng)中文屬性名MedicineCodeChar6Primary KeyNot Null
14、藥品編碼MedicineNameVarchar32Not Null藥品名稱MedKindCodeChar1Foreign keyNot Null藥品類別代碼PriceMoney8售價(jià)ListPriceMoney8廠價(jià)NumberInt4庫(kù)存量UnitChar2單位UsefulLifeDatetime8有效期至表3-2供應(yīng)商信息字段名字段類型長(zhǎng)度主鍵或外鍵字段值約束對(duì)應(yīng)中文屬性名FirmCodeChar4Primary KeyNot Null供應(yīng)商編碼FirmNameVarchar16Not Null供應(yīng)商名稱LinkVarchar12聯(lián)系人LinkTellVarchar11聯(lián)系電話CityVa
15、rchar8所在城市表3-3藥品銷售主表字段名字段類型長(zhǎng)度主鍵或外鍵字段值約束對(duì)應(yīng)中文屬性名SaleNoint4Primary KeyNot Null銷售編碼WorkNoChar2Foreign keyNot Null銷售員編碼SaleDateDateTime8銷售日期AmountMoney8總金額表3-4藥品銷售子表字段名字段類型長(zhǎng)度主鍵或外鍵字段值約束對(duì)應(yīng)中文屬性名SaleNoint4Primary KeyNot Null銷售編碼MedicinecodeChar6Foreign keyNot Null藥品編碼MedicineNameVarchar32Not Null藥品名稱PriceMon
16、ey8售價(jià)NumberInt4數(shù)量UnitChar2單位AmountMoney8金額表3-5藥品類別索引信息字段名字段類型長(zhǎng)度主鍵或外鍵字段值約束對(duì)應(yīng)中文屬性名MedKindCodeChar1Primary KeyNot Null藥品類別代碼KindExplanationVarchar16Not Null類別說(shuō)明表3-6用戶信息字段名字段類型長(zhǎng)度主鍵或外鍵字段值約束對(duì)應(yīng)中文屬性名WorkNoChar2Primary KeyNot Null職工號(hào)NameVarchar12姓名UserRegNameChar3Not Null用戶登錄名PasswordMoney3Not Null用戶口令Positi
17、onMoney10用戶身份PowerInt10用戶權(quán)限第四章 實(shí)現(xiàn)4.1數(shù)據(jù)庫(kù)實(shí)現(xiàn) 根據(jù)3.3數(shù)據(jù)表設(shè)計(jì)的設(shè)計(jì)結(jié)果,運(yùn)用DBMS SQL Server 2000 的企業(yè)管理器建立數(shù)據(jù)庫(kù)表。藥品信息表(MedInfor )設(shè)置藥品編碼(MedicineCode)為主碼,藥品類別索引表(MedKindInfor)設(shè)置藥品類別代碼(MedKindCode)為主碼,銷售主表(SaleMainTable)設(shè)置銷售編碼(Saleno)及銷售日期(SaleDate)共同作為主碼,銷售子表(SaleChildTable)設(shè)置銷售編碼(SaleNo)、銷售日期(SaleDate)和藥品編碼(MedcineCod
18、e)共同作為主碼,用戶信息表(UserInfor)設(shè)置職工號(hào)(WorkNo)作為主碼,供應(yīng)商信息表(FirmInfor)設(shè)置供應(yīng)商編碼(FirmCode)為主碼。屬性的字符類型及長(zhǎng)度參照3.3數(shù)據(jù)表設(shè)計(jì)結(jié)果進(jìn)行設(shè)置每類藥品可以有好多種藥,每種藥只有一個(gè)類別,所以藥品類別索引表與藥品信息表存在一對(duì)多的關(guān)系,以MedKindInfor的主碼MedKindCode作主鍵,MedInfor的MedKindCode作外鍵建立關(guān)系。銷售子表內(nèi)的藥品編碼藥參照藥品信息表內(nèi)的藥品編碼,即銷售子表與藥品信息表存在參照關(guān)系,以MedInfor的MedicineCode作主鍵,SaleChildTable的Medi
19、cineCode作外鍵建立關(guān)系。銷售主表與銷售子表存在依賴關(guān)系,以SaleMainTable的Saleno和SaleDate作為主鍵,SaleChildTable的Saleno和SaleDate作為外鍵建立關(guān)系。銷售主表內(nèi)的職工號(hào)藥參照用戶信息表的職工號(hào),即銷售主表與用戶信息表存在參照關(guān)系,以SaleMainTable的Workno為主鍵,UserInfor的WorkNo為外鍵建立關(guān)系。數(shù)據(jù)庫(kù)的最終關(guān)系圖如下:圖4.1數(shù)據(jù)庫(kù)表關(guān)系圖4.2系統(tǒng)功能結(jié)構(gòu)系統(tǒng)根據(jù)用戶身份的不同分為三個(gè)功能模塊:銷售管理模塊,倉(cāng)庫(kù)管理模塊和日常管理模塊。在銷售管理模塊,銷售員可以根據(jù)顧客要求查詢相關(guān)藥品的部分信息,主
20、要是庫(kù)存量和售價(jià)的查詢;還可以完成藥品的銷售,根據(jù)顧客所買藥品的代碼和數(shù)量存儲(chǔ)銷售信息,主要是對(duì)銷售數(shù)量和銷售總額的記錄,并在銷售完成后實(shí)現(xiàn)當(dāng)前庫(kù)存的更新。在倉(cāng)庫(kù)管理模塊,倉(cāng)庫(kù)管理員可以查看藥品的全部信息,對(duì)藥品信息進(jìn)行維護(hù),盤點(diǎn)庫(kù)存信息,清除過(guò)期藥品等。在日常管理模塊,管理者可以查看藥品信息、銷售記錄,并對(duì)供應(yīng)商信息和用戶信息進(jìn)行管理維護(hù)。具體功能模塊圖如下:圖4.2系統(tǒng)功能圖4.3模塊功能介紹 該系統(tǒng)共三個(gè)功能模塊:銷售管理、倉(cāng)庫(kù)管理和日常管理。不同的用戶可以進(jìn)入不同的模塊進(jìn)行相應(yīng)操作。如:銷售人員憑借用戶名和密碼只能進(jìn)入銷售管理系統(tǒng),進(jìn)入后可以進(jìn)行藥品的銷售和查詢;倉(cāng)庫(kù)管理員憑借用戶名和
21、密碼只能進(jìn)入倉(cāng)庫(kù)管理系統(tǒng),進(jìn)行藥品信息的查詢和維護(hù);管理者也要通過(guò)身份驗(yàn)證進(jìn)入日常管理界面進(jìn)行用戶信息和供應(yīng)商信息的維護(hù)即查詢及藥品信息和銷售信息的查詢。系統(tǒng)主界面如下:圖4.3系統(tǒng)主界面4.3.1銷售管理模塊 該模塊主要完成前臺(tái)藥品銷售及前臺(tái)查詢功能:銷售過(guò)程要將銷售信息自動(dòng)存儲(chǔ)到銷售信息主表及子表內(nèi),便且為了維護(hù)數(shù)據(jù)的一致性,藥品庫(kù)存量要隨銷售量動(dòng)態(tài)更新,若購(gòu)藥量大于庫(kù)存時(shí)應(yīng)拒絕銷售操作;查詢功能主要查詢顧客所需藥品大概信息,可以根據(jù)藥品名稱或所屬類別進(jìn)行查詢。如下是銷售管理模塊的實(shí)現(xiàn)界面:1.銷售員登錄界面圖4.4銷售管理模塊登錄界面該界面通過(guò)如下代碼跟數(shù)據(jù)庫(kù)內(nèi)用戶信息表連接,具體實(shí)現(xiàn)代
22、碼見附錄Private Sub Form_Load()Adodc1.RecordSource = select * from userinfor where userregname= & Text1 & Adodc1.RefreshEnd Sub2.前臺(tái)查詢(1)輸入藥品名稱“蓋中蓋”所得查詢結(jié)果如下圖4.5查詢結(jié)果(一)(2)選擇藥品類別“非處方藥”所得查詢結(jié)果如下圖4.6查詢結(jié)果(二)系統(tǒng)通過(guò)如下主要代碼實(shí)現(xiàn)藥品查詢功能按藥品名查詢Adodc1.RecordSource = select medicinecode 藥品編碼,medicinename 藥品名稱,price 售價(jià),stockn
23、um 庫(kù)存量,unit單位,usefullife 有效期至 from MedInfor where medicinename= & Text1 & Adodc1.Refresh按藥品類別查詢Select Case Combo1.TextCase 處方藥Adodc1.RecordSource = select medicinecode as 藥品編碼,medicinename 藥品名稱,price as 售價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as 有效期至 from MedInfor where medkindcode= 1Adodc1.Refresh
24、Case 非處方藥Adodc1.RecordSource = select medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as 有效期至 from MedInfor where medkindcode= 2Adodc1.Refresh . . .3.前臺(tái)銷售(1)101003號(hào)藥品,銷售量為13時(shí)的銷售界面圖4.7銷售結(jié)果界面 (2)銷售量大于庫(kù)存時(shí)的界面圖4.8庫(kù)存提示界面系統(tǒng)主要通過(guò)如下主要代碼實(shí)現(xiàn)銷售功能更新庫(kù)存Adodc1.Recordset.Upd
25、ateText11.Text = Val(Text11.Text) - Val(Text2.Text)Adodc1.Recordset.UpdateAdodc1.Recordset.MoveLast計(jì)算總額Text17.Text = Val(Text9.Text) * Val(Text2.Text)x = x + Val(Text17.Text)Text6.Text = x4.3.2倉(cāng)庫(kù)管理模塊該模塊主要完成藥品信息的維護(hù)和查詢,其中查詢功能可以分別按藥品代碼、藥品名稱、藥品類別或過(guò)期藥品來(lái)查詢。如下是倉(cāng)庫(kù)管理模塊的實(shí)現(xiàn)界面:1.倉(cāng)庫(kù)管理員登錄界面圖4.9管理員登錄界面2.藥品信息查詢(1)輸
26、入代碼“101003”的查詢結(jié)果界面圖4.10按藥品編碼的查詢結(jié)果結(jié)果界面(2)輸入藥品名稱“白加黑”的查詢結(jié)果界面圖4.11按藥品名稱的查詢結(jié)果界面(3)選擇藥品類別“處方藥”的查詢結(jié)果界面圖4.12按藥品類別的查詢結(jié)果界面(4)按過(guò)期藥品查詢的結(jié)果界面圖4.13按過(guò)期藥品的查詢結(jié)果界面系統(tǒng)主要通過(guò)如下主要代碼實(shí)現(xiàn)查詢功能Adodc1.RecordSource = select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫(kù)存量,
27、unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where medicinecode= & Text1 & Adodc1.Refresh.4.3.3日常管理模塊該模塊可以進(jìn)行用戶信息和供應(yīng)商信息的維護(hù)及查詢,主要是對(duì)藥品信息、銷售信息、用戶信息和供應(yīng)商信息的查詢。如下是日常管理模塊的實(shí)現(xiàn)界面:1.管理者登錄界面圖4.14管理員登錄界面2.藥品信息查詢(類似與倉(cāng)庫(kù)管理的藥品信息查詢)3. 銷售記錄查詢(一)銷售主表查詢界面圖4.15查詢銷售主表的結(jié)果界面(二)銷售子表查詢界面圖4.16查詢銷售子表的結(jié)果界面(三)全部信
28、息查詢界面圖4.17查詢?nèi)啃畔⒌慕Y(jié)果界面4.供應(yīng)商信息查詢(一)輸如供應(yīng)商編碼“1002”得查詢結(jié)果界面圖4.18按供應(yīng)商編碼的查詢結(jié)果界面(二)輸入所在城市名“上海”得查詢結(jié)果界面圖4.19按供應(yīng)商所在城市的查詢結(jié)果界面系統(tǒng)主要通過(guò)如下主要代碼實(shí)現(xiàn)查詢功能Adodc1.RecordSource = select saleno as 銷售編碼,amount as 總額,saledate as 銷售日期,workno as 銷售員編號(hào) from salemaintable where saleno= & Trim(Text12.Text) & Adodc1.Refresh.第五章 設(shè)計(jì)總結(jié)在課
29、程設(shè)計(jì)階段,首先對(duì)醫(yī)藥管理進(jìn)行了了解,仔細(xì)分析了該管理對(duì)系統(tǒng)功能的要求,并根據(jù)這些功能要求對(duì)系統(tǒng)進(jìn)行定義,確定系統(tǒng)必須做什么。但由于對(duì)醫(yī)藥管理了解不多,需求分析難免不夠完善,但是基本需求都考慮到了,并用文檔準(zhǔn)確記錄了系統(tǒng)的需求。之后著手對(duì)系統(tǒng)的設(shè)計(jì)工作,首先是概念結(jié)構(gòu)設(shè)計(jì),根據(jù)需求分析結(jié)果總結(jié)系統(tǒng)內(nèi)實(shí)體及聯(lián)系并繪制系統(tǒng)的局部ER圖和全局ER圖。然后是邏輯結(jié)構(gòu)設(shè)計(jì),結(jié)合需求分析與概念結(jié)構(gòu)設(shè)計(jì)把設(shè)計(jì)好的ER圖轉(zhuǎn)換為DBMS(SQL Server 2000)所支持的數(shù)據(jù)模型所符合的邏輯結(jié)構(gòu)。最后運(yùn)用開發(fā)工具VB6.0進(jìn)行功能的編碼實(shí)現(xiàn)。該系統(tǒng)最終能夠基本實(shí)現(xiàn)絕大多數(shù)功能,但是也有很多不做之處,如藥品
30、進(jìn)庫(kù)信息功能,對(duì)新進(jìn)藥品進(jìn)行入庫(kù)存儲(chǔ),但是由于進(jìn)價(jià)跟有效期的變化不能只是對(duì)該藥品的庫(kù)存量更改。進(jìn)價(jià)可以運(yùn)用加成定價(jià)法更改,但有效期尚未想到解決方案。希望老師給與意見及幫助,使系統(tǒng)功能更加完善。 在這次課程設(shè)計(jì)中雖然遇到過(guò)很多的困難,但我從中學(xué)到了很多有用的知識(shí),通過(guò)不斷的翻閱資料,各個(gè)問(wèn)題的解決使我對(duì)系統(tǒng)的設(shè)計(jì)越來(lái)越感興趣。相信我從這次課程設(shè)計(jì)所學(xué)到的東西可以讓我在以后的學(xué)習(xí)及工作中受益無(wú)限。附錄實(shí)驗(yàn)程序源代碼1.登錄界面代碼:(以銷售員登錄為例,倉(cāng)庫(kù)管理員和日常管理者登錄與此類似,不再贅述)在主界面菜單“銷售管理“內(nèi)編寫代碼如下:Private Sub A1_Click()登錄.Show登錄
31、.Adodc1.RecordSource = select * from userinfor where power= 銷售 登錄.Adodc1.Refresh登錄.Option1.Value = True登錄.Option1.Visible = True登錄.Option2.Value = False登錄.Option2.Visible = False登錄.Option3.Value = False登錄.Option3.Visible = False A = 1: B = 0: C = 0End Sub在Text2的GotFocus事件內(nèi)編寫如下代碼以確定用戶的準(zhǔn)確性Private Sub
32、Text2_GotFocus()Adodc1.RecordSource = select * from userinfor where userregname= & Text1 & Adodc1.RefreshIf Adodc1.Recordset.EOF ThenMsgBox 無(wú)此用戶,請(qǐng)重新輸入!, , 提示Text1.Text = Text1.SetFocusEnd IfEnd Sub在Command1的Click事件內(nèi)編寫如下代碼檢驗(yàn)用戶密碼Private Sub Command1_Click()Dim x As String, y As StringText1.SetFocusIf
33、Val(Text2.Text) = Val(Text4.Text) ThenMsgBox 輸入正確, , 提示Text1.Text = Text2.Text = Unload Me If A = 1 Then FrmMain.A2.Enabled = True FrmMain.A3.Enabled = True End IfElse MsgBox 密碼錯(cuò)誤, , 提示End IfEnd Sub2.前臺(tái)查詢窗體代碼Private Sub Command1_Click()If Option1 ThenAdodc1.RecordSource = select medicinecode as 藥品編碼
34、,medicinename as 藥品名稱,price as 售價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as 有效期至 from MedInfor where medicinename= & Text1 & Adodc1.RefreshEnd IfIf Option2 ThenSelect Case Combo1.TextCase 處方藥Adodc1.RecordSource = select medicinecode as 藥品編碼,medicinename 藥品名稱,price as 售價(jià),stocknum as 庫(kù)存量,unit as 單位,use
35、fullife as 有效期至 from MedInfor where medkindcode= 1Adodc1.RefreshCase 非處方藥Adodc1.RecordSource = select medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as 有效期至 from MedInfor where medkindcode= 2Adodc1.RefreshCase 中藥飲片Adodc1.RecordSource = select medicinecode
36、 as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as 有效期至 from MedInfor where medkindcode= 3Adodc1.RefreshCase 中藥材Adodc1.RecordSource = select medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from Med
37、Infor where medkindcode= 4Adodc1.RefreshCase 醫(yī)療器械A(chǔ)dodc1.RecordSource = select medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as 有效期至 from MedInfor where medkindcode= 5Adodc1.RefreshCase 非藥品(保健品)Adodc1.RecordSource = select medicinecode as 藥品編碼,medicinenam
38、e as 藥品名稱,price as 售價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as 有效期 from MedInfor where medkindcode= 6Adodc1.RefreshEnd SelectEnd IfIf Adodc1.Recordset.EOF ThenMsgBox 無(wú)此信息!, , 提示Adodc1.RecordSource = select medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as
39、 有效期至 from MedInfor Adodc1.RefreshEnd IfEnd Sub3.銷售界面代碼Private Sub Command1_Click()Adodc1.RecordSource = select medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià) ,unit as 單位,stocknum as 庫(kù)存量 from medinfor where medicinecode= & Text1 & Adodc1.RefreshIf Adodc1.Recordset.EOF Then MsgBox 無(wú)此信息!, , 提示I
40、f Val(Text11.Text) - Val(Text2.Text) 0 ThenMsgBox 庫(kù)存不足, , 提示Text1.Text = : Text2.Text = : Text1.SetFocusElseOn Error Resume NextAdodc2.Recordset.AddNewText12.Text = Text4.TextText13.Text = Text7.TextText14.Text = Text8.TextText15.Text = Text9.TextText16.Text = Text10.TextText17.Text = Val(Text9.Text
41、) * Val(Text2.Text)Text18.Text = Text2.TextAdodc2.Recordset.UpdateAdodc2.Recordset.MoveLastAdodc1.Recordset.UpdateText11.Text = Val(Text11.Text) - Val(Text2.Text)Adodc1.Recordset.UpdateAdodc1.Recordset.MoveLastx = x + Val(Text17.Text)End IfEnd SubPrivate Sub Command2_Click()Static y As Integery = Va
42、l(Text4.Text) + 1Text4.Text = yText5.Text = Date$Text6.Text = xAdodc3.Recordset.AddNewText19.Text = Text4.TextText20.Text = Text3.TextText21.Text = Date$Text22.Text = Text6.TextAdodc3.Recordset.UpdateAdodc3.Recordset.MoveLastText6.SetFocusEnd SubPrivate Sub Text6_LostFocus()x = 0End Sub4.藥品信息查詢代碼(倉(cāng)庫(kù)
43、管理和日常管理的藥品查詢都用此代碼)Option ExplicitPrivate Sub Command1_Click()On Error Resume NextIf Command1.Caption = 新增 Then Command1.Caption = 確認(rèn) Adodc1.Recordset.AddNew Text4.SetFocusElseCommand1.Caption = 新增Adodc1.Recordset.UpdateAdodc1.Recordset.MoveLastEnd IfEnd SubPrivate Sub Command2_Click()On Error Resume
44、 NextAdodc1.Recordset.DeleteAdodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLastEnd SubPrivate Sub Command3_Click()On Error Resume NextIf Command3.Caption = 修改 Then Command3.Caption = 確認(rèn) Adodc1.Recordset.Update Text4.SetFocusElseCommand3.Caption = 修改Adodc1.Recordset.Update
45、Command1.Enabled = TrueCommand2.Enabled = TrueCommand5.Enabled = TrueEnd IfEnd SubPrivate Sub Command4_Click()Command3.Caption = 修改Command1.Caption = 添加On Error GoTo RefreshErr Adodc1.Refresh Exit SubRefreshErr: MsgBox Err.DescriptionEnd SubPrivate Sub Command5_Click()Frame1.Visible = TrueEnd SubPri
46、vate Sub Command6_Click()If Option1 ThenAdodc1.RecordSource = select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where medicinecode= & Text1 & Adodc1.RefreshEnd IfIf Option2
47、 ThenAdodc1.RecordSource = select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where medicinename= & Text2 & Adodc1.RefreshEnd IfIf Option3 ThenSelect Case Combo1.TextCase 處方
48、藥Adodc1.RecordSource = select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where medkindcode= 1Adodc1.RefreshCase 非處方藥Adodc1.RecordSource = select medicinecode as 藥品編碼,medici
49、nename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where medkindcode= 2Adodc1.RefreshCase 中藥飲片Adodc1.RecordSource = select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listpric
50、e as 廠價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where medkindcode= 3Adodc1.RefreshCase 中藥材Adodc1.RecordSource = select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫(kù)存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where medkindcode= 4Adodc1.RefreshCase 醫(yī)療器械A(chǔ)dodc1.RecordSource = select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkin
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 精準(zhǔn)識(shí)別課件教學(xué)課件
- 智慧養(yǎng)老中心解決方案
- 頸椎病解刨結(jié)構(gòu)
- 2024年超高速加工中心投資項(xiàng)目資金申請(qǐng)報(bào)告書
- 車場(chǎng)停電應(yīng)急預(yù)案
- 第六章 機(jī)械能守恒定律-功能關(guān)系與能量守恒 2025年高考物理基礎(chǔ)專項(xiàng)復(fù)習(xí)
- 2-1-4 微專題1-碳酸鈉與碳酸氫鈉的相關(guān)計(jì)算 高一上學(xué)期化學(xué)人教版(2019)必修第一冊(cè)
- 骨水泥在糖尿病足的應(yīng)用
- 醫(yī)療器械合作協(xié)議書范本
- 社交網(wǎng)絡(luò)鉤機(jī)租賃合同
- 人教版八年級(jí)上學(xué)期物理 專項(xiàng)一(作圖題)
- 年產(chǎn)6000萬(wàn)塊粉煤灰煤矸石燒結(jié)磚項(xiàng)目節(jié)能評(píng)估報(bào)告書
- 秘書五級(jí)總復(fù)習(xí)3 (收文發(fā)文+事務(wù)管理+自動(dòng)化100)附答案
- 人教版英語(yǔ)九全 Unit 8 It must belong to Carla. Section A(3a-3c)教案
- 移植物抗宿主病課件
- 全面解讀2020年《中華人民共和國(guó)民法典》之物權(quán)編PPT
- 高中生物必修一新教材課后習(xí)題與參考答案
- 水利部水利建設(shè)經(jīng)濟(jì)定額站
- 大班數(shù)學(xué)《貪心的三角形》課件
- 金屬和半導(dǎo)體材料電導(dǎo)(材料物理性能)
- 最新八年級(jí)道法上冊(cè)概括與評(píng)論題角度匯編
評(píng)論
0/150
提交評(píng)論