《药品管理系统》word版.docx

上传人:b****6 文档编号:8648650 上传时间:2023-02-01 格式:DOCX 页数:20 大小:578.77KB
下载 相关 举报
《药品管理系统》word版.docx_第1页
第1页 / 共20页
《药品管理系统》word版.docx_第2页
第2页 / 共20页
《药品管理系统》word版.docx_第3页
第3页 / 共20页
《药品管理系统》word版.docx_第4页
第4页 / 共20页
《药品管理系统》word版.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

《药品管理系统》word版.docx

《《药品管理系统》word版.docx》由会员分享,可在线阅读,更多相关《《药品管理系统》word版.docx(20页珍藏版)》请在冰豆网上搜索。

《药品管理系统》word版.docx

《药品管理系统》word版

一.概述

在计算机技术飞速发展的今天,计算机管理已经在很多领域得到广泛的应用。

计算机化已成为医院现代化一个不可或缺的因素。

目前很多医院的信息管理还比较落后,劳动强度大且效率低,因此,开发医院管理信息系统将提高医院的各项工作效率。

医院的药品管理师一个非常重要的和繁杂的事务,需要完成药品的购入、存储、售出等很多操作,这就使得使用药品存销管理系统来管理这样的事务有着很好的效果。

软件开发环境:

SQLserver2008,VisualBasic6.0

二.需求分析

药品存销管理系统主要需要实现药品入库信息记录、药品的库存管理、药品出库信息管理等功能。

具体要实现的功能包括:

(1)药品入库信息管理功能。

记录入库药品名称、价格、数量、采购员、生产日期、生产厂商等资料,能够实现对药品入库信息的添加功能。

(2)药品库存资料管理。

记录库存药品的名称、销售价格、库存量、生产日期等资料,能够实现对库存药品信息的查询功能。

在顾客购买药品取走后,在表中同时减去相应的药品的数量。

(3)药品出库信息管理。

记录药品出库的名称、类型、销售价格、数量、病人名称、联系方式等资料,能够实现对出库药品信息的修改、删除和查询功能。

三.概念结构设计

(1).入库E-R模型

 

(2)出库E-R模型

 

(3).药品、员工和顾客之间的E-R图

 

四.逻辑结构设计

药品信息:

药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、数量、经手人等;

员工信息:

员工编号、姓名、性别、年龄、学历、职务等;客户信息:

客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量等。

(1)药品信息:

属性

数据类型

可否为空

字段说明

药品编号

INT

主键,自增

药品名称

CHAR

生产厂家

CHAR

生产日期

CHAR

价格

CHAR

数量

INT

采购员

CHAR

(2)员工信息:

属性

数据类型

可否为空

字段说明

员工编号

INT

姓名

CHAR

主键

性别

CHAR

年龄

CHAR

职务

CHAR

(3)顾客信息:

属性

数据类型

可否为空

字段说明

客户编号

INT

主键,自增

姓名

CHAR

联系方式

CHAR

购买时间

CHAR

购入药品标号

INT

数量

INT

五.数据库设计

打开MicrosoftSQLServer2008,并创建一个名为药品存储信息管理系统的数据库,用SQL语句建立Medicinal表,Staff表和Customer表。

程序如下:

CREATETABLEMedicinal

(药品编号INTPRIMARYKEY,

药品名称CHAR(20)UNIQUE,

生产厂商CHAR(20)UNIQUE,

生产日期CHAR(20)UNIQUE,

价格CHAR(20)UNIQUE,

数量INTUNIQUE,

);

CREATETABLEStaff

(员工编号INTPRIMARYKEY,

姓名CHAR(20)UNIQUE,

性别CHAR(20)UNIQUE,

年龄CHAR(20)UNIQUE,

职务CHAR(20)UNIQUE,

);

CREATETABLECustomer

(客户编号INTPRIMARYKEY,

姓名CHAR(20)UNIQUE,

联系方式CHAR(20)UNIQUE,

购买时间CHAR(20)UNIQUE,

购入商品编号INTUNIQUE,

数量INTUNIQUE,

);

运行结果如下:

Medicinal表:

Customer表:

Staff表:

之后编辑各个表,并在表的设计中将表级联起来:

Medicinal表:

Staff表:

Customer表:

三个表的关系图:

六.VB6.0做前台,界面设计与程序

(1)主界面如下:

主界面代码如下:

PrivateSubTimer1_Timer()

Label1.Left=(Form1.Width-1000)*Rnd

Label1.Top=(Form1.Height-1200)*Rnd

EndSub

PrivateSub库存药品信息_Click()

Me.Hide

Form4.Show

EndSub

PrivateSub退出药品管理系统_Click()

DimaskAsInteger

ask=MsgBox("确定退出系统?

",vbYesNo)

Ifask=7Then

Form1.Show

ElseEnd

EndIf

EndSub

PrivateSub药品出库信息_Click()

Me.Hide

Form3.Show

EndSub

PrivateSub药品入库信息_Click()

Me.Hide

Form2.Show

EndSub

(2)当在主界面的菜单栏中点击药品入库信息时,跳转到如下页面:

设计时该页面的程序如下:

PublicColValAsString'读取表中列值的变量

PublicobjConnAsNewADODB.Connection

PublicobjRSAsNewADODB.Recordset'连接数据库设置

PublicSubOpenDB()

objConn.ConnectionString="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=药品存销信息管理系统;DataSource=WIN-7P8V88AM9J0\DONGRUIMING"

objConn.Open

EndSub

PublicSubCloseDB()

objConn.Close

EndSub

PrivateSubCommand1_Click()

DimaAsInteger

IfTrim(Text1.Text)=""Then

MsgBox"药品入库名称不能为空!

",vbOKOnly

ExitSub

EndIf

IfTrim(Text2.Text)=""Then

MsgBox"生产厂商不能为空!

",vbOKOnly

ExitSub

EndIf

IfTrim(Text3.Text)=""Then

MsgBox"药品生产日期不能为空!

",vbOKOnly

ExitSub

EndIf

IfTrim(Text4.Text)=""Then

MsgBox"药品入库价格不能为空!

",vbOKOnly

ExitSub

EndIf

IfTrim(Text5.Text)=""Then

MsgBox"入库数量不能为空!

",vbOKOnly

ExitSub

EndIf

IfTrim(Text6.Text)=""Then

MsgBox"采购员不能为空!

",vbOKOnly

ExitSub

EndIf

OpenDB

DimstrSQLAsString

strSQL="Select*fromMedicinal"

'添加药品入库信息

objRS.OpenstrSQL,objConn,adOpenKeyset,adLockOptimistic

objRS.AddNew

objRS.Fields

(1)=Trim(Text1.Text)

objRS.Fields

(2)=Trim(Text2.Text)

objRS.Fields(3)=Trim(Text3.Text)

objRS.Fields(4)=Trim(Text4.Text)

objRS.Fields(5)=Trim(Text5.Text)

objRS.Fields(6)=Trim(Text6.Text)

objRS.Update

objRS.Close

CloseDB

a=MsgBox("添加成功!

继续否?

",vbYesNo)

Ifa=6Then

Form2.Show

Text1.Text=""

Text2.Text=""

Text3.Text=""

Text4.Text=""

Text5.Text=""

Text6.Text=""

Else

Me.Hide

Form1.Show

EndIf

EndSub

 

PrivateSubCommand2_Click()

Me.Hide

Form1.Show

EndSub

(3)当在主界面的菜单栏中点击药品出库信息时,跳转到如下页面:

其代码如下:

PrivateSubCommand1_Click()

IfText1>""Then

Adodc1.Recordset.Find"药品名称='"&Text1.Text&"'",,,1

IfAdodc1.Recordset.EOFThenMsgBox"无此药品!

",,"提示"

EndIf

EndSub

PrivateSubCommand2_Click()

Me.Hide

Form5.Show

EndSub

PrivateSubCommand3_Click()

Me.Hide

Form1.Show

EndSub

当按查询按钮时,引发Command1_Click()事件,当按返回系统时,跳转当系统主页,当按确定购买键的时侯,跳转到如下界面:

 

其代码如下:

PublicobjConnAsNewADODB.Connection

PublicobjRSAsNewADODB.Recordset

PublicobjConn1AsNewADODB.Connection

PublicobjRS1AsNewADODB.Recordset

PublicSubOpenDB()

objConn.ConnectionString="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=药品存销信息管理系统;DataSource=WIN-7P8V88AM9J0\DONGRUIMING"

objConn.Open

objConn1.ConnectionString="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=药品存销信息管理系统;DataSource=WIN-7P8V88AM9J0\DONGRUIMING"

objConn1.Open

EndSub

PublicSubCloseDB()

objConn.Close

objConn1.Close

EndSub

PrivateSubCommand1_Click()

DimaAsInteger

IfTrim(Text1.Text)=""Then

MsgBox"姓名不能为空!

",vbOKOnly

ExitSub

EndIf

IfTrim(Text2.Text)=""Then

MsgBox"联系方式不能为空!

",vbOKOnly

ExitSub

EndIf

IfTrim(Text3.Text)=""Then

MsgBox"家庭住址不能为空!

",vbOKOnly

ExitSub

EndIf

IfTrim(Text4.Text)=""Then

MsgBox"药品编号不能为空!

",vbOKOnly

ExitSub

EndIf

IfTrim(Text5.Text)=""Then

MsgBox"数量不能为空!

",vbOKOnly

ExitSub

EndIf

IfTrim(Text6.Text)=""Then

MsgBox"日期不能为空!

",vbOKOnly

ExitSub

EndIf

OpenDB

DimstrSQLAsString

strSQL="Select*fromCustomer"

DimstrSQL1AsString

strSQL1="Select*fromMedicinal"

objRS.OpenstrSQL,objConn,adOpenKeyset,adLockOptimistic

objRS1.OpenstrSQL1,objConn,adOpenKeyset,adLockOptimistic

objRS.AddNew

objRS.Fields

(1)=Trim(Text1.Text)

objRS.Fields

(2)=Trim(Text2.Text)

objRS.Fields(3)=Trim(Text6.Text)

objRS.Fields(4)=Trim(Text4.Text)

objRS.Fields(5)=Val(Text5.Text)

objRS.Update

objRS.Close

Adodc2.RecordSource="select*fromMedicinalwhere药品名称='"&Text4&"'"

Adodc2.Refresh

objRS1.Fields("数量")=objRS1.Fields("数量")-Val(Text5)

objRS1.Update

CloseDB

a=MsgBox("购买成功!

继续否?

",vbYesNo)

Ifa=6Then

Form2.Show

Text1.Text=""

Text2.Text=""

Text3.Text=""

Text4.Text=""

Text5.Text=""

Text6.Text=""

Else

Me.Hide

Form1.Show

EndIf

EndSub

PrivateSubCommand2_Click()

Me.Hide

Form1.Show

EndSub

PrivateSubForm_Load()

Dimmlink$,mpath$

mpath=App.Path

IfRight(mpath,1)<>"\"Thenmpath=mpath+"\"

mlink="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=药品存销信息管理系统;DataSource=WIN-7P8V88AM9J0\DONGRUIMING"

Adodc2.ConnectionString=mlink

Adodc2.CommandType=adCmdUnknown

EndSub

 

当按确定键时,先判断所填内容是否符合要求,若不符合要求,则提示错误,若正确,则提示购买成功,并把顾客信息写入顾客表中,并且所对应药品的数量应减去客户所购买的数量。

当点是按钮时,则继续购买,否则返回系统主界面。

当在主界面菜单栏中点击药品库存信息时,进入下面界面:

代码如下:

PrivateSubCommand1_Click()

Me.Hide

Form1.Show

EndSub

PrivateSubCommand2_Click()

End

EndSub

 

PrivateSubCommand3_Click()

Adodc1.RecordSource="Select*fromMedicinal,StaffWhereStaff.姓名=Medicinal.采购员and药品名称='"&Text1&"'"

Adodc1.Refresh

IfAdodc1.Recordset.EOFThenMsgBox"无此药品",,"提示"

EndSub

PrivateSubForm_Load()

Dimmlink$,mpath$

mpath=App.Path

IfRight(mpath,1)<>"\"Thenmpath=mpath+"\"

mlink="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=药品存销信息管理系统;DataSource=WIN-7P8V88AM9J0\DONGRUIMING"

Adodc1.ConnectionString=mlink

Adodc1.CommandType=adCmdUnknown

EndSub

当点击查询按钮时,引发Command3_Click()事件,把该药品信息和采购员的信息显示来。

如下:

七.课设总结

在进行本次实验之前,有关数据库的知识只是在课本上学了一点基础知识而已,对于实际中,数据库是如何应用的所知胜少。

对于我来说,之前,看到那些管理软件觉得很陌生。

在这次的试验中,我学习了:

VisualBasic的菜单和链接窗口的构建和链接方法;

练习了VisualBasic窗口的设计,包括文本框的属性设置和按钮的触发事件

学习了将SQLServer2008数据表中信息在窗口中的文本框显示出来的方法和将文本框中的信息放入SQLServer数据表中的方法。

在设计的过程中,也遇到了很多问题,比如链接数据库并对其进行增、删、改操作耗费了大量的时间。

在解决这些问题的同时,进一步加深了对Visual和SQLServer的运用和理解,对于数据库的使用也有了更深的理解。

但是,由于对这方面的知识不太了解,现学现卖,并且做之前没有作充分的需求分析,造成考虑不周全,系统不够完善,存在很多不足和漏洞。

总的来说,这个课程设计对我意义重大,通过这次的学习,锻炼并提高了了自己的动手能力和编程能力。

 

八.参考文献

1.《VisualBasic程序设计教程(第三版)》龚沛曾等编

2.《数据库系统概论(第四版)》王珊萨师煊

3.《SQLServer2008基础教程》(英)RobinDewson董明(译)

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1