住院病人管理系统Word文档下载推荐.docx
- 文档编号:17338948
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:21
- 大小:122.39KB
住院病人管理系统Word文档下载推荐.docx
《住院病人管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《住院病人管理系统Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。
有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。
VB的组件既可以拥有用户界面,也可以没有。
这样一来服务器端程序就可以处理增加的模块。
VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。
因为越来越多组建的出现,程序员可以选用自己需要的扩展库。
和有些语言不一样,VB对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。
默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。
1.2.2MicrosoftOfficeAccess
MicrosoftOfficeAccess(前名MicrosoftAccess)是由微软发布的关联式数据库管理系统。
它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,是MicrosoftOffice的成员之一。
其实Access也是微软公司另一个通讯程序的名字,想与ProComm以及其他类似程序来竞争。
可是事后微软证实这是个失败计划,并且将它中止。
数年后他们把名字重新命名于数据库软件。
Access在2000年的时候成为了计算机等级考试中的计算机二级的一种数据库语言并且因为它的易学易用的特点正逐步取代传统的VFP成为二级中最受欢迎的数据库语言。
Access是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即RelationalDatabaseManagementSystem),是Office系列应用软件之一。
它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;
提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;
为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。
Access能够存取Access/Jet、MicrosoftSQLServer、Oracle(甲骨文软件公司),或者任何ODBC兼容数据库内的资料。
熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的"
进阶用户"
则能使用它来开发简单的应用软件。
虽然它支援部分面向对象(OOP)技术,但是未能成为一种完整的面向对象开发工具。
与一般的RDBMS完全不同,它缺乏数据库触发和预存程序。
自从MSAccess2000(Jet,开发人员可以在查询中设定参数,这跟预存程序很相似的,但这些“预存程序”只能处理一个程序.当资料表内数据发生变化时,它确实允许形式包含被引发的代码,使用是普通的透过查询和其他技术在进入营运储存的程序在方面RDBMS支援这些的。
进入可提供的编程语言,当时在另一个内产品MicrosoftOffice家具,微软公司应用的VisualBasic。
两个数据库进入信息库COM组成部分被提供:
这笔遗产数据存取物体(DAO),用进入和新只可提供ActiveX数据对象(忙乱)。
MicrosoftAccess容易被应用于小的工程,但是如果设计的不好对大工程是无用的。
全部数据库质问,形式和报告被储存在数据库里,并且与相关的模型的理想协调,没有与他们做一个身体上组织的阶层的可能性。
一种设计技术是把进入应用在数据和计划之间进行分发。
一个数据库应该只包含桌子和关系,当另一个将有全部计划时,形式,报告和质问和对第一个数据库桌子的连接。
令人遗憾,当连结时,进入允许没有有关的道路,因此那些发展环境作为这种生产环境有相同的道路应该(虽然你写你们自己的能"
动态连接程序"
常规在里VBA那搜出能一定背面结束档案以透过这个目录树搜寻,如果它发现这条电流通路它不能)。
这种技术也允许开发者在不同的档案中分申请,因此一些架构是可能的。
2概要设计
数据库概念结构设计
本系统包括的实体主要有病人、科室、病房、医生、费用等。
下面分别介绍各实体的E-R图,通过E-R图可以了解各实体的属性。
科室实体的属性图如图所示。
图科室实体的属性图
病房实体的属性图如图所示。
图病房实体的属性图
医生实体的属性图如图所示。
医生
开始
编号
医生姓名
图医生实体的属性图
病人实体的属性图如图所示。
图病人实体的属性图
费用实体的E-R图如图所示。
图费用实体的属性图
实体间的E-R图如图所示。
病人入院时,根据病人情况选择科室和病房,每个科室有多个病人就诊,每个病房可以住多个病人。
一个病人由一个医生负责,作为该病人的主治医生,每个医生可能负责多个病人。
病人住院期间的费用根据时间日期来计算。
图实体间的E-R图
系统模块设计
整个系统可分为三个模块进行设计,主要包括病人基本信息管理,费用数据录入、查询,病人、病房、主治医生查询,系统管理等部分,系统模块图如图所示。
病人住院管理系统
数据处理模块
查询模块
系统功能模块
费用输入
病人资料
管理
用户管理
数据备份
数据恢复
病房查询
病人查询
主治医生查询
图系统模块图
3详细设计
数据库逻辑结构设计
本系统共建立六张表:
科室表、病房表、医生表、病人表、费用表、操作员表。
以下分别列出各表的字段说明。
科室表:
用于保存医院中各科室的信息。
在系统中只使用科室编号和名称,将其单独列出一张表可方便用户修改科室。
各字段参数如表所示。
表科室表
字段名称
数据类型
字段大小
是否主键
说明
ID
自动编号
是
科室编号
科室
文本
20
否
科室名称
病房表:
用于保存病房信息。
包括病房编号、类型,以及不同类型病房床费。
其中病房类型分为单人间和三人间,且不同房间所需床费不同。
表病房表
病房编号
病房
病房类型
床费
货币
医生表:
用于医院所有医生的信息。
病人需要医生开药来计算药费,所以将药费作为医生的一个属性。
表医生表
医生编号
15
药费
开药药费
用于保存病人基本信息。
包括病人编号、姓名、性别、身份证号码、入院时间、科室、病房、主治医生及入院时所需缴纳的基本费用。
其中科室、病房和医生均是各实体的编号。
表病人表
病人编号
姓名
10
病人姓名
身份证
性别
2
入院时间
日期/时间
数字
基本费用
备注
备注信息
费用表:
用于保存病人住院期间的费用。
由于需要按病人查询费用,所以包含了病人ID。
表费用表
序号
病人ID
长整型
日期
费用日期
餐费
总计
结算
操作员表:
用于保存操作本系统人员的登录名、密码等信息。
表操作员表(User)
Name
登录名
PWD
16
登录密码
UserClass
字节
用户类型
系统子模块设计
3.2.1编写全局变量和通用过程
在由应用程序向导创建的程序框架中,创建了一个模块文件“”,在该模块中有一个名为“SubMain”的过程,用来启动应用程序。
在该模块中还定义了一下全局变量和通用过程,供其他模块使用。
下面的过程用来执行针对数据库的操作,如创建/释放数据库连接,运行查询等。
PublicSubConnect()'
连接数据库
IfIsConnect=TrueThen'
如果连接标记为真,则返回。
否则会出错
ExitSub
EndIf
Setcnn=New'
关键New用于创建新对象cnn
=Conn'
设置连接字符串ConnectionString属性
'
打开到数据库的连接
If<
>
adStateOpenThen'
判断连接的状态
MsgBox"
数据库连接失败"
vbOKOnly+vbCritical,"
警告"
如果连接不成功,则显示提示信息,退出程序
End
IsConnect=True'
设置连接标记,表示已经连接到数据库
EndSub
PublicSubDisconnect()'
断开与数据库的连接
DimrcAsLong
IfIsConnect=FalseThenExitSub'
如果连接标记为假,标明已经断开连接,则直接返回
关闭连接
Setcnn=Nothing
IsConnect=False
PublicSubSQLExt(ByValstrSQLstmtAsString)'
执行数据库操作语句
DimcmdAsNew'
创建Command对象cmd
Connect'
连接到数据库
Set=cnn'
设置cmd的ActiveConnection属性,指定与其关联的数据库连接
=strSQLstmt'
设置要执行的命令文本
Setcmd=Nothing
Disconnect
3.2.2用户管理模块
用户管理是大多数信息管理系统中都需要的功能,将用户管理的功能设置为一个类,可提高代码的可重用性。
用户管理类模块名称为“clsUser”,基本流程如图。
初始化数据
调用SQLExt过程执行SQL语句
结束
查找指定用户
图用户管理模块流程图
3.2.3病人资料管理模块
病人资料管理模块是本系统的核心,包括病人资料的增加、修改、删除等功能的实现,可以在对话框中对病人资料进行管理并连接到数据库中。
“增加”按钮有两种状态,当该按钮病人入院时,进入该模块点击“增加”按钮,可以增加一个病人,将病人的基本信息输入,并添加到数据库的病人表中,其流程如图。
从科室表中获取数据
从病房表中获取数据
SQL语句
从医生表中获取数据
定义SQL语句
刷新ADO控件数据
设置DataGrid1控件显示ADO控件中的数据
数据是否读取完毕
设置ADO控件连接字符串为全局变量
计数器加1
程序停止运行,返回false
图病人资料管理模块增加事件流程图
病人入院后可能会更换病房或者出现其他变动,所以在该模块还需要实现病人资料的即时更新。
当在DataGrid表格中选中一个病人记录时,“增加”按钮的标题将改变为“修改”,此时单击该按钮将修改选中记录的数据,具体流程如图。
禁止使用“删除”按钮
调用Status过程允许用户操作窗体各控件
清除数据
检查用户输入或修改的数据
调用Status过程禁止用户操作窗体中的控件
输入数据
数据是否输入完毕
图病人资料管理模块修改事件流程图
为了方便查询,只显示住院病人资料,若病人出院,需要将该病人的资料删除,及时更新数据库,进入该模块点击“删除”按钮,可以将病人的基本信息删除,其流程如图。
图病人资料管理模块删除事件流程图
3.2.4费用输入模块
费用输入模块主要用来录入病人指定时间的费用。
为减少录入工作量,减少录入错误,使用列表框显示病人姓名,系统将自动填充病人的基本费用、床费、药费,用户也可以修改这些自动填充的数据。
对于最终的结算数据,既可手工输入,也可单击右侧的“C”(计算)按钮自动计算。
其主要流程如图。
图费用输入模块流程图
4调试分析
(1)信息不能全部显示
问题描述:
数据文件输出到text控件中输出数据不能全部显示。
问题分析:
text控件中且数据量比较大,窗体不够大,所以不能全部显示。
解决方法:
比较简单的方法就是把数据放到一个文本框(text)里,并在其中加上水平和垂直滚动条。
具体实现步骤为:
先在窗体(form)里加入一个文本框,采用默认名text1;
然后,设置文本框text1的属性:
text属性设置为空,multiline属性设置为true,scrollbars属性设置为3-both;
接着添加一段vb代码即可。
(2)运行出错
运行点击病人资料时出错,调试时在设置ADO控件连接字符串为全局变量Conn一行出错。
指示出错行并未有问题,可能原因是前面定义SQL语句时出错。
经检查分析,SELECT语句中医生表中并未出现“主治医生”这一参数。
将SELECT语句中“主治医生”改为“医生”。
修改后的SELECT语句如下:
strSQL2="
SELECT,姓名,d.科室,性别,身份证,入院时间,b.病房,c.医生,基本费用,备注"
strSQL2=strSQL2&
"
FROM病人表a,病房表b,医生表c,科室表d"
WHEREa.病房=ANDa.医生=ANDa.科室="
5测试及运行结果
用户登陆界面
在VB6开发环境中,选择菜单“运行/启动”命令,将显示登陆窗体,如图所示。
图用户登陆窗体
在登录窗体中单击“确定”按钮,即可进入系统主窗体,如图所示。
图系统主窗体
用户管理界面
在系统主窗体中“系统/用户管理”或点击“用户”按钮,可以进入用户管理界面,如图所示。
图用户管理窗体
单击“添加用户”按钮,管理员和操作员都可以添加新用户,如图所示。
图添加用户窗体
单击“修改用户”按钮,管理员可以修改用户,如图所示。
图修改用户窗体
病人资料管理界面
在系统主窗体中“数据/病人资料”,可以进入病人资料管理界面。
操作员可以对病人资料进行添加、修改、删除等操作,并且可以直观显示在界面的表格中。
如图所示。
图病人资料管理界面
输入新的入院病人资料,单击“添加”按钮,添加时界面显示如图所示。
图添加病人资料显示界面
新入院病人资料已添加到数据库中,添加后界面显示如图所示。
图添加后病人资料显示界面
单击“删除”按钮,弹出对话框如图所示。
图弹出对话框
选择“是”,可将该用户从数据库中删除,删除后显示界面如图所示。
图删除后病人资料显示界面
参考文献
[1]VisualBasic课程设计案例精编[M].北京:
清华大学出版社,2007
[2]VisualBasic项目案例开发实例自学手册[M].北京:
人民邮电出版社,2008
[3]VisualBasic完全自学手册[M].北京:
机械工业出版社,2009
[4]30天学通VisualBasic项目案例开发[M].北京:
电子工业出版社,2009
[5]VisualBasic从入门到精通[M].北京:
人民邮电出版社,2010
附录
主要源程序清单:
PrivateSubMDIForm_Load()
=GetSetting,"
Settings"
"
MainLeft"
1000)
MainTop"
MainWidth"
6500)
MainHeight"
'
LoadNewDoc
PrivateSubMDIForm_Unload(CancelAsInteger)
vbMinimizedThen
SaveSetting,"
PrivateSubmnuDataEmp_Click()
PrivateSubmnuDataInput_Click()
PrivateSubmnuDataRef_Click()
PrivateSubmnuQueryFind_Click()
PrivateSubmnuReportEmp_Click()
PrivateSubmnuReportPay_Click()
PrivateSubmnuSysBack_Click()
DimstrSoureFileAsString,strDestFileAsString,iRetAsInteger
OnErrorResumeNext
strSoureFile=&
strDB'
源数据库文件
strDestFile=&
\BAK\"
备份文件
IfTrim(strDestFile)="
"
ThenExitSub
IfDir(strDestFile)<
Then'
文件存在
iRet=MsgBox(Dir(strDestFile)&
文件已经存在,是否替换?
vbYesNo,"
)
IfiRet=vbNoThen
Dimbuff()AsByte,iAsLong'
定义缓冲区
i=FileLen(strSoureFile)
ReDimbuff(i-1)
OpenstrSoureFileForBinaryAs#1'
打开源文件
Get#1,,buff'
读取数据到缓冲区
Close#1'
关闭文件
OpenstrDestFileForBinaryAs#1'
打开目标文件
Put#1,,buff'
输入缓冲区到目标文件
Close#1
数据库备份完成!
vbInformation+vbOKOnly,"
提示"
PrivateSubmnuSysPWD_Click()
WithfrmUserEdit
.Caption="
修改密码"
.strOldUser=
.=
If=1Then
."
管理员"
Else
操作员"
.=0
.=False
.=False'
不允许修改用户名
.bModify=True
.Show
EndWith
PrivateSubmnuSysQuit_Click()
DimynAsString
yn=MsgBox("
确定要退出系统吗?
退出确定"
Ifyn=vbYesThenUnloadMe
PrivateSubmnuSysRest_Click()
DimstrSoureFileAsString,strDestFileAsString
Dimbuff()AsByte,iAsLong,iRetAsInteger
strSoureFile=+"
strDestFile=+strDB
If
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 住院 病人 管理 系统