版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章系统概述1.1系统开发背景随着科技的不断进步,企业都在不断的注重管理的信息化以完善企业管理,增强企业自身的竞争力。 医药业也不例外,通过较完善的信息系统实现自身企业对内部管理的方便性、合理性、快捷性、高效性等 要求。以前的手工管理效率低使最明显的缺陷,另外,数据的一致性不好维护,如某个药品信息的记录有所改动(如更改编号),那么该要品的其他记录就与此不一致,造成查询的费时费力。要把全部数据都更改又相 当不方便。对药品库存的盘点也很不方便,而且需要较多的人来进行管理操作,而且容易岀错,造成数据 的不一致。而药品业是关民生的行业,错误信息可能会造成不可收拾的严重后果。因此,运用高效、准确 的信
2、息管理系统来替代手工管理是完善医药业管理的有效手段。1.2.系统开发意义利用数据库系统可以很好的对数据进行维护,减少由于数据不一致等错误带来的麻烦。方便数据的更新和 查询,降低错误率,方便药品信息的维护及库存的盘点。还可以运用较少的人员,高效的完成对医药的管 理。由于社会的发展不断趋于信息化,各个行业都要加强自身的信息化程度以适应社会的发展。而管理信息化 正迎合了这个趋势,数据库系统在医药业的应用业实现了医药业执行工具、业务管理等的信息化,在这个 信息化社会为医药业的发展增加了新的动力。相信随着社会的不断发展对该类系统的需求会越来越高。医药管理信息系统,即服务于个人,又服务于企业,并最终服务于
3、社会,这是让科技为人类服务的最好例 证,其开发意义显而易见。第二章需求分析2.1信息需求(基本信息)药品信息:药品编号,药品名称,药品类别代码,售价,厂价,单位,库存量,有效期至,批准文号等 药品分类索引信息:药品类别代码,类别说明等供应商信息:供应商号,供应商名,联系人,联系电话,所在城市等药品销售信息:销售编码,药品编码,药品名称,售价,单位,数量,总额,销售日期等用户信息:职工号,姓名,用户登录名,用户口令,用户身份,用户权限等2.2功能需求系统要实现的主要功能有:(1) 对药品信息的维护和管理, 能够万册很能够药品信息的添加、修改和删除,并按一定条件查询药品信 息。(2)对供应商信息的
4、管理,能够完成信息的添加、修改和删除,并按一定条件查询信息。(3)对用户信息的管理,能够完成信息的添加、修改和删除,并按一定条件查询信息。(4 )仓库管理,能够查询库存药品信息,并对库存进行更新、盘点(5)查询功能,要求可以按日期查询,也可按用户选择字段和输入内容查询。2.4数据字典数据存储及数据流名字:销售信息别名:销售单 描述:一次销售结束后所存储的信息并生成单据定义:销售信息=销售编码+药品编码+药品名称+单价+数量+单位+销售日期+总额+销售员编号 位置:存储 输出给顾客名字:药品信息别名:描述:仓库内存储的所有药品信息(包括所有药品查询的所需信息)定义:药品信息=药品编码+药品名称+
5、药品类别+售价+厂价+单位+库存量+有效期至位置:存储输出供查询名字:用户信息别名:描述:系统用户的信息定义:用户信息=职工号+姓名+用户名+用户口令+职位+权限位置:存储输出供查询及维护名字:供应商信息别名:描述:药品供应商的信息定义:供应商信息=供应商号+供应商名称+联系人+联系电话+所在城市位置:存储输出供查询及维护名字:查询信息描述:用户所提出的查询请求定义:查询信息=销售管理查询信息I仓库管理查询信息I日常管理查询信息销售管理查询信息=药品名称I药品类别仓库管理查询信息=药品编码I药品名称I药品类别I过期药品日常管理查询信息=药品编码I药品名称I药品类别I过期药品 位置:销售管理系统
6、仓库管理系统日常管理系统名字:更新信息描述:用户操作对库存信息的添加、删除、修改定义:更新信息=销售管理更新信息I仓库管理更新信息I日常管理更新信息 销售管理更新信息=药品编码+新库存量仓库管理更新信息=药品编码+药品名称+药品类别+售价+厂价+单位+库存量+有效期至 日常管理更新信息=用户更新信息I供应商更新信息用户更新信息=职工号+姓名+用户名+用户口令+职位+权限供应商更新信息=供应商号+供应商名称+联系人+联系电话+所在城市 位置:销售管理系统仓库管理系统日常管理系统名字:查询结果描述:系统完成用户查询请求后所得结果定义:查询结果=销售管理查询结果I仓库管理查询结果I日常管理查询结果销
7、售管理查询结果=药品编码+药品名称+药品类别+售价+单位+库存量+有效期至仓库管理查询结果=药品编码+药品名称+药品类别+售价+厂价+单位+库存量+有效期至日常管理查询结果=药品信息查询结果I销售记录查询结果I用户查询结果I供应商查询结果药品信息查询结果=药品编码+药品名称+药品类别+售价+厂价+单位+库存量+有效期至销售记录查询结果=销售信息=销售编码+药品编码+药品名称+单价+数量+单位+销售日期+总额+销售员编号 用户信息查询结果=职工号+姓名+用户名+用户口令+职位+权限供应商信息查询结果=供应商号+供应商名称+联系人+联系电话+所在城市 位置:销售管理系统仓库管理系统输入:销售信息输
8、出:更新信息数据项名字:药品编码别名:描述:唯一地标识库存清单中一种特定药品的关键域定义:药品编码=6字符6位置:药品信息销售管理查询信息及结果仓库管理查询信息及结果日常管理查询信息及结果名字:库存量别名:描述:仓库内药品的实际数量定义:库存量=1数字4位置:药品信息销售管理更新信息仓库管理更新信息查询结果名字:总额别名:总金额描述:记录每张销售单的总销售额定义:总额=8货币8位置:销售信息名字:销售日期别名:描述:记录药品销售的时间定义:销售日期=8时间8位置:销售信息第二章总体设计3.1系统E-R图3.1.1系统局部E-R图图3.1供应商、药品实体联系图图3.2药品、药品类别实体联系图图3
9、.3仓库、药品实体联系图图3.4职工、药品实体联系图3.12 系统全局E-R图通过对系统局部ER图的优化设计系统的基本 ER图如下:图3.53.2关系模式1. 关系模式设计该设计以概念结构设计中的E-R图为主要依据,设计岀相关的整体逻辑结构。根据总E-R图有五个实体但仓库实体在本系统中作用不大而且仅涉及到一个仓库,所以仓库不再单独设计一张表。再加上一个多对多 关系(本系统不考虑供应关系)总共五个关系模式:药品信息(药品编码,药品名称,药品类别代码,售价,厂价,库存量,单位,有效期至)药品类别索引(药品类别代码,类别说明)供应商信息(供应商编码,供应商名称,联系人,联系电话,所在城市)用户信息(
10、职工号,姓名,用户名,用户口令,职位,权限)药品销售信息(销售编码,销售日期,药品编码,药品名称,单价,数量,单位,总额,销售员编码)2. 关系模式优化3.2.1中的关系模式中的每一个分量都是不可分的数据项所以都符合第一范式;而且所有的前四个关系模式都是由单个属性作为码,没有任何属性对码部分依赖,在药品销售信息内虽由三个属性作为码,但也 不存在属性对码的部分依赖,所以上述模式都符合第二范式;药品信息、药品类别索引、供应商信息三个 关系模式中不存在传递依赖,都属于第三范式。在用户信息关系模式中,用户是按照权限分类的,职位不同权限不同,这样该关系模式就存在了非主属性 对码的传递依赖:职工号T职位,
11、职位-权限,所以应将用户信息分解为:用户信息(职工号,姓名,用户名,用户口令,职位)职位权限信息(职位,权限)但本系统不考虑职工信息的管理,为了使销售员编号与销售员的职工号连系起来,并能通过职工姓名和职位来修改用户信息所以把员工的部分信息(职工号,姓名,职位)跟用户基本信息(用户名,用户口令,权限)合成了用户信息(职工号,姓名,用户名,用户口令,职位,权限)以便于系统功能的实现,所以 在此不采用分解模式,仍采用原模式。药品销售信息中有大量的数据冗余,且不够明确。现将其分解为:药品销售主表(销售编码,销售日期,销售员编号,总金额)药品销售子表(销售编码,销售日期,药品编码,药品名称,单价,数量,
12、单位,金额)其中 金额”由单价”和数量”乘积求得,总金额”由同一销售单内不同药品的金额”求和得到。这样不仅方便查询销售总额,也加快了合计数据的速度,也有利于程序的实现。用户信息模式和药品销售子表模式是为了降低连接操作,减少外键和索引数目对原模式进行重建或分割得来的。更重要得是,这样不但可以提高查询速度,而且有利于系统实现。3.3数据表设计通过对关系模式的优化,得到六个基本表:表3 1药品信息表字段名字段类型长度主键或外键字段值约束对应中文属性名MedicineCodeChar6Primary KeyNot Null药品编码MedicineNameVarchar32Not Null药品名称Med
13、KindCodeChar1Foreign keyNot Null药品类别代码PriceMoney8售价ListPriceMoney8厂价NumberInt4库存量UnitChar2单位UsefulLifeDatetime8有效期至表3-2供应商信息字段名字段类型长度主键或外键字段值约束对应中文属性名FirmCodeChar4Primary KeyNot Null供应商编码FirmNameVarchar16Not Null供应商名称LinkVarchar12联系人LinkTellVarchar11联系电话CityVarchar8所在城市表3-3药品销售主表字段名字段类型长度主键或外键字段值约束对
14、应中文属性名SaleNoint4Primary KeyNot Null销售编码WorkNoChar2Foreign keyNot Null销售员编码SaleDateDateTime8销售日期AmountMoney8总金额表3-4药品销售子表字段名字段类型长度主键或外键字段值约束对应中文属性名SaleNoint4Primary KeyNot Null销售编码MedicinecodeChar6Foreign keyNot Null药品编码MedicineNameVarchar32Not Null药品名称PriceMoney8售价NumberInt4数量UnitChar2单位AmountMoney8
15、金额表3-5药品类别索引信息字段名字段类型长度主键或外键字段值约束对应中文属性名MedKindCodeChar1Primary KeyNot Null药品类别代码KindExplanationVarchar16Not Null类别说明表3-6用户信息字段名字段类型长度主键或外键字段值约束对应中文属性名WorkNoChar2Primary KeyNot Null职工号NameVarchar12姓名UserRegNameChar3Not Null用户登录名PasswordMoney3Not Null用户口令PositionMoney10用户身份PowerInt10用户权限第四章实现4.1数据库实现
16、根据3.3数据表设计的设计结果,运用DBMS SQL Server 2000 的企业管理器建立数据库表。药品信息表(Medlnfor ) 设置药品编码(MedicineCode )为主码,药品类别索引表(MedKindlnfor )设 置药品类别代码(MedKindCode )为主码,销售主表(SaleMainTable )设置销售编码(Saleno )及销 售日期(SaleDate )共同作为主码,销售子表(SaleChildTable )设置销售编码(SaleNo八销售日期(SaleDate )和药品编码(MedcineCode )共同作为主码,用户信息表(UserInfor )设置职工号
17、(WorkNo )作为主码,供应商信息表(FirmInfor )设置供应商编码(FirmCode )为主码。属性的字符类型及长度参 照3.3数据表设计结果进行设置每类药品可以有好多种药,每种药只有一个类别,所以药品类别索引表与药品信息表存在一对多的关系,以MedKindlnfor 的主码 MedKindCode 作主键,Medlnfor 的MedKindCode 作外键建立关系。 销售子表内的药品编码药参照药品信息表内的药品编码,即销售子表与药品信息表存在参照关系,以Medl nfor的MedicineCode 作主键,SaleChildTable 的MedicineCode 作外键建立关系。
18、销售主表与销售子表存 在依赖关系,以 SaleMainTable 的 Saleno 和 SaleDate 作为主键,SaleChildTable 的 Saleno 和 SaleDate作为外键建立关系。销售主表内的职工号药参照用户信息表的职工号,即销售主表与用户信息 表存在参照关系,以 SaleMainTable 的 Workno 为主键,Userlnfor 的 WorkNo 为外键建立关系。4.2系统功能结构系统根据用户身份的不同分为三个功能模块:销售管理模块,仓库管理模块和日常管理模块。在销售管理模块,销售员可以根据顾客要求查询相关药品的部分信息,主要是库存量和售价的查询;还可 以完成药品
19、的销售,根据顾客所买药品的代码和数量存储销售信息,主要是对销售数量和销售总额的记录,并在销售完成后实现当前库存的更新。在仓库管理模块,仓库管理员可以查看药品的全部信息,对药品信息进行维护,盘点库存信息,清除过期药品等。在日常管理模块,管理者可以查看药品信息、销售记录,并对供应商信息和用户信息进行管理维护。具体功能模块图如下:图4.2系统功能图4.3模块功能介绍该系统共三个功能模块:销售管理、仓库管理和日常管理。不同的用户可以进入不同的模块进行相应 操作。如:销售人员凭借用户名和密码只能进入销售管理系统,进入后可以进行药品的销售和查询;仓库 管理员凭借用户名和密码只能进入仓库管理系统,进行药品信
20、息的查询和维护;管理者也要通过身份验证 进入日常管理界面进行用户信息和供应商信息的维护即查询及药品信息和销售信息的查询。系统主界面如 下:图4.3系统主界面4.3.1销售管理模块该模块主要完成前台药品销售及前台查询功能:销售过程要将销售信息自动存储到销售信息主表及子表内,便且为了维护数据的一致性,药品库存量要随销售量动态更新,若购药量大于库存时应拒绝销售操作; 查询功能主要查询顾客所需药品大概信息,可以根据药品名称或所属类别进行查询。如下是销售管理模块的实现界面:1. 销售员登录界面图4.4销售管理模块登录界面该界面通过如下代码跟数据库内用户信息表连接,具体实现代码见附录Private Sub
21、 Form_Load()AdodcI.RecordSource = "select * from userinfor where userregname= '" & Textl & "'"AdodcI.RefreshEnd Sub2. 前台查询(1)输入药品名称 盖中盖”所得查询结果如下图4.5查询结果(一)(2)选择药品类别 非处方药”所得查询结果如下图4.6查询结果(二)系统通过如下主要代码实现药品查询功能按药品名查询AdodcI.RecordSource = "select medicinecode药品编码
22、,medicinename药品名称,price 售价,stocknum 库存量,unit 单位,usefullife有效期至 from MedInfor where medicinename= '" &Textl &Adodc1.Refresh按药品类别查询Select Case Combo1.TextCase "处方药"Adodc1.RecordSource = "select medicinecode as药品编码,medicinename 药品名称,price as售价,stocknum as 库存量,unit as 单位,
23、usefullife as有效期至 from MedInfor wheremedkindcode= '1'"Adodc1.RefreshCase "非处方药"Adodc1.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,priceas 售价,stocknum as 库存量,unit as 单位,usefullife as有效期至 from MedInfor wheremedkindcode= '2'"Adodc1.Refresh3.
24、前台销售(1)101003 号药品,销售量为13时的销售界面系统主要通过如下主要代码实现销售功能更新库存AdodcI.Recordset.UpdateTextll.Text = Val(Textll.Text) - Val(Text2.Text)AdodcI.Recordset.UpdateAdodcI.Recordset.MoveLast计算总额Text17.Text = Val(Text9.Text) * Val(Text2.Text)x = x + Val(Text17.Text)Text6.Text = x4.3.2仓库管理模块该模块主要完成药品信息的维护和查询,其中查询功能可以分别按
25、药品代码、药品名称、药品类别或过期 药品来查询。如下是仓库管理模块的实现界面:1. 仓库管理员登录界面图4.9管理员登录界面2. 药品信息查询(1 )输入代码“101003'的查询结果界面图4.10按药品编码的查询结果结果界面(2)输入药品名称 白加黑”的查询结果界面图4.11按药品名称的查询结果界面(3) 选择药品类别 处方药”的查询结果界面图4.12按药品类别的查询结果界面(4) 按过期药品查询的结果界面图4.13按过期药品的查询结果界面系统主要通过如下主要代码实现查询功能Adodc1.RecordSource = "select medicinecode as药品编码,
26、medicinename as 药品名称,medkindcode as药品类另U代码 ,price as 售价,listprice as 厂价,stocknum as 库存量,unit as 单位,usefullife as 有效期至,ratifycode as 批准文号 from MedInfor where medicinecode= '" &Text1 &Adodc1.Refresh4.3.3日常管理模块该模块可以进行用户信息和供应商信息的维护及查询,主要是对药品信息、销售信息、用户信息和供应商信息的查询。如下是日常管理模块的实现界面:1. 管理者登录界
27、面图4.14管理员登录界面2. 药品信息查询(类似与仓库管理的药品信息查询)3. 销售记录查询(一)销售主表查询界面图4.15查询销售主表的结果界面(二)销售子表查询界面图4.16查询销售子表的结果界面(三)全部信息查询界面图4.17查询全部信息的结果界面4. 供应商信息查询(一)输如供应商编码“1002'得查询结果界面图4.18按供应商编码的查询结果界面(二)输入所在城市名上海”得查询结果界面图4.19按供应商所在城市的查询结果界面系统主要通过如下主要代码实现查询功能Adodc1.RecordSource = " select saleno as销售编码 amount as
28、 总额,saledate as 销售日期,workno as销售员编号 from salemaintable where saleno='" & Trim(T ext12.Text) & ""Adodc1.Refresh第五章设计总结在课程设计阶段,首先对医药管理进行了了解,仔细分析了该管理对系统功能的要求,并根据这些功能要求对系统进行定义,确定系统必须做什么。但由于对医药管理了解不多,需求分析难免不够完善,但是基本需求都考虑到了,并用文档准确记录了系统的需求。之后着手对系统的设计工作,首先是概念结构设计,根据需求分析结果总结系统内实体及联
29、系并绘制系统的局部ER图和全局ER图。然后是逻辑结构设计,结合需求分析与概念结构设计把设计好的ER图转换为DBMS ( SQL Server 2000 )所支持的数据模型所符合的逻辑结构。最后运用开发工具VB6.0进行功能的编码实现。该系统最终能够基本实现绝大多数功能,但是也有很多不做之处,如药品进库信息功能,对新进药品进行入库存储,但是由于进价跟有效期的变化不能只是对该药品的库存量更改。进价可以运用加成定价法更改,但有效期尚未想到解决方案。希望老师给与意见及帮助,使系统功能更加完善。在这次课程设计中虽然遇到过很多的困难,但我从中学到了很多有用的知识,通过不断的翻阅资料,各个问题的解决使我对系
30、统的设计越来越感兴趣。相信我从这次课程设计所学到的东西可以让我在以后的学 习及工作中受益无限。附录实验程序源代码1. 登录界面代码:(以销售员登录为例,仓库管理员和日常管理者登录与此类似,不再赘述)在主界面菜单销售管理内编写代码如下:Private Sub A1_Click()登录.Show登录.Adodc1.RecordSource = "select * from userinforwhere power=' 销售登录.AdodcI.Refresh登录.Optionl.Value = True登录.Optionl.Visible = True登录.Option2.Valu
31、e = False登录.Option2.Visible = False登录.Option3.Value = False登录.Option3.Visible = FalseA = 1: B = 0: C = 0End Sub在Text2 的GotFocus事件内编写如下代码以确定用户的准确性Private Sub Text2_GotFocus()Adodcl.RecordSource = "select * from userinfor where userregname= '" & Textl & "'"AdodcI.Re
32、freshIf Adodc1.Recordset.EOF ThenMsgBox "无此用户,请重新输入 !","提示"Textl.Text =""Textl.SetFocusEnd IfEnd Sub在Commandl 的Click事件内编写如下代码检验用户密码Private Sub Command1_Click()Dim x As String, y As StringTextl.SetFocusIf Val(Text2.Text) = Val(Text4.Text) ThenMsgBox "输入正确",&quo
33、t;提示"Textl.Text =""Text2.Text =""Unload MeIf A = 1 ThenFrmMain.A2.Enabled = TrueFrmMain.A3.Enabled = TrueEnd IfElseMsgBox "密码错误","提示"End IfEnd Sub2. 前台查询窗体代码Private Sub Command1_Click()If Optionl ThenAdodcI.RecordSource = "select medicinecode as药品编码,
34、medicinename as药品名称,priceas 售价,stocknum as 库存量,unit as 单位,usefullife as有效期至 from MedInfor wheremedicinename= '" & Text1 & "'"Adodc1.RefreshEnd IfIf Option2 ThenSelect Case Combo1.TextCase "处方药Adodc1.RecordSource = "select medicinecode as药品编码,medicinename药品名称,
35、price as售价,stocknum as 库存量,unit as 单位,usefullife as有效期至 from MedInfor wheremedkindcode= '1'"Adodc1.RefreshCase "非处方药Adodc1.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,priceas 售价,stocknum as 库存量,unit as 单位,usefullife as有效期至 from MedInfor wheremedkindcode=
36、39;2'"Adodc1.RefreshCase "中药饮片"AdodcI.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,priceas 售价,stocknum as 库存量,unit as 单位,usefullife as有效期至 from MedInfor wheremedkindcode= '3'"Adodc1.RefreshCase "中药材Adodc1.RecordSource = "select medici
37、necode as药品编码,medicinename as药品名称,price批准文号fromas 售价,stocknum as 库存量,unit as 单位,usefullife as 有效期至,ratifycode asMedInfor where medkindcode= '4'"Adodc1.RefreshCase "医疗器械"Adodc1.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,priceas 售价,stocknum as 库存量,unit
38、as 单位,usefullife as 有效期至 from MedInfor where medkindcode= '5'"Adodc1.RefreshCase "非药品(保健品)"Adodc1.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,priceas 售价,stocknum as 库存量,unit as 单位,usefullife as 有效期 from MedInfor where medkindcode= '6'"Adod
39、c1.RefreshEnd SelectEnd IfIf Adodc1.Recordset.EOF ThenMsgBox "无此信息!","提示"AdodcI.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,priceas 售价,stocknum as 库存量,unit as 单位,usefullife as有效期至 from MedInfor "Adodc1.RefreshEnd IfEnd Sub3. 销售界面代码Private Sub Command
40、1_Click()Adodc1.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,priceas 售价 ,unit as 单位,stocknum as 库存量 from medinfor where medicinecode='" & Text1 &innAdodc1.RefreshIf Adodc1.Recordset.EOF Then MsgBox "无此信息!"," 提示"If Val(Text11.Text) - Val(Te
41、xt2.Text) < 0 ThenMsgBox "库存不足","提示"Text1.Text = "": Text2.Text = "": Text1.SetFocusElseOn Error Resume NextAdodc2.Recordset.AddNewText12.Text = Text4.TextText13.Text = Text7.TextText14.Text = Text8.TextText15.Text = Text9.TextText16.Text = TextIO.TextText1
42、7.Text = Val(Text9.Text) * Val(Text2.Text)Text18.Text = Text2.TextAdodc2.Recordset.UpdateAdodc2.Recordset.MoveLastAdodc1.Recordset.UpdateText11.Text = Val(Text11.Text) - Val(Text2.Text)Adodc1.Recordset.UpdateAdodc1.Recordset.MoveLast x = x + Va l(T ext17.Text)End IfEnd SubPrivate Sub Command2_Click(
43、)Static y As Integer y = Val(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
44、()x = 0End Sub4. 药品信息查询代码(仓库管理和日常管理的药品查询都用此代码)Option ExplicitPrivate Sub Command1_Click()On Error Resume NextIf Command1.Caption ="新增"ThenCommand1.Caption ="确认"Adodc1.Recordset.AddNewText4.SetFocusElseCommandl.Caption =" 新增AdodcI.Recordset.UpdateAdodcI.Recordset.MoveLastEnd
45、IfEnd SubPrivate Sub Command2_Click()On Error Resume NextAdodc1.Recordset.DeleteAdodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLastEnd SubPrivate Sub Command3_Click()On Error Resume NextIf Command3.Caption =" 修改"ThenCommand3.Caption =" 确认Adodc1.Recordset.Up
46、dateText4.SetFocusElseCommand3.Caption =AdodcI.Recordset.UpdateCommandl.Enabled = TrueCommand2.Enabled = TrueCommand5.Enabled = TrueEnd IfEnd SubPrivate Sub Command4_Click()Command3.Caption =" 修改Command1.Caption =" 添加On Error GoTo RefreshErrAdodc1.RefreshExit SubRefreshErr:MsgBox Err.Descr
47、iptionEnd SubPrivate Sub Command5_Click()Frame1.Visible = TrueEnd SubPrivate Sub Command6_Click()If Optionl ThenAdodcI.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,medkindcode as药品类另U代码 ,price as 售价,listprice as 厂价,stocknum as 库存量,unit as 单位,usefullife as有效期至,ratifycode as批准文
48、号 from MedInfor where medicinecode= '" &Text1 &Adodc1.RefreshEnd IfIf Option2 ThenAdodc1.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,medkindcode as药品类另U代码 ,price as 售价,listprice as 厂价,stocknum as 库存量,unit as 单位,usefullife as有效期至,ratifycode as批准文号 from MedInf
49、or where medicinename= '" &Text2 &Adodc1.RefreshEnd IfIf Option3 ThenSelect Case Combo1.TextCase "处方药"Adodc1.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,medkindcode as药品类另U代码 ,price as 售价,listprice as 厂价,stocknum as 库存量,unit as 单位,usefullife as有效期至
50、,ratifycode as批准文号 from MedInfor where medkindcode= '1'"Adodc1.RefreshCase "非处方药AdodcI.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,medkindcode as药品类另U代码 ,price as 售价,listprice as 厂价,stocknum as 库存量,unit as 单位,usefullife as 有效期至,ratifycode as批准文号 from MedInf
51、or where medkindcode= '2'"AdodcI.RefreshCase "中药饮片"Adodc1.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,medkindcode as药品类另U代码 ,price as 售价,listprice as 厂价,stocknum as 库存量,unit as 单位,usefullife as 有效期至,ratifycode as批准文号 from MedInfor where medkindcode=
52、39;3'"Adodc1.RefreshCase "中药材"Adodc1.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,medkindcode as药品类另U代码 ,price as 售价,listprice as 厂价,stocknum as 库存量,unit as 单位,usefullife as 有效期至,ratifycode as批准文号 from MedInfor where medkindcode= '4'"Adodc1.Ref
53、reshCase "医疗器械"Adodc1.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,medkindcode as药品类另U代码 ,price as 售价,listprice as 厂价,stocknum as 库存量,unit as 单位,usefullife as 有效期至,ratifycode as批准文号 from MedInfor where medkindcode= '5'"Adodc1.RefreshCase "非药品(保健品)药
54、品编码,medicinename as 药品名AdodcI.RecordSource = "select medicinecode as称,medkindcode as药品类另U代码 ,price as 售价,listprice as 厂价,stocknum as 库存量,unit as 单位,usefullife as有效期至,ratifycode as 批准文号 from MedInfor where medkindcode= '6'"AdodcI.RefreshEnd SelectEnd IfIf Option4 ThenAdodc1.RecordSo
55、urce = "select medicinecode as药品编码,medicinename as 药品名称,medkindcode as药品类另U代码 ,price as 售价,listprice as 厂价,stocknum as 库存量,unit as 单位,usefullife as有效期至,ratifycode as 批准文号 from MedInfor where usefullife <' " &Trim( Text13) & "'"Adodc1.RefreshEnd IfIf Adodc1.Reco
56、rdset.EOF ThenMsgBox "无此信息!","提示"Adodc1.RecordSource = "select medicinecode as药品编码,medicinename as 药品名称,medkindcode as药品类另U代码 ,price as 售价,listprice as 厂价,stocknum as 库存量,unit as 单位,usefullife as有效期至,ratifycode as 批准文号 from MedInfor "Adodc1.RefreshEnd SubEnd If药品名库存量,un
57、it as 单药品名库存量,unit as 单Private Sub Command7_Click()AdodcI.Recordset.MovePreviousIf Adodc1.Recordset.BOF ThenAdodc1.RecordSource = "select medicinecode as药品编码,medicinename as称,medkindcode as药品类另U代码 ,price as 售价,listprice as 厂价,stocknum as位,usefullife as 有效期至,ratifycode as 批准文号 from MedInfor &quo
58、t;Adodc1.RefreshMsgBox "当前记录为第一条","提示”End IfEnd SubPrivate Sub Command8_Click()Adodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF ThenAdodc1.RecordSource = "select medicinecode as药品编码,medicinename as称,medkindcode as药品类另U代码 ,price as 售价,listprice as 厂价,stocknum as位,usefullife as 有效期至,ratifycode as 批准文号 from MedInfor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024顶级担保协议协议样例
- 2024年鱼类购销专项协议范本
- 2024年光伏技术合作协议样本
- 2024年行政赔偿协议模板
- 2024年度企业设备采购内部控制协议
- 2024环保型进户门交易协议书
- 2024重要会议场所租赁协议
- 2024年装修工程承包协议明细
- 2024专业司机陪同车辆租赁服务协议
- 2024年度商业大厦建设简易协议协议
- 从局部到整体:5G系统观-概要版-vivo通信研究院
- GB/T 22844-2009配套床上用品
- GB/T 14683-2017硅酮和改性硅酮建筑密封胶
- 无人机校企合作协议
- GB 16809-2008防火窗
- 《百团大战》历史课件
- 八年级上册道德及法治非选择题专项训练
- 2023年徐州市国盛控股集团有限公司招聘笔试题库及答案解析
- 机械课程设计~二级减速器设计教程
- 国家开放大学《传感器与测试技术》实验参考答案
- 工程造价司法鉴定实施方案
评论
0/150
提交评论