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