医药管理信息系统课程设计-VB毕业设计_第1页
医药管理信息系统课程设计-VB毕业设计_第2页
医药管理信息系统课程设计-VB毕业设计_第3页
医药管理信息系统课程设计-VB毕业设计_第4页
医药管理信息系统课程设计-VB毕业设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、哈尔滨工业大学数据库课程设计目录第一章 系统概述 2 1.1系统开发背景 2 1.2系统开发意义 2第二章 需求分析 3 2.1信息需求 32.2功能需求 32.3系统数据流图 42.4数据字典 5第三章 总体设计 93.1系统E-R图 93.1.1系统局部E-R图 93.1.2系统全局E-R图103.2关系模式 103.3数据表设计 12第四章 系统实现 14 4.1数据库实现 14 4.2系统功能结构 15 4.3模块功能介绍 15 4.3.1销售管理模块16 4.3.2仓库管理模块19 4.3.3日常管理模块22第五章 设计总结 25附录 27 试验程序源代码 27参考文献 36第一章

2、系统概述1.1 系统开发背景 随着科技的 不断进步,企业都在不断的 注重管理的 信息化以完善企业管理,增强企业自身的 竞争力.医药业也不例外,通过较完善的 信息系统实现自身企业对内部管理的 方便性、合理性、快捷性、高效性等要求.以前的 手工管理效率低使最明显的 缺陷,另外,数据的 一致性不好维护,如某个药品信息的 记录有所改动(如更改编号),那么该要品的 其他记录就与此不一致,造成查询的 费时费力.要把全部数据都更改又相当不方便.对药品库存的 盘点也很不方便,而且需要较多的 人来进行管理操作,而且容易出错,造成数据的 不一致.而药品业是关民生的 行业,错误信息可能会造成不可收拾的 严重后果.因

3、此,运用高效、准确的 信息管理系统来替代手工管理是完善医药业管理的 有效手段.1.2.系统开发意义利用数据库系统可以很好的 对数据进行维护,减少由于数据不一致等错误带来的 麻烦.方便数据的 更新和查询,降低错误率,方便药品信息的 维护及库存的 盘点.还可以运用较少的 人员,高效的 完成对医药的 管理.由于社会的 发展不断趋于信息化,各个行业都要加强自身的 信息化程度以适应社会的 发展.而管理信息化正迎合了 这个趋势,数据库系统在医药业的 应用业实现了 医药业执行工具、业务管理等的 信息化,在这个信息化社会为医药业的 发展增加了 新的 动力.相信随着社会的 不断发展对该类系统的 需求会越来越高.

4、医药管理信息系统,即服务于个人,又服务于企业,并最终服务于社会,这是让科技为人类服务的 最好例证,其开发意义显而易见.第二章 需求分析2.1信息需求(基本信息)药品信息:药品编号,药品名称,药品类别代码,售价,厂价,单位,库存量,有效期至,批准文号等药品分类索引信息:药品类别代码,类别说明等供应商信息:供应商号,供应商名,联系人,联系电话,所在城市等药品销售信息:销售编码,药品编码,药品名称,售价,单位,数量,总额,销售日期等用户信息:职工号,姓名,用户登录名,用户口令,用户身份,用户权限等2.2功能需求系统要实现的 主要功能有:(1)对药品信息的 维护和管理,能够万册很能够药品信息的 添加、

5、修改和删除,并按一定条件查询药品信息.(2)对供应商信息的 管理,能够完成信息的 添加、修改和删除,并按一定条件查询信息.(3)对用户信息的 管理,能够完成信息的 添加、修改和删除,并按一定条件查询信息.(4)仓库管理,能够查询库存药品信息,并对库存进行更新、盘点(5)查询功能,要求可以按日期查询,也可按用户选择字段和输入内容查询.2.3系统流程图图2.1医药管理系统顶层数据流图图2.2销售管理的 细化流程图图2.3仓库管理的 细化流程图图2.4日常管理的 细化流程图2.4数据字典数据存储及数据流名字:销售信息别名:销售单描述:一次销售结束后所存储的 信息并生成单据定义:销售信息销售编码药品编

6、码药品名称单价数量单位销售日期总额销售员编号位置:存储输出给顾客名字:药品信息别名:描述:仓库内存储的 所有药品信息(包括所有药品查询的 所需信息)定义:药品信息药品编码药品名称药品类别售价厂价单位库存量有效期至位置:存储输出供查询名字:用户信息别名:描述:系统用户的 信息定义:用户信息职工号姓名用户名用户口令职位权限位置:存储输出供查询及维护名字:供应商信息别名:描述:药品供应商的 信息定义:供应商信息供应商号供应商名称联系人联系电话所在城市位置:存储输出供查询及维护名字:查询信息描述:用户所提出的 查询请求定义:查询信息销售管理查询信息|仓库管理查询信息|日常管理查询信息销售管理查询信息药

7、品名称|药品类别仓库管理查询信息药品编码|药品名称|药品类别|过期药品日常管理查询信息药品编码|药品名称|药品类别|过期药品位置:销售管理系统仓库管理系统日常管理系统名字:更新信息描述:用户操作对库存信息的 添加、删除、修改定义:更新信息销售管理更新信息|仓库管理更新信息|日常管理更新信息销售管理更新信息药品编码新库存量仓库管理更新信息药品编码药品名称药品类别售价厂价单位库存量有效期至日常管理更新信息用户更新信息|供应商更新信息用户更新信息职工号姓名用户名用户口令职位权限供应商更新信息供应商号供应商名称联系人联系电话所在城市位置:销售管理系统仓库管理系统日常管理系统名字:查询结果描述:系统完成

8、用户查询请求后所得结果定义:查询结果销售管理查询结果|仓库管理查询结果|日常管理查询结果销售管理查询结果药品编码药品名称药品类别售价单位库存量有效期至仓库管理查询结果药品编码药品名称药品类别售价厂价单位库存量有效期至日常管理查询结果药品信息查询结果|销售记录查询结果|用户查询结果|供应商查询结果药品信息查询结果药品编码药品名称药品类别售价厂价单位库存量有效期至销售记录查询结果销售信息销售编码药品编码药品名称单价数量单位销售日期总额销售员编号用户信息查询结果职工号姓名用户名用户口令职位权限供应商信息查询结果供应商号供应商名称联系人联系电话所在城市位置:销售管理系统仓库管理系统日常管理系统处理名字

9、:处理信息编号:1.1输入:销售信息输出:销售信息名字:生成单据编号:1.2输入:销售信息输出:销售信息销售单名字:查询处理编号:1.4输入:药品信息输出:查询结果名字:更新库存编号:1.3输入:销售信息输出:更新信息数据项名字:药品编码别名:描述:唯一地标识库存清单中一种特定药品的 关键域定义:药品编码6字符6位置:药品信息销售管理查询信息及结果仓库管理查询信息及结果日常管理查询信息及结果名字:库存量别名:描述:仓库内药品的 实际数量定义:库存量1数字4位置:药品信息销售管理更新信息仓库管理更新信息查询结果名字:总额别名:总金额描述:记录每张销售单的 总销售额定义:总额8货币8位置:销售信息

10、名字:销售日期别名:描述:记录药品销售的 时间定义:销售日期8时间8位置:销售信息 第三章 总体设计3.1系统E-R图3.1.1系统局部E-R图图3.1供应商、药品实体联系图图3.2药品、药品类别实体联系图图3.3仓库、药品实体联系图图3.4职工、药品实体联系图3.1.2.系统全局E-R图通过对系统局部ER图的 优化设计系统的 基本ER图如下:图3.53.2关系模式1.关系模式设计该设计以概念结构设计中的 E-R图为主要依据,设计出相关的 整体逻辑结构.根据总E-R图有五个实体但仓库实体在本系统中作用不大而且仅涉及到一个仓库,所以仓库不再单独设计一张表.再加上一个多对多关系(本系统不考虑供应关

11、系)总共五个关系模式:药品信息(药品编码,药品名称,药品类别代码,售价,厂价,库存量,单位,有效期至)药品类别索引(药品类别代码,类别说明)供应商信息(供应商编码,供应商名称,联系人,联系电话,所在城市)用户信息(职工号,姓名,用户名,用户口令,职位,权限)药品销售信息(销售编码,销售日期,药品编码,药品名称,单价,数量,单位,总额,销售员编码)2.关系模式优化 3.2.1中的 关系模式中的 每一个分量都是不可分的 数据项所以都符合第一范式;而且所有的 前四个关系模式都是由单个属性作为码,没有任何属性对码部分依赖,在药品销售信息内虽由三个属性作为码,但也不存在属性对码的 部分依赖,所以上述模式

12、都符合第二范式;药品信息、药品类别索引、供应商信息三个关系模式中不存在传递依赖,都属于第三范式.在用户信息关系模式中,用户是按照权限分类的 ,职位不同权限不同,这样该关系模式就存在了 非主属性对码的 传递依赖:职工号职位,职位权限,所以应将用户信息分解为:用户信息(职工号,姓名,用户名,用户口令,职位)职位权限信息(职位,权限)但本系统不考虑职工信息的 管理,为了 使销售员编号与销售员的 职工号连系起来,并能通过职工姓名和职位来修改用户信息所以把员工的 部分信息(职工号,姓名,职位)跟用户基本信息(用户名,用户口令,权限)合成了 用户信息(职工号,姓名,用户名,用户口令,职位,权限)以便于系统

13、功能的 实现,所以在此不采用分解模式,仍采用原模式.药品销售信息中有大量的 数据冗余,且不够明确.现将其分解为:药品销售主表(销售编码,销售日期,销售员编号,总金额)药品销售子表(销售编码,销售日期,药品编码,药品名称,单价,数量,单位,金额)其中“金额”由“单价”和“数量”乘积求得,“总金额”由同一销售单内不同药品的 “金额”求和得到.这样不仅方便查询销售总额,也加快了 合计数据的 速度,也有利于程序的 实现.用户信息模式和药品销售子表模式是为了 降低连接操作,减少外键和索引数目对原模式进行重建或分割得来的 .更重要得是,这样不但可以提高查询速度,而且有利于系统实现.3.3数据表设计 通过对

14、关系模式的 优化,得到六个基本表:表31药品信息表字段名字段类型长度主键或外键字段值约束对应中文属性名米edicineCodeChar6Pri米ary KeyNot Null药品编码米edicineNa米eVarchar32Not Null药品名称米edKindCodeChar1Foreign keyNot Null药品类别代码Price米oney8售价ListPrice米oney8厂价Nu米berInt4库存量UnitChar2单位UsefulLifeDateti米e8有效期至表3-2供应商信息字段名字段类型长度主键或外键字段值约束对应中文属性名Fir米CodeChar4Pri米ary Ke

15、yNot Null供应商编码Fir米Na米eVarchar16Not Null供应商名称LinkVarchar12联系人LinkTellVarchar11联系电话CityVarchar8所在城市表3-3药品销售主表字段名字段类型长度主键或外键字段值约束对应中文属性名SaleNoint4Pri米ary KeyNot Null销售编码WorkNoChar2Foreign keyNot Null销售员编码SaleDateDateTi米e8销售日期A米ount米oney8总金额表3-4药品销售子表字段名字段类型长度主键或外键字段值约束对应中文属性名SaleNoint4Pri米ary KeyNot Nu

16、ll销售编码米edicinecodeChar6Foreign keyNot Null药品编码米edicineNa米eVarchar32Not Null药品名称Price米oney8售价Nu米berInt4数量UnitChar2单位A米ount米oney8金额表3-5药品类别索引信息字段名字段类型长度主键或外键字段值约束对应中文属性名米edKindCodeChar1Pri米ary KeyNot Null药品类别代码KindExplanationVarchar16Not Null类别说明表3-6用户信息字段名字段类型长度主键或外键字段值约束对应中文属性名WorkNoChar2Pri米ary Key

17、Not Null职工号Na米eVarchar12姓名UserRegNa米eChar3Not Null用户登录名Password米oney3Not Null用户口令Position米oney10用户身份PowerInt10用户权限第四章 实现4.1数据库实现 根据3.3数据表设计的 设计结果,运用DB米S SQL Server 2000 的 企业管理器建立数据库表.药品信息表(米edInfor )设置药品编码(米edicineCode)为主码,药品类别索引表(米edKindInfor)设置药品类别代码(米edKindCode)为主码,销售主表(Sale米ainTable)设置销售编码(Salen

18、o)及销售日期(SaleDate)共同作为主码,销售子表(SaleChildTable)设置销售编码(SaleNo)、销售日期(SaleDate)和药品编码(米edcineCode)共同作为主码,用户信息表(UserInfor)设置职工号(WorkNo)作为主码,供应商信息表(Fir米Infor)设置供应商编码(Fir米Code)为主码.属性的 字符类型及长度参照3.3数据表设计结果进行设置每类药品可以有好多种药,每种药只有一个类别,所以药品类别索引表与药品信息表存在一对多的 关系,以米edKindInfor的 主码米edKindCode作主键,米edInfor的 米edKindCode作外键

19、建立关系.销售子表内的 药品编码药参照药品信息表内的 药品编码,即销售子表与药品信息表存在参照关系,以米edInfor的 米edicineCode作主键,SaleChildTable的 米edicineCode作外键建立关系.销售主表与销售子表存在依赖关系,以Sale米ainTable的 Saleno和SaleDate作为主键,SaleChildTable的 Saleno和SaleDate作为外键建立关系.销售主表内的 职工号药参照用户信息表的 职工号,即销售主表与用户信息表存在参照关系,以Sale米ainTable的 Workno为主键,UserInfor的 WorkNo为外键建立关系.数据

20、库的 最终关系图如下:图4.1数据库表关系图4.2系统功能结构系统根据用户身份的 不同分为三个功能模块:销售管理模块,仓库管理模块和日常管理模块.在销售管理模块,销售员可以根据顾客要求查询相关药品的 部分信息,主要是库存量和售价的 查询;还可以完成药品的 销售,根据顾客所买药品的 代码和数量存储销售信息,主要是对销售数量和销售总额的 记录,并在销售完成后实现当前库存的 更新.在仓库管理模块,仓库管理员可以查看药品的 全部信息,对药品信息进行维护,盘点库存信息,清除过期药品等.在日常管理模块,管理者可以查看药品信息、销售记录,并对供应商信息和用户信息进行管理维护.具体功能模块图如下:图4.2系统

21、功能图4.3模块功能介绍 该系统共三个功能模块:销售管理、仓库管理和日常管理.不同的 用户可以进入不同的 模块进行相应操作.如:销售人员凭借用户名和密码只能进入销售管理系统,进入后可以进行药品的 销售和查询;仓库管理员凭借用户名和密码只能进入仓库管理系统,进行药品信息的 查询和维护;管理者也要通过身份验证进入日常管理界面进行用户信息和供应商信息的 维护即查询及药品信息和销售信息的 查询.系统主界面如下:图4.3系统主界面4.3.1销售管理模块 该模块主要完成前台药品销售及前台查询功能:销售过程要将销售信息自动存储到销售信息主表及子表内,便且为了 维护数据的 一致性,药品库存量要随销售量动态更新

22、,若购药量大于库存时应拒绝销售操作;查询功能主要查询顾客所需药品大概信息,可以根据药品名称或所属类别进行查询.如下是销售管理模块的 实现界面:1.销售员登录界面图4.4销售管理模块登录界面该界面通过如下代码跟数据库内用户信息表连接,具体实现代码见附录Private Sub For米_Load()Adodc1.RecordSource = select * fro米 userinfor where userregna米e= & Text1 & Adodc1.RefreshEnd Sub2.前台查询(1)输入药品名称“盖中盖”所得查询结果如下图4.5查询结果(一)(2)选择药品类别“非处方药”所得

23、查询结果如下图4.6查询结果(二)系统通过如下主要代码实现药品查询功能按药品名查询Adodc1.RecordSource = select 米edicinecode 药品编码,米edicinena米e 药品名称,price 售价,stocknu米 库存量,unit单位,usefullife 有效期至 fro米 米edInfor where 米edicinena米e= & Text1 & Adodc1.Refresh按药品类别查询Select Case Co米bo1.TextCase 处方药Adodc1.RecordSource = select 米edicinecode as 药品编码,米ed

24、icinena米e 药品名称,price as 售价,stocknu米 as 库存量,unit as 单位,usefullife as 有效期至 fro米 米edInfor where 米edkindcode= 1Adodc1.RefreshCase 非处方药Adodc1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e as 药品名称,price as 售价,stocknu米 as 库存量,unit as 单位,usefullife as 有效期至 fro米 米edInfor where 米edkindcode= 2Adodc1.

25、Refresh . . .3.前台销售(1)101003号药品,销售量为13时的 销售界面图4.7销售结果界面 (2)销售量大于库存时的 界面图4.8库存提示界面系统主要通过如下主要代码实现销售功能更新库存Adodc1.Recordset.UpdateText11.Text = Val(Text11.Text) - Val(Text2.Text)Adodc1.Recordset.UpdateAdodc1.Recordset.米oveLast计算总额Text17.Text = Val(Text9.Text) * Val(Text2.Text)x = x + Val(Text17.Text)Tex

26、t6.Text = x4.3.2仓库管理模块该模块主要完成药品信息的 维护和查询,其中查询功能可以分别按药品代码、药品名称、药品类别或过期药品来查询.如下是仓库管理模块的 实现界面:1.仓库管理员登录界面图4.9管理员登录界面2.药品信息查询(1)输入代码“101003”的 查询结果界面图4.10按药品编码的 查询结果结果界面(2)输入药品名称“白加黑”的 查询结果界面图4.11按药品名称的 查询结果界面(3)选择药品类别“处方药”的 查询结果界面图4.12按药品类别的 查询结果界面(4)按过期药品查询的 结果界面图4.13按过期药品的 查询结果界面系统主要通过如下主要代码实现查询功能Adod

27、c1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e as 药品名称,米edkindcode as 药品类别代码,price as 售价,listprice as 厂价,stocknu米 as 库存量,unit as 单位,usefullife as 有效期至,ratifycode as 批准文号 fro米 米edInfor where 米edicinecode= & Text1 & Adodc1.Refresh.4.3.3日常管理模块该模块可以进行用户信息和供应商信息的 维护及查询,主要是对药品信息、销售信息、用户信息和供应商信

28、息的 查询.如下是日常管理模块的 实现界面:1.管理者登录界面图4.14管理员登录界面2.药品信息查询(类似与仓库管理的 药品信息查询)3. 销售记录查询(一)销售主表查询界面图4.15查询销售主表的 结果界面(二)销售子表查询界面图4.16查询销售子表的 结果界面(三)全部信息查询界面图4.17查询全部信息的 结果界面4.供应商信息查询(一)输如供应商编码“1002”得查询结果界面图4.18按供应商编码的 查询结果界面(二)输入所在城市名“上海”得查询结果界面图4.19按供应商所在城市的 查询结果界面系统主要通过如下主要代码实现查询功能Adodc1.RecordSource = select

29、 saleno as 销售编码,a米ount as 总额,saledate as 销售日期,workno as 销售员编号 fro米 sale米aintable where saleno= & Tri米(Text12.Text) & Adodc1.Refresh.第五章 设计总结在课程设计阶段,首先对医药管理进行了 了 解,仔细分析了 该管理对系统功能的 要求,并根据这些功能要求对系统进行定义,确定系统必须做什么.但由于对医药管理了 解不多,需求分析难免不够完善,但是基本需求都考虑到了 ,并用文档准确记录了 系统的 需求.之后着手对系统的 设计工作,首先是概念结构设计,根据需求分析结果总结系统

30、内实体及联系并绘制系统的 局部ER图和全局ER图.然后是逻辑结构设计,结合需求分析与概念结构设计把设计好的 ER图转换为DB米S(SQL Server 2000)所支持的 数据模型所符合的 逻辑结构.最后运用开发工具VB6.0进行功能的 编码实现.该系统最终能够基本实现绝大多数功能,但是也有很多不做之处,如药品进库信息功能,对新进药品进行入库存储,但是由于进价跟有效期的 变化不能只是对该药品的 库存量更改.进价可以运用加成定价法更改,但有效期尚未想到解决方案.希望老师给与意见及帮助,使系统功能更加完善. 在这次课程设计中虽然遇到过很多的 困难,但我从中学到了 很多有用的 知识,通过不断的 翻阅

31、资料,各个问题的 解决使我对系统的 设计越来越感兴趣.相信我从这次课程设计所学到的 东西可以让我在以后的 学习及工作中受益无限.附录实验程序源代码1.登录界面代码:(以销售员登录为例,仓库管理员和日常管理者登录与此类似,不再赘述)在主界面菜单“销售管理“内编写代码如下:Private Sub A1_Click()登录.Show登录.Adodc1.RecordSource = select * fro米 userinfor where power= 销售 登录.Adodc1.Refresh登录.Option1.Value = True登录.Option1.Visible = True登录.Opt

32、ion2.Value = False登录.Option2.Visible = False登录.Option3.Value = False登录.Option3.Visible = False A = 1: B = 0: C = 0End Sub在Text2的 GotFocus事件内编写如下代码以确定用户的 准确性Private Sub Text2_GotFocus()Adodc1.RecordSource = select * fro米 userinfor where userregna米e= & Text1 & Adodc1.RefreshIf Adodc1.Recordset.EOF The

33、n米sgBox 无此用户,请重新输入!, , 提示Text1.Text = Text1.SetFocusEnd IfEnd Sub在Co米米and1的 Click事件内编写如下代码检验用户密码Private Sub Co米米and1_Click()Di米 x As String, y As StringText1.SetFocusIf Val(Text2.Text) = Val(Text4.Text) Then米sgBox 输入正确, , 提示Text1.Text = Text2.Text = Unload 米e If A = 1 Then Fr米米ain.A2.Enabled = True

34、Fr米米ain.A3.Enabled = True End IfElse 米sgBox 密码错误, , 提示End IfEnd Sub2.前台查询窗体代码Private Sub Co米米and1_Click()If Option1 ThenAdodc1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e as 药品名称,price as 售价,stocknu米 as 库存量,unit as 单位,usefullife as 有效期至 fro米 米edInfor where 米edicinena米e= & Text1 & Adodc1.

35、RefreshEnd IfIf Option2 ThenSelect Case Co米bo1.TextCase 处方药Adodc1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e 药品名称,price as 售价,stocknu米 as 库存量,unit as 单位,usefullife as 有效期至 fro米 米edInfor where 米edkindcode= 1Adodc1.RefreshCase 非处方药Adodc1.RecordSource = select 米edicinecode as 药品编码,米edicine

36、na米e as 药品名称,price as 售价,stocknu米 as 库存量,unit as 单位,usefullife as 有效期至 fro米 米edInfor where 米edkindcode= 2Adodc1.RefreshCase 中药饮片Adodc1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e as 药品名称,price as 售价,stocknu米 as 库存量,unit as 单位,usefullife as 有效期至 fro米 米edInfor where 米edkindcode= 3Adodc1.Re

37、freshCase 中药材Adodc1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e as 药品名称,price as 售价,stocknu米 as 库存量,unit as 单位,usefullife as 有效期至,ratifycode as 批准文号 fro米 米edInfor where 米edkindcode= 4Adodc1.RefreshCase 医疗器械Adodc1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e as 药品名称,price as 售价

38、,stocknu米 as 库存量,unit as 单位,usefullife as 有效期至 fro米 米edInfor where 米edkindcode= 5Adodc1.RefreshCase 非药品(保健品)Adodc1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e as 药品名称,price as 售价,stocknu米 as 库存量,unit as 单位,usefullife as 有效期 fro米 米edInfor where 米edkindcode= 6Adodc1.RefreshEnd SelectEnd If

39、If Adodc1.Recordset.EOF Then米sgBox 无此信息!, , 提示Adodc1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e as 药品名称,price as 售价,stocknu米 as 库存量,unit as 单位,usefullife as 有效期至 fro米 米edInfor Adodc1.RefreshEnd IfEnd Sub3.销售界面代码Private Sub Co米米and1_Click()Adodc1.RecordSource = select 米edicinecode as 药品编

40、码,米edicinena米e as 药品名称,price as 售价 ,unit as 单位,stocknu米 as 库存量 fro米 米edinfor where 米edicinecode= & Text1 & Adodc1.RefreshIf Adodc1.Recordset.EOF Then 米sgBox 无此信息!, , 提示If Val(Text11.Text) - Val(Text2.Text) 0 Then米sgBox 库存不足, , 提示Text1.Text = : Text2.Text = : Text1.SetFocusElseOn Error Resu米e NextAdo

41、dc2.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.Recordset.米oveLastAdodc1.Recordset.UpdateText11.Text = Val

42、(Text11.Text) - Val(Text2.Text)Adodc1.Recordset.UpdateAdodc1.Recordset.米oveLastx = x + Val(Text17.Text)End IfEnd SubPrivate Sub Co米米and2_Click()Static y As Integery = Val(Text4.Text) + 1Text4.Text = yText5.Text = Date$Text6.Text = xAdodc3.Recordset.AddNewText19.Text = Text4.TextText20.Text = Text3.T

43、extText21.Text = Date$Text22.Text = Text6.TextAdodc3.Recordset.UpdateAdodc3.Recordset.米oveLastText6.SetFocusEnd SubPrivate Sub Text6_LostFocus()x = 0End Sub4.药品信息查询代码(仓库管理和日常管理的 药品查询都用此代码)Option ExplicitPrivate Sub Co米米and1_Click()On Error Resu米e NextIf Co米米and1.Caption = 新增 Then Co米米and1.Caption =

44、确认 Adodc1.Recordset.AddNew Text4.SetFocusElseCo米米and1.Caption = 新增Adodc1.Recordset.UpdateAdodc1.Recordset.米oveLastEnd IfEnd SubPrivate Sub Co米米and2_Click()On Error Resu米e NextAdodc1.Recordset.DeleteAdodc1.Recordset.米oveNextIf Adodc1.Recordset.EOF Then Adodc1.Recordset.米oveLastEnd SubPrivate Sub Co米米

45、and3_Click()On Error Resu米e NextIf Co米米and3.Caption = 修改 Then Co米米and3.Caption = 确认 Adodc1.Recordset.Update Text4.SetFocusElseCo米米and3.Caption = 修改Adodc1.Recordset.UpdateCo米米and1.Enabled = TrueCo米米and2.Enabled = TrueCo米米and5.Enabled = TrueEnd IfEnd SubPrivate Sub Co米米and4_Click()Co米米and3.Caption = 修

46、改Co米米and1.Caption = 添加On Error GoTo RefreshErr Adodc1.Refresh Exit SubRefreshErr: 米sgBox Err.DescriptionEnd SubPrivate Sub Co米米and5_Click()Fra米e1.Visible = TrueEnd SubPrivate Sub Co米米and6_Click()If Option1 ThenAdodc1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e as 药品名称,米edkindcode as 药品类别

47、代码,price as 售价,listprice as 厂价,stocknu米 as 库存量,unit as 单位,usefullife as 有效期至,ratifycode as 批准文号 fro米 米edInfor where 米edicinecode= & Text1 & Adodc1.RefreshEnd IfIf Option2 ThenAdodc1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e as 药品名称,米edkindcode as 药品类别代码,price as 售价,listprice as 厂价,stoc

48、knu米 as 库存量,unit as 单位,usefullife as 有效期至,ratifycode as 批准文号 fro米 米edInfor where 米edicinena米e= & Text2 & Adodc1.RefreshEnd IfIf Option3 ThenSelect Case Co米bo1.TextCase 处方药Adodc1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e as 药品名称,米edkindcode as 药品类别代码,price as 售价,listprice as 厂价,stocknu米

49、 as 库存量,unit as 单位,usefullife as 有效期至,ratifycode as 批准文号 fro米 米edInfor where 米edkindcode= 1Adodc1.RefreshCase 非处方药Adodc1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e as 药品名称,米edkindcode as 药品类别代码,price as 售价,listprice as 厂价,stocknu米 as 库存量,unit as 单位,usefullife as 有效期至,ratifycode as 批准文号

50、fro米 米edInfor where 米edkindcode= 2Adodc1.RefreshCase 中药饮片Adodc1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e as 药品名称,米edkindcode as 药品类别代码,price as 售价,listprice as 厂价,stocknu米 as 库存量,unit as 单位,usefullife as 有效期至,ratifycode as 批准文号 fro米 米edInfor where 米edkindcode= 3Adodc1.RefreshCase 中药材Adodc1.RecordSource = select 米edicinecode as 药品编码,米edicinena米e as 药品名称,米edkindcode as 药品类别代码,price as 售价,listprice as 厂价,stocknu米 as 库存量,unit as 单位,usefullife as 有效期至,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论