第四章 实现 4.1数据库实现 根据3.3数据表设计的设计结果,运用DBMS SQL Server 2000 的企业管理器建立数据库表。 http://www.paper51.com
药品信息表(MedInfor)设置药品编码(MedicineCode)为主码,药品类别索引表(MedKindInfor)设置药品类别代码(MedKindCode)为主码,销售主表(SaleMainTable)设置销售编码(Saleno)及销售日期(SaleDate)共同作为主码,销售子表(SaleChildTable)设置销售编码(SaleNo)、销售日期(SaleDate)和药品编码(MedcineCode)共同作为主码,用户信息表(UserInfor)设置职工号(WorkNo)作为主码,供应商信息表(FirmInfor)设置供应商编码(FirmCode)为主码。属性的字符类型及长度参照3.3数据表设计结果进行设置 copyright paper51.com 每类药品可以有好多种药,每种药只有一个类别,所以药品类别索引表与药品信息表存在一对多的关系,以MedKindInfor的主码MedKindCode作主键,MedInfor的MedKindCode作外键建立关系。销售子表内的药品编码药参照药品信息表内的药品编码,即销售子表与药品信息表存在参照关系,以MedInfor的MedicineCode作主键,SaleChildTable的MedicineCode作外键建立关系。销售主表与销售子表存在依赖关系,以SaleMainTable的Saleno和SaleDate作为主键,SaleChildTable的Saleno和SaleDate作为外键建立关系。销售主表内的职工号药参照用户信息表的职工号,即销售主表与用户信息表存在参照关系,以SaleMainTable的Workno为主键,UserInfor的WorkNo为外键建立关系。 内容来自论文无忧网 www.paper51.com 数据库的最终关系图如下: 内容来自www.paper51.com copyright paper51.com 图4.1数据库表关系图 copyright paper51.com
4.2系统功能结构 copyright paper51.com
系统根据用户身份的不同分为三个功能模块:销售管理模块,仓库管理模块和日常管理模块。 paper51.com 在销售管理模块,销售员可以根据顾客要求查询相关药品的部分信息,主要是库存量和售价的查询;还可以完成药品的销售,根据顾客所买药品的代码和数量存储销售信息,主要是对销售数量和销售总额的记录,并在销售完成后实现当前库存的更新。 paper51.com 在仓库管理模块,仓库管理员可以查看药品的全部信息,对药品信息进行维护,盘点库存信息,清除过期药品等。 copyright paper51.com
在日常管理模块,管理者可以查看药品信息、销售记录,并对供应商信息和用户信息进行管理维护。 内容来自www.paper51.com 具体功能模块图如下: 内容来自论文无忧网 www.paper51.com
paper51.com 图4.2系统功能图 copyright paper51.com 4.3模块功能介绍 http://www.paper51.com 该系统共三个功能模块:销售管理、仓库管理和日常管理。不同的用户可以进入不同的模块进行相应操作。如:销售人员凭借用户名和密码只能进入销售管理系统,进入后可以进行药品的销售和查询;仓库管理员凭借用户名和密码只能进入仓库管理系统,进行药品信息的查询和维护;管理者也要通过身份验证进入日常管理界面进行用户信息和供应商信息的维护即查询及药品信息和销售信息的查询。系统主界面如下: paper51.com 内容来自www.paper51.com 图4.3系统主界面 http://www.paper51.com 4.3.1销售管理模块 paper51.com 该模块主要完成前台药品销售及前台查询功能:销售过程要将销售信息自动存储到销售信息主表及子表内,便且为了维护数据的一致性,药品库存量要随销售量动态更新,若购药量大于库存时应拒绝销售操作;查询功能主要查询顾客所需药品大概信息,可以根据药品名称或所属类别进行查询。 copyright paper51.com 如下是销售管理模块的实现界面: paper51.com 1.销售员登录界面 paper51.com http://www.paper51.com 图4.4销售管理模块登录界面 内容来自论文无忧网 www.paper51.com 该界面通过如下代码跟数据库内用户信息表连接,具体实现代码见附录 paper51.com
PrivateSub Form_Load() http://www.paper51.com Adodc1.RecordSource= "select * from userinfor where userregname= '" & Text1 &"'" 内容来自www.paper51.com
Adodc1.Refresh 内容来自论文无忧网 www.paper51.com End Sub copyright paper51.com
2.前台查询 http://www.paper51.com (1)输入药品名称“盖中盖”所得查询结果如下 http://www.paper51.com
内容来自论文无忧网 www.paper51.com 图4.5查询结果(一) 内容来自www.paper51.com (2)选择药品类别“非处方药”所得查询结果如下 内容来自论文无忧网 www.paper51.com 内容来自www.paper51.com 图4.6查询结果(二) paper51.com
系统通过如下主要代码实现药品查询功能 内容来自论文无忧网 www.paper51.com 按药品名查询 内容来自www.paper51.com Adodc1.RecordSource = "select medicinecode 药品编码,medicinename药品名称,price 售价,stocknum 库存量,unit单位,usefullife有效期至 from MedInfor where medicinename= '" &Text1 & "'" 内容来自论文无忧网 www.paper51.com Adodc1.Refresh copyright paper51.com
按药品类别查询 内容来自www.paper51.com Select Case Combo1.Text http://www.paper51.com Case "处方药" 内容来自www.paper51.com Adodc1.RecordSource = "select medicinecode as 药品编码,medicinename 药品名称,priceas 售价,stocknum as 库存量,unitas 单位,usefullife as 有效期至 fromMedInfor where medkindcode= '1'" copyright paper51.com
Adodc1.Refresh copyright paper51.com Case "非处方药" 内容来自论文无忧网 www.paper51.com Adodc1.RecordSource = "select medicinecode as 药品编码,medicinenameas 药品名称,price as 售价,stocknumas 库存量,unit as 单位,usefullifeas 有效期至 from MedInfor where medkindcode= '2'" 内容来自www.paper51.com Adodc1.Refresh copyright paper51.com . paper51.com . copyright paper51.com
. 内容来自www.paper51.com
3.前台销售 内容来自论文无忧网 www.paper51.com
(1)101003号药品,销售量为13时的销售界面 内容来自论文无忧网 www.paper51.com
http://www.paper51.com 图4.7销售结果界面 内容来自www.paper51.com 内容来自www.paper51.com
copyright paper51.com |