当前位置:文档之家› 药店管理系统-查询及报表处理

药店管理系统-查询及报表处理

药店管理系统

摘要:长期以来,各个药店的管理工作一直由人工整理和统计,这样在库存等方面都存在着很大的管理难度,而且还容易出现冲突。这样就需要建立一个完善的管理系统,来全面、具体的处理这些工作。设计数据库管理系统面临的最重要的一个问题就是:数据库中信息的安全性无法保证,当有人不小心改变数据库中的信息时,就会给工作人员造成很大的麻烦;更严重的是当有人恶意的对数据进行破坏时,就会造成很大的损失。因此,在数据安全方面加入了数据备份和数据恢复的功能模块。在管理方面还能针对一些特殊的业务做出相应的管理模式,如:可以利用软件进行库存分析等功能,本软件利用了功能强大的开发软件Visual Basic6.0进行编译,在后台数据库上则运用了Microsoft Access数据库,虽然在大型企业当中对数据访问的要求量比较大,但在一般的药店管理中Access数据库完全能实现快速的数据访问功能, 该系统采用管理模型,将仿真、优化等现代决策手段结合起来,为企业管理层的决策提供有效信息。

关键词:库存查询,药店管理,数据库

Abstract :For long time, It has been being tidy up by the artificial and statistics in various management work of the each medicine store, the demand throws in a great deal of manpower and energies in past management, and still appear the conflict easily.Need to build up a perfect management system thus, come overall, handle these works in a specific way.The most important a problem that the design database management system face be:The safety of information can't guarantee in the database, it is a logarithms that is someone's malice more seriously according to carry on break, will result in very great damage.Therefore, in the data the safe aspect joined the function mold piece of the data backup and data instauration.Can still do to some special business in the aspects of manage a correspond of management mode, made use of the database of Microsoft Access if: can make use of the software to carry on the stock analysis etc. function, this software makes use of the function strong development software Visual Basic6.0 to carry on edit and translate, however in the general medicine store manage the database of Access can carry out the fast data interview function completely, that system adoption management model. the modern decision means knot put together, providing the valid information for the decision that the business enterprise manages the layer. Keywords: The stock search, Medicine store management, Database.

1.序言

随着我国市场经济的蓬勃发展和人们对医药产品需求的迅速增加,医药行业正处于一个高速发展的时期。行业的快速发展必然导致竞争的加剧,要想在激烈的市场竞争中的谋求发展,客观上要求企业必须加强内部管理,提高运营效率。

目前我国医药经营形式正在向集团化,连锁化发展。如何利用现代信息技术使企业拥有快

速、高效的市场反映能力和高度的效率,已经是医药经营企业,特别是医药连锁经营企业特别关心的问题。由于医药产品种类繁多、销售模式特殊、业务量大,单凭手工记帐已很难适应工作的需要。如何尽快建立和完善现代企业的信息化管理机制问题,已成为医药企业发展的关键所在。

在本系统的设计的过程中,我们做了大量的市场调查,争取系统的功能能够满足用户需求,实用性较强。本系统主要是通过对Access 2000数据库的使用和实际当中的应用结合起来最后实现数据的提交、数据的运算、数据的存储、数据的输出等功能。由于Access 2000数据库的简单实用性,所以决定了本系统具有很大的再开发潜力,通过SQL与前台的Visual Basic 6.0进行连接。

在整个系统的开发和设计的过程中,我们也遇到了许多困难,但都随着我们学习的深入被一一解决了, 当然,此系统中还存在许多缺点和不足,将会在以后给与更新和完善。2.系统设计

2.1 开发方法

2.1.1 数据库的开发工具简介

Access2000以其简单易用的特点,逐渐成为办公领域流行的数据库软件。使用Access2000,用户不需要进行专业程序设计能力培养,就可在较短的时间内通过简单直观的可视化操作(操作向导)完成大部分的数据管理任务,设计出功能强大的数据库管理程序。即使要开发复杂或专业的数据库管理程序,也只需编写少量的程序代码。

2.1.2 Visual Basic 6.0的开发环境

本系统编程采用的语言是VB6.0,该语言是Windows编程语言,可以实现其它任何Windows 编程语言的功能,所设计的程序具有Windows环境的五大优点,即标准的图形用户界面、动态链接(DLL)、多任务、设备独立性及直接操作特性。VB6.0具有快速的程序开发环境,能迅速有效地编制程序界面、功能强大。

2.1.3 SQL语言介绍

SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。SQL语句通常用于完成一些数据库的操作任务,使用SQL的常见关系数据库管理系统有:Oracle、Microsoft SQL Server、Access等。SQL语言有着非常突出的优点,主要是统一的和非过程化语言、是所有关系数据库的公共语言。

2.2 系统功能分析

通过和用户的交流详细了解客户的需求,细化功能要求,准确地回答系统必须做什么。

完成功能要求包括有:

(1)对现有的库存情况进行库存分析,预算出所需的数据,提供给管理者一个拟定方案,达到实时的库存管理,进销存管理;

(2)对数据的维护管理,实现实时的维护管理,保证数据,防止了意外的数据流失;

(3)根据销售情况分析得出某种药品的销售情况,并能做出相应的图例,给用户一个直观的表示;

(4)系统管理模块的设计,本模块主要完成对用户的管理与维护;

(5)通过库存管理与销售的结合,实现库存分析,并提出相应的计划;

(6)对销售情况的报表显示模块;

(7)MDI窗体的整合,界面美观。

2.3 系统功能模块设计

系统功能模块设计如图2-1所示。

图2-1系统功能模块

3.数据库设计

3.1 数据库需求分析

调查药店管理过程的基础上,得到本系统所处理的数据,通过这些数据来进行数据库的建

立本人在此系统中的数据库的需求有, 库存、销售、柜组、药品基本信息等。

3.2 数据库概念结构设计

本系统在设计的初级阶段要对数据库进行设计,所以针对前面分析建立初步的数据库。需要的各表内容及字段名称如下:

药品基本表:记录药品的基本信息,包括柜组、编码、拼音编码、品名、规格、产地等。

销售:根据入库按帐记录销售的信息,包括柜组、编码、品名、规格、产地、单位等。

药店管理数据类别如图3-1所示。

图 3-1 药店库存查询管理

系统管理如图3-2所示。

图3-2 系统管理

用户信息E-R图如3-3所示。

图3-3 用户信息E-R图

药店管理系统数据库中我所用到的各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。

4.菜单及窗口的设计

4.1 MDI窗体设计

在这里设置了5个主菜单,12个子菜单项目。对于一些经常使用的菜单功能,在工具中设置相应的快捷图标来实现。

在创建MDI窗体上用了一级二级菜单,并为快捷栏也创建了菜单,这样做即能方便用户的操作,还能使界面更加美观。

4.2 用户登陆窗体的建立

该窗体是程序运行时给用户的第一窗体,通过该窗体的用户登陆情况,决定了用户登陆的权限,从刚开始进入就判断所输入用户在数据库里是否存在,并赋予相应的管理权限。登陆界面如图4-1所示。

图4-1 系统登陆界面

第一个为窗体的启动界面,上面加了一个timer控件,当时间到时就进入到登陆界面,登陆界面也用到了几个timer控件,这样使整体效果具有动感。

4.3 系统主界面窗体

该窗体是系统所在的主窗体,属于MDI窗体,在该窗体上创建了下拉菜单、快捷栏和状态栏,在系统登陆到主界面的同时还显示出一个窗体。

这个提示窗体是随系统主窗体一起显示出来,作为系统提示,它不仅能初步的给用户介绍系统的功能,更能在界面美观方面起到很大的作用。如图4-2所示。

图4-2 系统主界面

这个就是系统主窗体显示效果图,其上面包括菜单栏、状态栏和快捷菜单栏。包括在快捷菜单栏的下拉列表框。菜单栏包括5列,用来分别显示不同的项目,快捷菜单栏的创建就是为了方便用户的操作,也给不同权限的用户的操作带来了方便,状态栏主要来显示当前系统信息.

4.4 添加用户窗体

该窗体所实现的功能是管理员对新增用户的添加操作,并给予相应的权限。因为用户的名称可能有重复,而用户的ID不能有重复的,所以将ID设为主键,这样即使有名称相同的人但他们的用户ID也不相同。

作为管理员在对员工的添加后,需要重新登陆才可识别新增用户。

4.5 修改密码窗体

该窗体能实现对用户的密码修改,同时在该窗体上也能实现对用户的删除,如图4-3所示。

图4-3 修改密码窗体

5.系统测试

5.1待解决的问题

对数据维护上没有得到很好的解决,我所能实现的数据维护功能是在用户指定的驱动器上建立一个文件夹用来存放当前的数据库文件,但多次存放存在着一个覆盖的问题,并且数据的恢复也是一个覆盖的过程,假如说在备份了一个数据库文件,可以实现下次备份不覆盖,也就是说在数据库名前加入当前的时间,但是在相反的恢复问题上只能恢复最后一次备份的数据,这个问题还在解决之中。

5.2 测试小结

由于不可能进行穷尽测试,所以软件的测试不可能发现程序中所有的错误。因此,在整个测试过程中,我力争用尽可能少的测试发现尽可能多的错误。

在编码过程中,每完成一个模块我即刻进行测试,看其作为一个单元能否正确运行。而后,我把经过单元测试的模块放在一起形成一个子系统来测试,着重测试模块接口。确认无误后,我才把经过单元测试的子系统装配成一个完整的系统,并对照任务说明书中指定的功能进行测试。在调试过程中还请其他同学扮演“用户”角色,对其进行测试。

在测试的时候发现并解决了一些问题,同时也发现了一些暂时无法解决的问题,只能在以后的开发过程中逐步找到解决的办法,最终完成系统中本人负责的功能模块。

6.小结

本系统经过运行调试初步完成了药店对药品管理的基本功能。系统实现了身份验证的大

模块,库存查询和库存分析,以及数据维护和打印报表等功能。

通过这一次的毕业设计,本人对所学知识有了更深一步的理解,理论与实践得到了统一。在

设计过程中认识了自己在学习中的不足,明白了理论要想和实际结合在一起的困难,但这更使

我觉得其中的乐趣,和那种战胜困难后的成就感。在即将离校之际,能有这次实践的机会,深感难

得,同时感觉到学无止境,在今后的学习和工作中,一定要不断充实自己。

7.谢辞

本毕业设计是在马春华,孙珊珊,李欣老师的悉心指导下完成的,在课题的选择和设计开

发过程中他们给予了我热心的帮助和大力支持,同时我要感谢我的合作伙伴黄冬、徐存芳同

学,课题的完成需要合作,通过这次合作我更了解了团结合作的作用。另外在设计过程中还

得到了其他同学的帮助,从他们的设计中我得到很多启发,所以应该感谢他们提供的无私帮

助。

最后要感谢四年来所有在大学期间指导、关心、帮助和支持过我的老师和同学,没有平

时的课业基础也不会有现在的系统,对所有帮助过我的人,致以最崇高的敬意和最真诚的谢

意。

参考文献:

[1].萨师煊,《数据库系统概论》,第三版,北京,高等教育出版社,2005,3-7页

[2].齐峰,《Visual basic 6.x程序设计》,第二版,大连,中国铁道出版社,2003,21-24页

[3].魏江江,《Visual basic控件编程百例通》,第一版,北京,科学出版社,2001,24-34页

[4].伍俊良,《Visual basic课程设计与系统开发案例》,第二版,北京,清华出版社,2002,31-34页

[5].黄梯云,《管理信息系统》,第三版,北京,高等教育出版社,2003,81-83页

[6].高江,《Visual basic控件100例》,第二版,北京,中国人民出版社,2003,34-34页

[7].《Microsoft Visual Basic 6.0 中文版控件大全》,第二版,北京,高等教育出版社,2004,25-27页

[8]. Bobman Richard Pessley Wayne Pruchniak,《Visual Basic 6.0 Use the Guidebook》,Electronics

industry publisher,2002,25-26页

[9]. Craig Eddy Timothy Buchanan,《Access 2000 24hour Learn》,Machine industry publisher,2004,

24-34页

附录(源程序代码)

系统登陆:

Option Explicit

Private Counts As Byte

Private Sub cmdcancel_Click()

'//结束

End

End Sub

Private Sub CmdLogin_Click()

Dim sql As String

Dim rs As ADODB.Recordset

If Text1.text = "" Or text3.text = "" Then

MsgBox "用户ID或密码不能为空!", , "警告!"

Else

sql = "select * from 用户表where 编号='" & Text1.text & "'"

Set rs = transactsql(sql)

If Counts < 3 Then

If text3.text <> rs(3) Then

Counts = Counts + 1

text3.text = ""

MsgBox "密码错误!", , "警告"

Else

id = rs(0)

UserName = rs(1)

password = Trim(text3.text)

quanx = rs(2)

CheckLogin (quanx)

Unload Me

MDIForm1.Show '//显示主窗

FrmDay.Show vbModal

End If

Else

MsgBox "密码错误超过三次!", vbCritical, "警告"

Unload Me

End If

End If

添加用户窗体:

Private Sub cmdcancel_Click()

Unload Me

End Sub

Private Sub cmdOK_Click()

Dim rs As ADODB.Recordset

Dim i As Integer

Set rs = transactsql("select * from 用户表")

If Trim(Text1.text) <> Empty And Trim(TxtUserName.text) <> Empty And Trim(TxtPassWord.text) <> Empty And Trim(TxtOkPwd.text) <> Empty Then

Else

MsgBox "用户ID,用户名,密码不能为空! ", vbInformation + vbOKOnly, "提示信息"

Exit Sub

End If

For i = 1 To rs.RecordCount

If Trim(Text1.text) = rs.Fields(0) Then

MsgBox "用户ID重复,请重新输入! ", vbInformation + vbOKOnly, "提示信息"

Exit Sub

End If

rs.MoveNext

Next i

If Len(Trim(TxtUserName.text)) <= 15 And Len(Trim(TxtPassWord.text)) <= 15 Then

If Trim(TxtPassWord.text) = Trim(TxtOkPwd.text) Then '//验证两次输入密码是否一致

rs.AddNew '//在记录集中添加一行新记录

rs.Fields(1).Value = Trim(TxtUserName.text) '//将文本框中的内容赋给记录集

rs.Fields(3).Value = Trim(TxtPassWord.text)

rs.Fields(2).Value = CmbPopedom.text

rs.Fields(0).Value = Trim(Text1.text)

rs.Update '更新记录

MsgBox "用户添加成功", , "添加成功"

Unload Me

Else

MsgBox "两次密码不一致", vbExclamation + vbOKOnly, "验证错误" '两次密码不一致时

End If

Else

MsgBox "用户名与密码长度不能大于15", vbInformation + vbOKOnly, "验证错误"

End If

End Sub

Private Sub Form_Load()

Me.Caption = ydmc & "管理系统" & "----添加用户"

Me.Left = MDIForm1.Width / 3

Me.Top = MDIForm1.Height / 6

End Sub

相关主题
文本预览
相关文档 最新文档