药店管理信息系统报告.doc

上传人:w****2 文档编号:6491430 上传时间:2020-02-27 格式:DOC 页数:24 大小:1.15MB
返回 下载 相关 举报
药店管理信息系统报告.doc_第1页
第1页 / 共24页
药店管理信息系统报告.doc_第2页
第2页 / 共24页
药店管理信息系统报告.doc_第3页
第3页 / 共24页
点击查看更多>>
资源描述
成绩管理信息系统课程设计报告系统名称 药店信息管理系统 班级 管093 姓名 张新萌、田新驰、李新雷 学号 04 、 06 、 12 装订线 2011年 12月 14 日一、 系统分析系统名称:药店管理信息系统. 开发背景、目的、意义:随着人们生活水平的提高,健康意识的增强,对医药产品的需求也迅速增加。药店作为医药产品的主要销售渠道,也处于高速发展时期,同时也加剧了产业间的竞争。为了加强企业的内部管理,提高运营效率,利用现代信息技术提高企业的管理水平已非常迫切。另外,由于医药产品种类繁多、销售模式特殊、业务量大,单凭手工记账已很难适应工作的需要。医药作为一个关系到人们健良的特殊行业,国家对医药行业又有一些不同于其他行业的管理政策,这些都加大了管理的难度。如何尽快建立和完善现代企业的信息化管理机制问题,已成为医药企业发展的关键所在。本课题以提高药店的医药管理水平和效率为目标,建立了管理信息系统。该系统能集中处理药品的进销存业务及其应付账目,实现了药店的现代化管理。实现目标:面对医药行业的高速发展及其发展过程中出现的各种情况,药店管理信息系统在实施后,应能够达到以下目标:(1) 实现多点操作的信息共享,相互之间的信息传递准确,快捷和顺畅。(2) 全面自动化管理,可随时掌握药品的库存、销售等情况。(3) 系统界面友好美观,操作简单易行,查询灵活方便,数据存储安全。(4) 能够快速、准确地处理药品进、销、存、退、盘点、变价、折扣等多种业务模式。(5) 提供助记码及支持多种结算方式。(6) 系统维护方便可靠,有较高的安全性,满足实用性,先进性的要求。(5)系统功能:本系统由系统设置、日常业务、查询统计、库存管理、基础信息管理五大分系统组成。主要功能如下:(1)系统设置:初期建账,密码设置,数据备份,数据恢复。(2)日常业务:入库单,销售单,入库退单,销售退单。(3)查询统计:入库查询,销售查询,入库退货查询,销售退货查询。(5)库存管理:库存盘点,库存查询,价格管理。(6)基础信息管理:客户管理,供应商管理。药店管理信息系统E-R 图2.2概念模型通过对用户需求分析进行综合、归纳与抽象、形成一个独立于具体DBMS 的概念模型。在本药店管理系统中涉及到了2种概念模型的抽象Is part of 聚集模型 概况模型2.3用例图和顶层数据流图 总体分析的用例图 经理与供货商的用例图 顾客与经理间的用例图 顶层数据流图1. 系统总体设计(1) 分解的数据流图 处理消费 处理采购组织结构或数学方法、构造模型。 药店管理信息系统库存管理查询统计日常业务基础信息系统设置供应商管理客户管理初期建账密码设置数据备份数据恢复销售退货查询入库退货查询销售查询入库查询库存盘点价格管理库存查询销售退单入库退单销售单入库单 二、系统设计说明:系统设计较为复杂,源程序代码较长,所以报告中只摘录了一小部分程序代码,其余代码详见程序中,程序先进入登陆界面,登陆后进入主界面,登陆到主界面后即可点击进入相应的窗口。该系统采用Access数据库,数据库名称为yyjxc,它包括以下8个表:供应商基础信息表gys,库存表kc,客户基础信息表kh,入库表rkd,入库退单表rktd,密码表ma,销售表xsd,销售退单表xstd。1、系统登录模块及主程序界面设计(1)系统登录模块(窗体名:系统登录.frm)源程序代码较长,此处省略,详见程序中实现目标:程序启动后,首先进入系统登录界面验证操作员密码。其实现的功能如下:a. 可选择操作员,支持鼠标和键盘操作b. 操作员和密码验证成功后,进入主界面c. 操作员错误或密码错误提醒并返回错误点。d. 输入三次错误的密码,系统自动退出(2)主程序界面设计(窗体名:主界面.frm)Public Sub entercell() Dim x, y As String If Text1.Text = 1 Then Set myform = main_rcyw_rk If Text1.Text = 2 Then Set myform = main_rcyw_rktd If Text1.Text = 3 Then Set myform = main_rcyw_xs If Text1.Text = 4 Then Set myform = main_rcyw_xstd If myform.mf1.CellWidth = 0 Or myform.mf1.CellHeight = 0 Then Exit Sub x = myform.mf1.TextMatrix(myform.mf1.FixedRows, myform.mf1.Col) y = myform.mf1.TextMatrix(myform.mf1.Row, 0) If y Then If myform.mf1.Col - myform.mf1.LeftCol 0 And myform.mf1.CellHeight 0 Then myform.Text1.Width = myform.mf1.CellWidth myform.Text1.Height = myform.mf1.CellHeight myform.Text1.Left = myform.mf1.CellLeft + myform.mf1.Left myform.Text1.Top = myform.mf1.CellTop + myform.mf1.Top End If x = myform.mf1.TextMatrix(myform.mf1.FixedRows, myform.mf1.Col) y = myform.mf1.TextMatrix(myform.mf1.Row, 0) p = myform.mf1.TextMatrix(myform.mf1.Row, myform.mf1.Col) myform.Text1.Text = myform.mf1.Text myform.Text1.SelStart = 0 myform.Text1.SelLength = Len(myform.Text1.Text) End IfEnd SubPublic Sub moveright() If Text1.Text = 1 Then Set myform = main_rcyw_rk If Text1.Text = 2 Then Set myform = main_rcyw_rktd If Text1.Text = 3 Then Set myform = main_rcyw_xs If Text1.Text = 4 Then Set myform = main_rcyw_xstd If myform.Text1.Text Then myform.Text1.SelStart = 0 myform.Text1.SelLength = Len(myform.Text1.Text) End If If myform.mf1.Col + 1 = myform.mf1.Cols - 1 Then myform.mf1.Col = myform.mf1.Col + 1 Else If myform.mf1.Row + 1 = myform.mf1.Rows - 1 Then myform.mf1.Row = myform.mf1.Row + 1 myform.mf1.Col = 1 End If End IfEnd SubPublic Sub moveleft() If Text1.Text = 1 Then Set myform = main_rcyw_rk If Text1.Text = 2 Then Set myform = main_rcyw_rktd If Text1.Text = 3 Then Set myform = main_rcyw_xs If Text1.Text = 4 Then Set myform = main_rcyw_xstd If myform.Text1.Text Then myform.Text1.SelStart = 0 myform.Text1.SelLength = Len(myform.Text1.Text) End If If myform.mf1.Col - 11 = myform.mf1.Cols + 1 Then myform.mf1.Col = myform.mf1.Col - 1 If myform.mf1.Col = 0 Then myform.mf1.Col = 1 Else If myform.mf1.Row + 1 = myform.mf1.Row - 1 Then myform.mf1.Row = myform.mf1.Row + 1 myform.mf1.Col = 1 End If End IfEnd SubPublic Sub movereturn() If Text1.Text = 1 Then Set myform = main_rcyw_rk If Text1.Text = 2 Then Set myform = main_rcyw_rktd If Text1.Text = 3 Then Set myform = main_rcyw_xs If Text1.Text = 4 Then Set myform = main_rcyw_xstd If myform.mf1.Col = 10 Then myform.mf1.Row = myform.mf1.Row + 1 myform.mf1.Col = 1 Else If myform.mf1.Col + 1 = myform.mf1.Cols - 1 Then myform.mf1.Col = myform.mf1.Col + 1 Else If myform.mf1.Row + 1 0 Data1.Refresh MS1.Col = 9: MS1.Sort = flexSortNumericAscending 第9行按升序排序End SubPrivate Sub Command2_Click() frm_main.Enabled = True Unload MeEnd SubPrivate Sub MS1_Click()End Sub程序启动后,选择“库存管理”菜单下的“库存盘点”项,将进入库存盘点模块。其实现的功能是盘点库存商品信息。(3)价格管理模块设计(窗体名:价格管理.frm)Public Sub eval() 定义赋值函数 If Data2.Recordset(0) Then pz.Caption = Data2.Recordset(0) Else pz.Caption = 0 If Data2.Recordset(1) Then hjsl.Caption = Data2.Recordset(1) Else hjsl.Caption = 0 If Data2.Recordset(2) Then hjje.Caption = Data2.Recordset(2) Else hjje.Caption = 0End SubPrivate Sub Form_Load() 自动识别数据库路径 Data1.DatabaseName = App.Path & yyjxc.mdb Data2.DatabaseName = App.Path & yyjxc.mdbEnd SubPrivate Sub Form_Activate() 向combo1添加查询项目列表 Combo1.AddItem (商品名称) Combo1.AddItem (简称) Combo1.AddItem (批号) Combo1.ListIndex = 0 初始化查询统计库存商品信息 Data2.RecordSource = select count(*)as 品种,sum(库存)as 合计库存,sum(库存金额)as 合计库存金额 from kc Data2.Refresh Call eval 调用函数End SubPrivate Sub Form_Unload(Cancel As Integer) frm_main.Enabled = TrueEnd SubPrivate Sub texgjj_Change() texgje.Text = Val(texgkc.Text) * Val(texgjj.Text) 计算库存金额 Data2.Refresh Call eval 调用函数End SubPrivate Sub texgkc_Change() texgje.Text = Val(texgkc.Text) * Val(texgjj.Text) 计算库存金额 Data2.Refresh Call eval 调用函数End SubPrivate Sub Command1_Click()查询统计库存商品信息 Data1.RecordSource = select * from kc where (kc. & Combo1.Text & & like + Chr(34) + Text1.Text + * + Chr(34) + ) Data1.Refresh Data2.RecordSource = select count(*)as 品种,sum(库存)as 合计库存,sum(库存金额)as 合计库存金额 from kc where (kc. & Combo1.Text & & like + Chr(34) + Text1.Text + * + Chr(34) + ) Data2.Refresh Call eval 调用函数End SubPrivate Sub Command2_Click() frm_main.Enabled = True Unload MeEnd Sub程序启动后,选择“库存管理”菜单下的“价格管理”项,将进入价格管理模块。其实现的功能如下:a.选择任意字段查询库存商品信息。b.完成库存商品的进价、库存数量的修改。c.统计库存品种、库存数量、库存金额。4、查询统计设计 (1)入库查询模块设计(窗体名:入库查询.frm)Private Sub DBGrid1_Click()End SubPrivate Sub Form_Activate()向combo1添加查询项目列表 Combo1.AddItem (商品名称) Combo1.AddItem (批号) Combo1.AddItem (票号) Combo1.ListIndex = 1 Data1.RecordSource = select * from rkd where (rkd.日期 between + Chr(35) + rq1.Text + Chr(35) + and + Chr(35) + rq2.Text + Chr(35) + ) Data1.RefreshEnd SubPrivate Sub Form_Load() 自动识别数据库路径 Data1.DatabaseName = App.Path & yyjxc.mdbEnd SubPrivate Sub Form_Unload(Cancel As Integer) frm_main.Enabled = TrueEnd SubPrivate Sub Command1_Click() 入库查询 Data1.RecordSource = select * from rkd where (rkd.日期 between + Chr(35) + rq1.Text + Chr(35) + and + Chr(35) + rq2.Text + Chr(35) + )and(rkd. & Combo1.Text & & like + Chr(34) + Text1.Text + * + Chr(34) + ) Data1.RefreshEnd SubPrivate Sub Command2_Click() 删除入库信息 On Error Resume Next Data1.Recordset.Delete Data1.RefreshEnd SubPrivate Sub Command3_Click() frm_main.Enabled = True Unload MeEnd Sub程序启动后,选择“查询统计”菜单下的“入库查询”项,将进入入库查询模块。其实现的功能如下:a.按任意时间段、任意字段查询入库商品信息。b.删除入库商品信息。(2)销售查询模块设计(窗体名:销售查询.frm)Private Sub DBGrid1_Click()End SubPrivate Sub Form_Activate()向combo1添加查询项目列表 Combo1.AddItem (商品名称) Combo1.AddItem (批号) Combo1.AddItem (票号) Combo1.ListIndex = 0 Data1.RecordSource = select * from xsd where (xsd.日期 between + Chr(35) + rq1.Text + Chr(35) + and + Chr(35) + rq2.Text + Chr(35) + ) Data1.RefreshEnd SubPrivate Sub Form_Load() 自动识别数据库路径 Data1.DatabaseName = App.Path & yyjxc.mdbEnd SubPrivate Sub Form_Unload(Cancel As Integer) frm_main.Enabled = TrueEnd SubPrivate Sub Command1_Click() 查询销售信息 Data1.RecordSource = select * from xsd where (xsd.日期 between + Chr(35) + rq1.Text + Chr(35) + and + Chr(35) + rq2.Text + Chr(35) + )and(xsd. & Combo1.Text & & like + Chr(34) + Text1.Text + * + Chr(34) + ) Data1.RefreshEnd SubPrivate Sub Command2_Click() 删除销售信息 On Error Resume Next Data1.Recordset.Delete Data1.RefreshEnd SubPrivate Sub Command3_Click() frm_main.Enabled = True Unload MeEnd Sub程序启动后,选择“查询统计”菜单下的“销售查询”项,将进入销售查询模块。其实现的功能如下:a.按任意时间段、任意字段查询商品销售信息。b.删除商品销售信息。(3)销售退货查询模块设计(窗体名:销售退货查询.frm)Private Sub DBGrid1_Click()End SubPrivate Sub Form_Activate()向combo1添加查询项目列表 Combo1.AddItem (商品名称) Combo1.AddItem (批号) Combo1.AddItem (票号) Combo1.ListIndex = 0 查询销售退货信息 Data1.RecordSource = select * from xstd where (xstd.日期 between + Chr(35) + rq1.Text + Chr(35) + and + Chr(35) + rq2.Text + Chr(35) + ) Data1.RefreshEnd SubPrivate Sub Form_Load() 自动识别数据库路径Data1.DatabaseName = App.Path & yyjxc.mdbEnd SubPrivate Sub Form_Unload(Cancel As Integer) frm_main.Enabled = TrueEnd SubPrivate Sub Command1_Click() 查询销售退货信息 Data1.RecordSource = select * from xstd where (xstd.日期 between + Chr(35) + rq1.Text + Chr(35) + and + Chr(35) + rq2.Text + Chr(35) + )and(xstd. & Combo1.Text & & like + Chr(34) + Text1.Text + * + Chr(34) + ) Data1.RefreshEnd SubPrivate Sub Command2_Click() 删除销售退货信息 On Error Resume Next Data1.Recordset.Delete Data1.RefreshEnd SubPrivate Sub Command3_Click() frm_main.Enabled = True Unload MeEnd Sub程序启动后,选择“查询统计”菜单下的“销售退货查询”项,将进入销售退货查询模块。其实现的功能如下:a.按任意时间段、任意字段查询商品销售退货信息。b.删除商品销售退货信息。4、基础信息管理设计 (1)供应商管理模块设计(窗体名:供应商管理.frm)程序代码过长,内容较多,详见程序中程序启动后,选择“基础信息管理”菜单下的“供应商管理”项,将进入供应商管理模块。其实现的功能如下:a.完成供应商基本信息的录入、保存、修改、删除。b.按任意字段、任意条件查询供应商基本信息。c.通过卡片式、列表式两种方式查看供应商基本信息。(2)客户管理模块设计(窗体名:客户管理.frm)程序代码过长,内容较多,详见程序中程序启动后,选择“基础信息管理”菜单下的“客户管理”项,将进入客户管理模块。其实现的功能如下:a.完成客户基本信息的录入、保存、修改、删除。b.按任意字段、任意条件查询客户基本信息。c.通过卡片式、列表式两种方式查看客户基本信息。5、系统设置设计 (1)初期建账模块设计(窗体名:初期建账.frm)Private Sub Form_Unload(Cancel As Integer) frm_main.Enabled = TrueEnd SubPrivate Sub Command1_Click() Dim db As Database Dim rs As Recordset Dim connter As Integer Dim workarea(200) As String ProgressBar1.Visible = True ProgressBar1.Max = UBound(workarea) ProgressBar1.Value = ProgressBar1.Min For Counter = LBound(workarea) To UBound(workarea) workarea(Counter) = initial value & Counter ProgressBar1.Value = Counter Set db = Workspaces(0).OpenDatabase(App.Path & yyjxc.mdb) Dim sql As String If Check1.Value = 1 Then 删除全部库存信息 sql = delete * from kc db.Execute sql End If If Check2.Value = 1 Then 删除全部供应商信息 sql = delete * from gys db.Execute sql End If If Check3.Value = 1 Then 删除全部客户信息 sql = delete * from kh db.Execute sql End If If Check4.Value = 1 Then 删除全部入库信息 sql = delete * from rkd db.Execute sql End If If Check5.Value = 1 Then 删除全部入库退货信息 sql = delete * from rktd db.Execute sql End If If Check6.Value = 1 Then 删除全部销售信息 sql = delete * from xsd db.Execute sql End If If Check7.Value = 1 Then 删除全部销售退货信息 sql = delete * from xstd db.Execute sql End If Next Counter ProgressBar1.Visible = False ProgressBar1.Value = ProgressBar1.MinEnd SubPrivate Sub Command2_Click() frm_main.Enabled = True Unload MeEnd Sub程序启动后,选择“系统设置”菜单下的“初期建账”项,将进入初期建账模块。其主要功能是实现清空系统全部或部分数据。(2)密码设置模块设计(窗体名:密码设置.frm)Private Sub Form_Load() Data1.DatabaseName = App.Path & yyjxc.mdb 自动识别数据库路径End SubPrivate Sub Form_Unload(Cancel As Integer) frm_main.Enabled = TrueEnd SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Text2.SetFocusEnd SubPrivate Sub text2_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Text3.SetFocusEnd SubPrivate Sub Text3_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Command1.SetFocusEnd SubPrivate Sub Command1_Click() 确认修改操作员信息 Data1.RecordSource = select * from ma where 操作员= + Text1.Text + 查询操作员信息 Data1.Refresh If Text1.Text And Text2.Text And Text2.Text = ma.Text Then If Text3.Text Then Data1.Recordset.Edit Data1.Recordset.Fields(密码) = Text3.Text Data1.Recordset.Update MsgBox (密码修改成功!) Else MsgBox (请输入新密码!) End If Else If Text1.Text = Then MsgBox (请输入操作员代号!) Text1.SetFocus Else If Text1.Text Data1.Recordset.Fields(操作员) Then Text1.SetFocus If Text2.Text = Then MsgBox (请输入操作员原密码!) Text2.SetFocus Else If Text2.Text Data1.Recordset.Fields(密码) Then MsgBox (原密码错误,请重新输入原密码!) Text2.SetFocus End If End If End If End IfEnd SubPrivate Sub Command2_Click() frm_main.Enabled = True Unload MeEnd Sub程序启动后,选择“系统设置”菜单下的“密码设置”项,将进入初期建账模块。其主要功能是实现设置完成操作员密码的修改、保存。(3)数据恢复模块设计(窗体名:数据恢复.frm)Private Sub Form_Activate()赋值给text1 Text1.Text = AEnd SubPrivate Sub Command1_Click() 确认数据恢复 YesNo = MsgBox(准备好了吗?, vbNo + vbQuestion) If YesNo = vbNo Then Exit Sub End If On Error GoTo errprompt Me.MousePointer = 11 FileCopy Text1.Text & :数据备份yyjxc.mdb, App.Path & yyjxc.mdb Me.MousePointer = 0 MsgBox 数据已恢复
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!