当前位置:文档之家› 药品存销管理系统

药品存销管理系统

皖西学院计算机科学与技术系实验报告课程名称数据库原理及应用课程设计实验项目课程设计实验类型课程设计完成人何传喜所在班级计科0702指导教师严仍荣李瑞霞徐华丽马艳完成日期2009年12月18日一.概述在计算机技术飞速发展的今天,计算机管理已经在很多领域得到广泛的应用。

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

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

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

软件开发环境:window XP,SQL server2000,Visual Basic6.0二.需求分析医院药品存销管理系统主要需要实现药品入库信息记录、药品的库存管理、药品出库信息管理等功能。

具体要实现的功能包括:(1)药品入库信息管理功能。

记录入库药品名称、价格、数量、业务员、生产厂商等资料,能够实现对药品入库信息的添加、修改、删除和查询功能。

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

记录库存药品的名称、类型、入库价格、销售价格、库存量、入库时间、有效期等资料,能够实现对库存药品信息的添加、修改、删除和查询功能。

在病人购买药品取走后,在表中同时删除相应的药品的数量。

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

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

E-R模型图:①入库药品E-R图②库存药品E-R图③出库药品E-R图三.数据库逻辑设计四.软件功能设计及界面设计当系统运行时,首先启动系统主界面frm_main.Show。

主界面具体设计如下表所示级别菜单名称单击链接窗口主菜单药品入库管理Menu_import子菜单添加入库信息Menu_im_add frm_im_add.Show删除入库信息Menu_im_del frm_im_del.Show修改入库信息Menu_im_upd frm_im_upd.Show查询入库信息Menu_im_que frm_im_que.Show 主菜单库存药品管理Menu_info子菜单添加库存信息Menu_inf_add frm_inf_add.Show删除库存信息Menu_inf_del frm_inf_del.Show修改库存信息Menu_inf_upd frm_inf_upd.Show查询库存信息Menu_inf_que frm_inf_que.Show 主菜单药品出库管理Menu_export子菜单添加出库信息Menu_ex_add frm_ex_add.Show删除出库信息Menu_ex_del frm_ex_del.Show修改出库信息Menu_ex_upd frm_ex_upd.Show查询出库信息Menu_ex_que frm_ex_que.Show 主菜单退出药品存销管理系统Menu_quit frm_quit.Show下面给出主界面实现各界面菜单的操作程序代码:Private Sub Menu_im_add_Click()frm_im_add.ShowEnd SubPrivate Sub Menu_im_del_Click()frm_im_del.ShowEnd SubPrivate Sub Menu_im_upd_Click()frm_im_upd.ShowEnd SubPrivate Sub Menu_im_que_Click()frm_im_que.ShowEnd SubPrivate Sub Menu_inf_add_Click()frm_inf_add.ShowEnd SubPrivate Sub Menu_inf_del_Click()frm_inf_del.ShowEnd SubPrivate Sub Menu_inf_upd_Click()frm_inf_upd.ShowEnd SubPrivate Sub Menu_inf_que_Click()frm_inf_que.ShowEnd SubPrivate Sub Menu_ex_add_Click()frm_ex_add.ShowEnd SubPrivate Sub Menu_ex_del_Click()frm_ex_del.ShowEnd SubPrivate Sub Menu_ex_upd_Click()frm_ex_upd.ShowEnd SubPrivate Sub Menu_ex_que_Click()frm_ex_que.ShowEnd SubPrivate Sub Menu_quit_Click()Unload MeEnd Sub在定义一些全局变量和与数据库相关的变量Public ColVal As String'读取表中列值的变量Public objConn As New ADODB.ConnectionPublic objRS As New ADODB.Recordset ‘连接数据库设置Public Sub OpenDB()objConn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=true;User ID=sa;password=;Initial Catalog=Drug;Data Source=CST-D22"'Initial Catalog是数据库名;Data Source是服务器名objConn.OpenEnd SubPublic Sub CloseDB()objConn.CloseEnd Sub(1)药品入库管理系统设计在药品入库管理系统中需要设计实现如下图中的功能单击“添加入库信息”选项,启动frm_im_add.Show.进入“添加入库信息”界面。

单击“取消”按钮,将触发Fault_Click事件,不保存输入文本框的内容而直接返回到主界面。

相应的代码如下:Private Sub Fault_Click()Unload MeEnd Sub单击“确定”按钮,将触发Cmd_OK_Click事件,把输入的入库药品信息添加到SQL Secer对应的数据表中,相应的代码如下:Private Sub Cmd_OK_Click()If Trim(Import_name.Text) = "" ThenMsgBox "药品入库名称不能为空!", vbOKOnlyExit SubEnd IfIf Trim(Import_type.Text) = "" ThenMsgBox "入库药品类型不能为空!", vbOKOnlyExit SubEnd IfIf Trim(Import_num.Text) = "" ThenMsgBox "药品入库数量不能为空!", vbOKOnlyExit SubEnd IfIf Trim(Import_price.Text) = "" ThenMsgBox "药品入库价格不能为空!", vbOKOnlyExit SubEnd IfIf Trim(Import_time.Text) = "" ThenMsgBox "入库时间不能为空!", vbOKOnlyExit SubEnd IfIf Trim(Prodcom.Text) = "" ThenMsgBox "生产厂商不能为空!", vbOKOnlyExit SubEnd IfIf Trim(Prodplace.Text) = "" ThenMsgBox "产地不能为空!", vbOKOnlyExit SubEnd IfIf Trim(Buyer.Text) = "" ThenMsgBox "采购员不能为空!", vbOKOnlyExit SubEnd IfIf Trim(Checker.Text) = "" ThenMsgBox "验收员不能为空!", vbOKOnlyExit SubEnd IfOpenDBDim strSQL As StringstrSQL = "Select * from Drug_Import"'添加药品入库信息objRS.Open strSQL, objConn, adOpenKeyset, adLockOptimistic objRS.AddNewobjRS.Fields(1).Value = Trim(Import_name.Text)objRS.Fields(2).Value = Trim(Import_type.Text)objRS.Fields(3).Value = CDbl(Trim(Import_num.Text))objRS.Fields(4).Value = CDbl(Trim(Import_price.Text))objRS.Fields(5).Value = CDate(Trim(Import_time.Text))objRS.Fields(6).Value = Trim(Prodcom.Text)objRS.Fields(7).Value = Trim(Prodplace.Text)objRS.Fields(8).Value = Trim(Buyer.Text)objRS.Fields(9).Value = Trim(Checker.Text)objRS.UpdateobjRS.CloseCloseDBMsgBox "记录已添加!", vbOKOnlyUnload MeEnd Sub单击“删除入库信息”选项,启动。

frm_im_del.Show.进入“删除入库信息”界面单击“取消”按钮,将触发Fault_Click事件,不保存输入文本框的内容而直接返回到主界面。

相应的代码如下:Private Sub Fault_Click()Unload MeEnd Sub单击“查询”按钮,将触发Cmd_Query_Click事件,查询想要删除的入库药品名称,将集体的入库信息显示在窗口中。

相应的代码如下:Private Sub Cmd_Query_Click()Dim QueName As StringDim strSQL As StringQueName = Trim(import_del_que.Text)If QueName = "" ThenMsgBox "输入的药品名称不能为空!", vbOKOnlyExit SubElseOpenDBstrSQL = "SELECT * FROM Drug_import WHERE Import_name ='" + QueName + "'"objRS.Open strSQL, objConn, adOpenDynamic, adLockOptimisticIf objRS.EOF ThenMsgBox "没有该药品的入库信息!", vbOKOnlyobjRS.CloseCloseDBExit Sub'如果找到了该药品的信息,则将查询到的内容显示在窗口中ElseImport_name.Text = objRS.Fields(1).ValueImport_type.Text = objRS.Fields(2).ValueImport_num.Text = Str(objRS.Fields(3).Value)Import_price.Text = Str(objRS.Fields(4).Value)Import_time.Text = Str(objRS.Fields(5).Value)Prodcom.Text = objRS.Fields(6).ValueProdplace.Text = objRS.Fields(7).ValueBuyer.Text = objRS.Fields(8).ValueChecker.Text = objRS.Fields(9).ValueEnd IfEnd IfobjRS.CloseCloseDBEnd Sub查询结束后,查询到的入库药品信息将显示在界面中,这个时候如果确定需要删除,则单击“删除”按钮,将触发Cmd_Del_Click事件,删除选择的数据库表中保存的入库药品信息。

相关主题