版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上第一章 系統(tǒng)概述1.1 系統(tǒng)開發(fā)背景 隨著科技的不斷進(jìn)步,企業(yè)都在不斷的注重管理的信息化以完善企業(yè)管理,增強(qiáng)企業(yè)自身的競(jìng)爭(zhēng)力。醫(yī)藥業(yè)也不例外,通過較完善的信息系統(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ì)藥品庫存的盤點(diǎn)也很不方便,而且需要較多的人來進(jìn)行管理操作,而且容易出錯(cuò),造成數(shù)據(jù)的不一致。而藥
2、品業(yè)是關(guān)民生的行業(yè),錯(cuò)誤信息可能會(huì)造成不可收拾的嚴(yán)重后果。因此,運(yùn)用高效、準(zhǔn)確的信息管理系統(tǒng)來替代手工管理是完善醫(yī)藥業(yè)管理的有效手段。1.2.系統(tǒng)開發(fā)意義利用數(shù)據(jù)庫系統(tǒng)可以很好的對(duì)數(shù)據(jù)進(jìn)行維護(hù),減少由于數(shù)據(jù)不一致等錯(cuò)誤帶來的麻煩。方便數(shù)據(jù)的更新和查詢,降低錯(cuò)誤率,方便藥品信息的維護(hù)及庫存的盤點(diǎn)。還可以運(yùn)用較少的人員,高效的完成對(duì)醫(yī)藥的管理。由于社會(huì)的發(fā)展不斷趨于信息化,各個(gè)行業(yè)都要加強(qiáng)自身的信息化程度以適應(yīng)社會(huì)的發(fā)展。而管理信息化正迎合了這個(gè)趨勢(shì),數(shù)據(jù)庫系統(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)的
3、需求會(huì)越來越高。醫(yī)藥管理信息系統(tǒng),即服務(wù)于個(gè)人,又服務(wù)于企業(yè),并最終服務(wù)于社會(huì),這是讓科技為人類服務(wù)的最好例證,其開發(fā)意義顯而易見。 第二章 需求分析2.1信息需求(基本信息)藥品信息:藥品編號(hào),藥品名稱,藥品類別代碼,售價(jià),廠價(jià),單位,庫存量,有效期至,批準(zhǔn)文號(hào)等藥品分類索引信息:藥品類別代碼,類別說明等供應(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ù)和管
4、理,能夠萬冊(cè)很能夠藥品信息的添加、修改和刪除,并按一定條件查詢藥品信息。(2)對(duì)供應(yīng)商信息的管理,能夠完成信息的添加、修改和刪除,并按一定條件查詢信息。(3)對(duì)用戶信息的管理,能夠完成信息的添加、修改和刪除,并按一定條件查詢信息。(4)倉庫管理,能夠查詢庫存藥品信息,并對(duì)庫存進(jìn)行更新、盤點(diǎn)(5)查詢功能,要求可以按日期查詢,也可按用戶選擇字段和輸入內(nèi)容查詢。 2.4數(shù)據(jù)字典數(shù)據(jù)存儲(chǔ)及數(shù)據(jù)流名字:銷售信息別名:銷售單描述:一次銷售結(jié)束后所存儲(chǔ)的信息并生成單據(jù)定義:銷售信息銷售編碼藥品編碼藥品名稱單價(jià)數(shù)量單位銷售日期總額銷售員編號(hào)位置:存儲(chǔ)輸出給顧客 名字:藥品信
5、息別名:描述:倉庫內(nèi)存儲(chǔ)的所有藥品信息(包括所有藥品查詢的所需信息)定義:藥品信息藥品編碼藥品名稱藥品類別售價(jià)廠價(jià)單位庫存量有效期至位置:存儲(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)求定義:查詢信息銷售管理查詢信息|倉庫管理查詢信息|日常管理查詢信息銷售管理查詢信息藥品名稱|藥品類別倉庫管理查詢信息藥品編碼|藥品名稱
6、|藥品類別|過期藥品日常管理查詢信息藥品編碼|藥品名稱|藥品類別|過期藥品位置:銷售管理系統(tǒng)倉庫管理系統(tǒng)日常管理系統(tǒng) 名字:更新信息描述:用戶操作對(duì)庫存信息的添加、刪除、修改定義:更新信息銷售管理更新信息|倉庫管理更新信息|日常管理更新信息銷售管理更新信息藥品編碼新庫存量倉庫管理更新信息藥品編碼藥品名稱藥品類別售價(jià)廠價(jià)單位庫存量有效期至日常管理更新信息用戶更新信息|供應(yīng)商更新信息用戶更新信息職工號(hào)姓名用戶名用戶口令職位權(quán)限供應(yīng)商更新信息供應(yīng)商號(hào)供應(yīng)商名稱聯(lián)系人聯(lián)系電話所在城市位置:銷售管理系統(tǒng)倉庫管理系統(tǒng)日常管理系統(tǒng) 名字:查詢結(jié)果描述:系統(tǒng)完成用戶查詢請(qǐng)求后所得結(jié)果定義:
7、查詢結(jié)果銷售管理查詢結(jié)果|倉庫管理查詢結(jié)果|日常管理查詢結(jié)果銷售管理查詢結(jié)果藥品編碼藥品名稱藥品類別售價(jià)單位庫存量有效期至倉庫管理查詢結(jié)果藥品編碼藥品名稱藥品類別售價(jià)廠價(jià)單位庫存量有效期至日常管理查詢結(jié)果藥品信息查詢結(jié)果|銷售記錄查詢結(jié)果|用戶查詢結(jié)果|供應(yīng)商查詢結(jié)果藥品信息查詢結(jié)果藥品編碼藥品名稱藥品類別售價(jià)廠價(jià)單位庫存量有效期至銷售記錄查詢結(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)倉庫管理系統(tǒng)日常管理系統(tǒng) 處理名字:處理信息編號(hào):
8、1.1輸入:銷售信息輸出:銷售信息 名字:生成單據(jù)編號(hào):1.2輸入:銷售信息輸出:銷售信息銷售單 名字:查詢處理編號(hào):1.4輸入:藥品信息輸出:查詢結(jié)果 名字:更新庫存編號(hào):1.3輸入:銷售信息輸出:更新信息 數(shù)據(jù)項(xiàng)名字:藥品編碼別名:描述:唯一地標(biāo)識(shí)庫存清單中一種特定藥品的關(guān)鍵域定義:藥品編碼6字符6位置:藥品信息銷售管理查詢信息及結(jié)果倉庫管理查詢信息及結(jié)果日常管理查詢信息及結(jié)果 名字:庫存量別名:描述:倉庫內(nèi)藥品的實(shí)際數(shù)量定義:庫存量1數(shù)字4位置:藥品信息銷售管理更新信息倉庫管理更新信息查詢結(jié)果 名字:總額別名:總金額描述:記錄每
9、張銷售單的總銷售額定義:總額8貨幣8位置:銷售信息 名字:銷售日期別名:描述:記錄藥品銷售的時(shí)間定義:銷售日期8時(shí)間8位置:銷售信息第三章 總體設(shè)計(jì)3.1系統(tǒng)E-R圖3.1.1系統(tǒng)局部E-R圖圖3.1供應(yīng)商、藥品實(shí)體聯(lián)系圖圖3.2藥品、藥品類別實(shí)體聯(lián)系圖圖3.3倉庫、藥品實(shí)體聯(lián)系圖圖3.4職工、藥品實(shí)體聯(lián)系圖3.1.2.系統(tǒng)全局E-R圖通過對(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í)體但倉庫實(shí)體在本系統(tǒng)中作用不大而且僅涉及到一個(gè)倉庫,所以倉庫不再單獨(dú)設(shè)
10、計(jì)一張表。再加上一個(gè)多對(duì)多關(guān)系(本系統(tǒng)不考慮供應(yīng)關(guān)系)總共五個(gè)關(guān)系模式:藥品信息(藥品編碼,藥品名稱,藥品類別代碼,售價(jià),廠價(jià),庫存量,單位,有效期至)藥品類別索引(藥品類別代碼,類別說明)供應(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è)屬性作為碼,沒有任何屬性對(duì)碼部分依賴,在藥品銷售信息內(nèi)雖由三個(gè)屬
11、性作為碼,但也不存在屬性對(duì)碼的部分依賴,所以上述模式都符合第二范式;藥品信息、藥品類別索引、供應(yīng)商信息三個(gè)關(guān)系模式中不存在傳遞依賴,都屬于第三范式。在用戶信息關(guān)系模式中,用戶是按照權(quán)限分類的,職位不同權(quán)限不同,這樣該關(guān)系模式就存在了非主屬性對(duì)碼的傳遞依賴:職工號(hào)職位, 職位權(quán)限,所以應(yīng)將用戶信息分解為:用戶信息(職工號(hào),姓名,用戶名,用戶口令,職位)職位權(quán)限信息(職位,權(quán)限)但本系統(tǒng)不考慮職工信息的管理,為了使銷售員編號(hào)與銷售員的職工號(hào)連系起來,并能通過職工姓名和職位來修改用戶信息所以把員工的部分信息(職工號(hào),姓名,職位)跟用戶基本信息(用戶名,用戶口令,權(quán)限)合成了用戶信息(職工號(hào),姓名,用
12、戶名,用戶口令,職位,權(quán)限)以便于系統(tǒng)功能的實(shí)現(xiàn),所以在此不采用分解模式,仍采用原模式。藥品銷售信息中有大量的數(shù)據(jù)冗余,且不夠明確?,F(xiàn)將其分解為:藥品銷售主表(銷售編碼,銷售日期,銷售員編號(hào),總金額)藥品銷售子表(銷售編碼,銷售日期,藥品編碼,藥品名稱,單價(jià),數(shù)量,單位,金額)其中“金額”由“單價(jià)”和“數(shù)量”乘積求得,“總金額”由同一銷售單內(nèi)不同藥品的“金額”求和得到。這樣不僅方便查詢銷售總額,也加快了合計(jì)數(shù)據(jù)的速度,也有利于程序的實(shí)現(xiàn)。用戶信息模式和藥品銷售子表模式是為了降低連接操作,減少外鍵和索引數(shù)目對(duì)原模式進(jìn)行重建或分割得來的。更重要得是,這樣不但可以提高查詢速度,而且有利于系統(tǒng)實(shí)現(xiàn)。&
13、#160; 3.3數(shù)據(jù)表設(shè)計(jì) 通過對(duì)關(guān)系模式的優(yōu)化,得到六個(gè)基本表:表31藥品信息表字段名字段類型長(zhǎng)度主鍵或外鍵字段值約束對(duì)應(yīng)中文屬性名MedicineCodeChar6Primary KeyNot Null藥品編碼MedicineNameVarchar32 Not Null藥品名稱MedKindCodeChar1Foreign keyNot Null藥品類別代碼PriceMoney8 售價(jià)ListPriceMoney8 廠價(jià)NumberInt4 庫存量UnitChar2
14、 單位UsefulLifeDatetime8 有效期至 表3-2供應(yīng)商信息字段名字段類型長(zhǎng)度主鍵或外鍵字段值約束對(duì)應(yīng)中文屬性名FirmCodeChar4Primary KeyNot Null供應(yīng)商編碼FirmNameVarchar16 Not Null供應(yīng)商名稱LinkVarchar12 聯(lián)系人LinkTellVarchar11 聯(lián)系電話CityVarchar8 所在城市 表3-3藥品銷售主表字段名字段類型長(zhǎng)度主鍵或外鍵字段值約束對(duì)應(yīng)中文屬性名SaleNo
15、int4Primary KeyNot Null銷售編碼WorkNoChar2Foreign keyNot Null銷售員編碼SaleDateDateTime8 銷售日期AmountMoney8 總金額 表3-4藥品銷售子表字段名字段類型長(zhǎng)度主鍵或外鍵字段值約束對(duì)應(yīng)中文屬性名SaleNoint4Primary KeyNot Null銷售編碼MedicinecodeChar6Foreign keyNot Null藥品編碼MedicineNameVarchar32 Not Null藥品名稱PriceMoney8 售
16、價(jià)NumberInt4 數(shù)量UnitChar2 單位AmountMoney8 金額 表3-5藥品類別索引信息字段名字段類型長(zhǎng)度主鍵或外鍵字段值約束對(duì)應(yīng)中文屬性名MedKindCodeChar1Primary KeyNot Null藥品類別代碼KindExplanationVarchar16 Not Null類別說明 表3-6用戶信息字段名字段類型長(zhǎng)度主鍵或外鍵字段值約束對(duì)應(yīng)中文屬性名WorkNoChar2Primary KeyNot Null職工號(hào)NameVarchar12 &
17、#160;姓名UserRegNameChar3 Not Null用戶登錄名PasswordMoney3 Not Null用戶口令PositionMoney10 用戶身份PowerInt10 用戶權(quán)限 第四章 實(shí)現(xiàn)4.1數(shù)據(jù)庫實(shí)現(xiàn) 根據(jù)3.3數(shù)據(jù)表設(shè)計(jì)的設(shè)計(jì)結(jié)果,運(yùn)用DBMS SQL Server 2000 的企業(yè)管理器建立數(shù)據(jù)庫表。藥品信息表(MedInfor )設(shè)置藥品編碼(MedicineCode)為主碼,藥品類別索引表(MedKindInfor)設(shè)置藥品類別代碼(M
18、edKindCode)為主碼,銷售主表(SaleMainTable)設(shè)置銷售編碼(Saleno)及銷售日期(SaleDate)共同作為主碼,銷售子表(SaleChildTable)設(shè)置銷售編碼(SaleNo)、銷售日期(SaleDate)和藥品編碼(MedcineCode)共同作為主碼,用戶信息表(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)系,以MedKindInfo
19、r的主碼MedKindCode作主鍵,MedInfor的MedKindCode作外鍵建立關(guān)系。銷售子表內(nèi)的藥品編碼藥參照藥品信息表內(nèi)的藥品編碼,即銷售子表與藥品信息表存在參照關(guān)系,以MedInfor的MedicineCode作主鍵,SaleChildTable的MedicineCode作外鍵建立關(guān)系。銷售主表與銷售子表存在依賴關(guān)系,以SaleMainTable的Saleno和SaleDate作為主鍵,SaleChildTable的Saleno和SaleDate作為外鍵建立關(guān)系。銷售主表內(nèi)的職工號(hào)藥參照用戶信息表的職工號(hào),即銷售主表與用戶信息表存在參照關(guān)系,以SaleMainTable的Work
20、no為主鍵,UserInfor的WorkNo為外鍵建立關(guān)系。4.2系統(tǒng)功能結(jié)構(gòu)系統(tǒng)根據(jù)用戶身份的不同分為三個(gè)功能模塊:銷售管理模塊,倉庫管理模塊和日常管理模塊。在銷售管理模塊,銷售員可以根據(jù)顧客要求查詢相關(guān)藥品的部分信息,主要是庫存量和售價(jià)的查詢;還可以完成藥品的銷售,根據(jù)顧客所買藥品的代碼和數(shù)量存儲(chǔ)銷售信息,主要是對(duì)銷售數(shù)量和銷售總額的記錄,并在銷售完成后實(shí)現(xiàn)當(dāng)前庫存的更新。在倉庫管理模塊,倉庫管理員可以查看藥品的全部信息,對(duì)藥品信息進(jìn)行維護(hù),盤點(diǎn)庫存信息,清除過期藥品等。在日常管理模塊,管理者可以查看藥品信息、銷售記錄,并對(duì)供應(yīng)商信息和用戶信息進(jìn)行管理維護(hù)。具體功能模塊圖如下:圖4.2系統(tǒng)
21、功能圖4.3模塊功能介紹 該系統(tǒng)共三個(gè)功能模塊:銷售管理、倉庫管理和日常管理。不同的用戶可以進(jìn)入不同的模塊進(jìn)行相應(yīng)操作。如:銷售人員憑借用戶名和密碼只能進(jìn)入銷售管理系統(tǒng),進(jìn)入后可以進(jìn)行藥品的銷售和查詢;倉庫管理員憑借用戶名和密碼只能進(jìn)入倉庫管理系統(tǒng),進(jìn)行藥品信息的查詢和維護(hù);管理者也要通過身份驗(yàn)證進(jìn)入日常管理界面進(jìn)行用戶信息和供應(yīng)商信息的維護(hù)即查詢及藥品信息和銷售信息的查詢。系統(tǒng)主界面如下:圖4.3系統(tǒng)主界面4.3.1銷售管理模塊 該模塊主要完成前臺(tái)藥品銷售及前臺(tái)查詢功能:銷售過程要將銷售信息自動(dòng)存儲(chǔ)到銷售信息
22、主表及子表內(nèi),便且為了維護(hù)數(shù)據(jù)的一致性,藥品庫存量要隨銷售量動(dòng)態(tài)更新,若購藥量大于庫存時(shí)應(yīng)拒絕銷售操作;查詢功能主要查詢顧客所需藥品大概信息,可以根據(jù)藥品名稱或所屬類別進(jìn)行查詢。如下是銷售管理模塊的實(shí)現(xiàn)界面:1.銷售員登錄界面圖4.4銷售管理模塊登錄界面該界面通過如下代碼跟數(shù)據(jù)庫內(nèi)用戶信息表連接,具體實(shí)現(xiàn)代碼見附錄Private Sub Form_Load()Adodc1.RecordSource = "select * from userinfor where userregname= '" & Text1 & "'"A
23、dodc1.RefreshEnd Sub2.前臺(tái)查詢(1)輸入藥品名稱“蓋中蓋”所得查詢結(jié)果如下圖4.5查詢結(jié)果(一)(2)選擇藥品類別“非處方藥”所得查詢結(jié)果如下圖4.6查詢結(jié)果(二)系統(tǒng)通過如下主要代碼實(shí)現(xiàn)藥品查詢功能按藥品名查詢Adodc1.RecordSource = "select medicinecode 藥品編碼,medicinename 藥品名稱,price 售價(jià),stocknum 庫存量,unit單位,usefullife 有效期至 from MedInfor where medicinename= '" & Tex
24、t1 & "'"Adodc1.Refresh按藥品類別查詢Select Case Combo1.TextCase "處方藥"Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename 藥品名稱,price as 售價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期至 from MedInfor where medkindcode= '1'"Adodc1.RefreshCa
25、se "非處方藥"Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期至 from MedInfor where medkindcode= '2'"Adodc1.Refresh 3.前臺(tái)銷售(1)號(hào)藥品,銷售量為13時(shí)的銷售界面 系統(tǒng)主要通過如下主要代碼實(shí)現(xiàn)銷售功能更新庫存Adodc1.Recordset.
26、UpdateText11.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 = x 4.3.2倉庫管理模塊該模塊主要完成藥品信息的維護(hù)和查詢,其中查詢功能可以分別按藥品代碼、藥品名稱、藥品類別或過期藥品來查詢。如下是倉庫管理模塊的實(shí)現(xiàn)界面:1.倉庫管理員登錄界面圖4.9管理員
27、登錄界面2.藥品信息查詢(1)輸入代碼“”的查詢結(jié)果界面圖4.10按藥品編碼的查詢結(jié)果結(jié)果界面(2)輸入藥品名稱“白加黑”的查詢結(jié)果界面圖4.11按藥品名稱的查詢結(jié)果界面 (3)選擇藥品類別“處方藥”的查詢結(jié)果界面圖4.12按藥品類別的查詢結(jié)果界面(4)按過期藥品查詢的結(jié)果界面圖4.13按過期藥品的查詢結(jié)果界面系統(tǒng)主要通過如下主要代碼實(shí)現(xiàn)查詢功能Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,pric
28、e as 售價(jià),listprice as 廠價(jià),stocknum as 庫存量,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.藥品信息查詢(類似與倉庫管理
29、的藥品信息查詢)3. 銷售記錄查詢(一)銷售主表查詢界面圖4.15查詢銷售主表的結(jié)果界面(二)銷售子表查詢界面圖4.16查詢銷售子表的結(jié)果界面(三)全部信息查詢界面圖4.17查詢?nèi)啃畔⒌慕Y(jié)果界面4.供應(yīng)商信息查詢(一)輸如供應(yīng)商編碼“1002”得查詢結(jié)果界面圖4.18按供應(yīng)商編碼的查詢結(jié)果界面(二)輸入所在城市名“上?!钡貌樵兘Y(jié)果界面圖4.19按供應(yīng)商所在城市的查詢結(jié)果界面系統(tǒng)主要通過如下主要代碼實(shí)現(xiàn)查詢功能Adodc1.RecordSource = " select saleno as 銷售編碼,amount as 總額,saledate as 銷售日期,workno as 銷售
30、員編號(hào) from salemaintable where saleno='" & Trim(Text12.Text) & "'"Adodc1.Refresh. 第五章 設(shè)計(jì)總結(jié)在課程設(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圖。然
31、后是邏輯結(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ù)功能,但是也有很多不做之處,如藥品進(jìn)庫信息功能,對(duì)新進(jìn)藥品進(jìn)行入庫存儲(chǔ),但是由于進(jìn)價(jià)跟有效期的變化不能只是對(duì)該藥品的庫存量更改。進(jìn)價(jià)可以運(yùn)用加成定價(jià)法更改,但有效期尚未想到解決方案。希望老師給與意見及幫助,使系統(tǒng)功能更加完善。 在這次課程設(shè)計(jì)中雖然遇到過很多的困難,但我從中學(xué)到了很多有用的知識(shí),通過不斷的翻閱資料,各個(gè)問題的解決使我對(duì)系統(tǒng)的設(shè)計(jì)越來越感興趣
32、。相信我從這次課程設(shè)計(jì)所學(xué)到的東西可以讓我在以后的學(xué)習(xí)及工作中受益無限。 附錄實(shí)驗(yàn)程序源代碼1.登錄界面代碼:(以銷售員登錄為例,倉庫管理員和日常管理者登錄與此類似,不再贅述)在主界面菜單“銷售管理“內(nèi)編寫代碼如下:Private Sub A1_Click()登錄.Show登錄.Adodc1.RecordSource = "select * from userinfor where power=' 銷售 '"登錄.Adodc1.Refresh登錄.Option1.Value = True登
33、錄.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 Text2_GotFocus()Adodc1.RecordSource = "select * from userinfor where userregname= '
34、" & Text1 & "'"Adodc1.RefreshIf Adodc1.Recordset.EOF ThenMsgBox "無此用戶,請(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 Val(Text2.Tex
35、t) = 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 IfEn
36、d Sub2.前臺(tái)查詢窗體代碼Private Sub Command1_Click()If Option1 ThenAdodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期至 from MedInfor where medicinename= '" & Text1 & "'"Adodc1.RefreshEnd IfIf Opt
37、ion2 ThenSelect Case Combo1.TextCase "處方藥"Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename 藥品名稱,price as 售價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期至 from MedInfor where medkindcode= '1'"Adodc1.RefreshCase "非處方藥"Adodc1.RecordSource
38、 = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期至 from MedInfor where medkindcode= '2'"Adodc1.RefreshCase "中藥飲片"Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià),stocknum a
39、s 庫存量,unit as 單位,usefullife as 有效期至 from MedInfor where medkindcode= '3'"Adodc1.RefreshCase "中藥材"Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where medkin
40、dcode= '4'"Adodc1.RefreshCase "醫(yī)療器械"Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期至 from MedInfor where medkindcode= '5'"Adodc1.RefreshCase "非藥品(保健品)"Adodc1.RecordSour
41、ce = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期 from MedInfor where medkindcode= '6'"Adodc1.RefreshEnd SelectEnd IfIf Adodc1.Recordset.EOF ThenMsgBox "無此信息!", , "提示"Adodc1.RecordSource = "selec
42、t medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期至 from MedInfor "Adodc1.RefreshEnd IfEnd Sub3.銷售界面代碼Private Sub Command1_Click()Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,price as 售價(jià) ,unit as 單位,stocknum as 庫存
43、量 from medinfor where medicinecode='" & Text1 & "'"Adodc1.RefreshIf Adodc1.Recordset.EOF Then MsgBox "無此信息!", , "提示"If Val(Text11.Text) - Val(Text2.Text) < 0 ThenMsgBox "庫存不足", , "提示"Text1.Text = "": Text2.Text = &qu
44、ot;": 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) * Val(Text2.Text)Text18.Text = Text2.TextAdodc2.Recordset.UpdateAdodc2.Record
45、set.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 = Val(Text4.Text) + 1Text4.Text = yText5.Text = Date$Text6.Text = xAdodc3.Recordset
46、.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.藥品信息查詢代碼(倉庫管理和日常管理的藥品查詢都用此代碼)Option ExplicitPrivate Sub Command1_Click()On Error Resume Ne
47、xtIf 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 NextAd
48、odc1.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.Set
49、FocusElseCommand3.Caption = "修改"Adodc1.Recordset.UpdateCommand1.Enabled = TrueCommand2.Enabled = TrueCommand5.Enabled = TrueEnd IfEnd SubPrivate Sub Command4_Click()Command3.Caption = "修改"Command1.Caption = "添加"On Error GoTo RefreshErr Adodc1.Refresh Exit Su
50、bRefreshErr: MsgBox Err.DescriptionEnd SubPrivate Sub Command5_Click()Frame1.Visible = TrueEnd SubPrivate Sub Command6_Click()If Option1 ThenAdodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫存量,unit as 單位
51、,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where medicinecode= '" & Text1 & "'"Adodc1.RefreshEnd IfIf Option2 ThenAdodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫存量,un
52、it as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where medicinename= '" & Text2 & "'"Adodc1.RefreshEnd IfIf Option3 ThenSelect Case Combo1.TextCase "處方藥"Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品
53、類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where medkindcode= '1'"Adodc1.RefreshCase "非處方藥"Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listpr
54、ice as 廠價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where medkindcode= '2'"Adodc1.RefreshCase "中藥飲片"Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫
55、存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where medkindcode= '3'"Adodc1.RefreshCase "中藥材"Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫存量,unit as 單位,usefullife
56、 as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where medkindcode= '4'"Adodc1.RefreshCase "醫(yī)療器械"Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期至,ratifycode as
57、批準(zhǔn)文號(hào) from MedInfor where medkindcode= '5'"Adodc1.RefreshCase "非藥品(保健品)"Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor
58、where medkindcode= '6'"Adodc1.RefreshEnd SelectEnd IfIf Option4 ThenAdodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor where u
59、sefullife <' " & Trim(Text13) & " ' "Adodc1.RefreshEnd IfIf Adodc1.Recordset.EOF ThenMsgBox "無此信息!", , "提示"Adodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as
60、庫存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor "Adodc1.RefreshEnd IfEnd SubPrivate Sub Command7_Click()Adodc1.Recordset.MovePreviousIf Adodc1.Recordset.BOF ThenAdodc1.RecordSource = "select medicinecode as 藥品編碼,medicinename as 藥品名稱,medkindcode as 藥品類別代碼,price as 售價(jià),listprice as 廠價(jià),stocknum as 庫存量,unit as 單位,usefullife as 有效期至,ratifycode as 批準(zhǔn)文號(hào) from MedInfor "Adodc1.RefreshMsgBox "當(dāng)前記錄為第一條", , "提示"End IfEnd SubPrivate Sub Command8_Click()Adodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF ThenAd
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 離婚財(cái)產(chǎn)分割合同模板
- 保安公司安保人員聘用合同樣本
- 旅游設(shè)施建設(shè)報(bào)名表
- 建筑腳手架施工合同副本
- 2024年動(dòng)畫電影配音協(xié)議
- 電力設(shè)備檢修員聘用合同樣本
- 高三班主任工作計(jì)劃(5篇)
- 企業(yè)咨詢服務(wù)合同
- 2024年度農(nóng)業(yè)技術(shù)推廣與服務(wù)合同
- 企業(yè)總部二手房交易合同模板
- 相對(duì)濕度計(jì)算公式
- 2024版腫瘤患者靜脈血栓防治指南解讀 課件
- 商業(yè)銀行開展非法集資風(fēng)險(xiǎn)排查活動(dòng)情況報(bào)告
- 英語連讀發(fā)音技巧講解
- 危貨運(yùn)輸車輛掛靠協(xié)議
- 加快推進(jìn)涉外法治建設(shè)
- 綠色供應(yīng)鏈管理企業(yè)一般要求符合性評(píng)價(jià)表
- 中航集團(tuán)招聘筆試題庫2024
- 某系統(tǒng)安防工程施工組織設(shè)計(jì)方案
- 2024年7月13日云南省昆明市直遴選筆試真題及解析綜合管理崗
- 《明朝的統(tǒng)治》(2016年人教版)
評(píng)論
0/150
提交評(píng)論