vb课程设计报告,门诊挂号收费系统.doc_第1页
vb课程设计报告,门诊挂号收费系统.doc_第2页
vb课程设计报告,门诊挂号收费系统.doc_第3页
vb课程设计报告,门诊挂号收费系统.doc_第4页
vb课程设计报告,门诊挂号收费系统.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沈阳理工大学课程设计专用纸 No20目 录第1章 系统功能概述1第2章 开发工具12.1 Visual Basic 6.012.2 SQL2第3章 数据库设计33.1 需求分析33.2 E-R模型43.3 表结构设计5第4章 系统各功能模块的详细设计74.1 界面设计74.2 控件代码10参考文献20沈阳理工大学第1章 系统功能概述药品管理: 用于添加,删除或修改药品信息,其中包括药品编号,药品名称,药品价格,药品数量,并且可以查看已有的药品记录.检查管理: 用于查看或者向数据库内添加删除或修改检查的项目,其中包括检查编号,检查名称,价格. 治疗管理: 用于查看和修改添加以及删除已有的治疗项目,其中包括治疗编号,治疗名称,价格和主治医师. 挂号: 用于对病人进行信息录入,选择药品以及治疗方式,最后合算其消费金额,并且针对未能全额支付的病人也予以挂号,将其信息存放在报表中,即报表显示欠款病人的信息.第2章 开发工具2.1 Visual Basic 6.0Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。每个控件都有自己的属性和事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。VB的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组建的出现,程序员可以选用自己需要的扩展库。和有些语言不一样,VB对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。2.2 SQLSQL(前名 SQL)是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office的成员之一。其实SQL 也是微软公司另一个通讯程序的名字,想与 ProComm 以及其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重新命名于数据库软件。SQL在2000年的时候成为了计算机等级考试中的计算机二级的一种数据库语言并且因为它的易学易用的特点正逐步取代传统的VFP成为二级中最受欢迎的数据库语言。SQL 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即Relational Database Management System),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。 SQL能够存取 SQL/Jet、Microsoft SQL Server、Oracle(甲骨文软件公司),或者任何 ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的进阶用户则能使用它来开发简单的应用软件。虽然它支援部分面向对象(OOP)技术,但是未能成为一种完整的面向对象开发工具。与一般的RDBMS完全不同,它缺乏数据库触发和预存程序。自从MS SQL 2000 (Jet 4.0),开发人员可以在查询中设定参数,这跟预存程序很相似的,但这些“预存程序”只能处理一个程序当资料表内数据发生变化时,它确实允许形式包含被引发的代码,使用是普通的透过查询和其他技术在进入营运储存的程序在方面RDBMS支援这些的。进入可提供的编程语言,当时在另一个内产品Microsoft Office家具,微软公司应用的Visual Basic。两个数据库进入信息库COM组成部分被提供:这笔遗产数据存取物体(DAO),用进入和新只可提供ActiveX数据对象(忙乱)。SQL容易被应用于小的工程,但是如果设计的不好对大工程是无用的。全部数据库质问,形式和报告被储存在数据库里,并且与相关的模型的理想协调,没有与他们做一个身体上组织的阶层的可能性。一种设计技术是把进入应用在数据和计划之间进行分发。一个数据库应该只包含桌子和关系,当另一个将有全部计划时,形式,报告和质问和对第一个数据库桌子的连接。令人遗憾,当连结时,进入允许没有有关的道路,因此那些发展环境作为这种生产环境有相同的道路应该(虽然你写你们自己的能动态连接程序常规在里VBA那搜出能一定背面结束档案以透过这个目录树搜寻,如果它发现这条电流通路它不能)。 这种技术也允许开发者在不同的档案中分申请,因此一些架构是可能的。第3章 数据库设计3.1 需求分析该系统能实现简单的门诊划价收费处理,且可以连接到数据库,病人挂号时,录入其挂号编号,姓名,检查申请以及开药等信息,并且针对不同开药和诊断选择,有不同的价格,最后对挂号病人进行划价收费,.其中,药品管理用来修改药品信息,其中包括药品的名称和价格等,检查管理包括检查编号和名称及价格,治疗管理也包括价格和名称,另外还有主治医师.对于挂号成功的病人,将其所有信息写入数据库内. 3.2 E-R模型(1)检查管理E-R图如图3.1检查管理检查名称价格编号图3.1 检查管理E-R图(2)药品管理E-R图如图3.2药品管理药品编号药品名称数量单位单价图3.2 药品管理E-R 图(3)治疗管理如图3.3治疗管理价格名称治疗编号主治医师图3.3 治疗管理E-R 图(4)挂号E-R图如图3.4挂号挂号编号治疗申请检查申请药品数量姓名备注性别药品开方图3.4 挂号E-R图 3.3 表结构设计本系统共建立四张表,分别为检查信息表,治疗信息表,药品信息表和病人信息表,一下分别列出个表内容:(1)检查信息表用于保存检查信息,默认为这三种,在系统运行后,可以在检查管理中添加,删除和修改各项内容,之后的治疗信息以及药品信息表都可以在运行后的菜单中更改.检查编号名称Varchar(50)价格Int01透视检查23202孕妇检查21003肠胃检查202(2)治疗信息表用于保存治疗的方法,默认为三种治疗编号名称Varchar(50)价格Int主治医师Varchar(50)0001按摩1123王医生0002骨折结合988李医生0003心脏治疗343徐医生(3)药品信息表用于保存药品信息,默认为三钟药品编号单位Varchar(50)数量Int名称Varchar(50)价格Int001克123若非沙星12002粒21泻立停23003瓶2闪亮滴眼液22(4)病人信息表用于存放病人信息,其中的应付金额为选择个服务项之后计算所得,检查,治疗和药品类型,为挂号时所选定.姓名性别备注应付金额实付金额检查类型治疗类型药品类型药品数量qq-请选择-Asdasd15251222透视检查按摩 滴眼液NULL23女as164623透视检查骨折结合若非沙星NULL呵呵男无37133713肠胃检查按摩若非沙星NULL第4章 系统各功能模块的详细设计4.1 界面设计(1)管理员登陆界面: 图4.1.1 管理员登陆界面管理员登陆界面,其中的用户名和密码在建立数据库DSN配置时建立,右边ADO控件在运行时为隐藏.(2)检查管理界面:图4.1.2 检查管理界面此界面为检查管理界面,通过输入编号,名称和价格来向数据库中添加删除或修改检查项目,该界面设置8个按钮,当显示数据库中的首记录时,按钮首记录和上一个的visible属性为false,默认为true,当显示数据库中的末记录时,按钮下一个和末记录 的visible属性为false,默认为true.当单击确定按钮时,触发事件向数据库中添加删除或修改检查项目.(3)药品管理界面:图41.3 药品管理界面 此界面为药品管理界面,通过输入药品编号,药品名称和数量等信息来向数据库中添加删除或修改药品信息,按钮功能同上面检查管理.(4)治疗管理界面:图4.1.4治疗管理界面该界面为治疗管理界面,通过输入治疗编号名称和价格以及主治医师来修改数据库内容,按钮功能同检查管理中各按钮.(5)主界面-挂号界面:图4.1.5 挂号界面 该界面为挂号界面,通过编号姓名等八项内容来向数据库中写入数据,其中检查申请,药品开方和治疗管理中各下拉菜单中内容为直接调用数据库中的内容,这三项都可以通过对应的管理来添加删除或修改所包含项,当选定之后,单击计算金额按钮,在应付金额中会显示出总花费,单击确定登记按钮,显示挂号成功.4.2 控件代码(1)登陆Private Sub button_login_Click() Static count As Integer If count = 2 Then button_login.Enabled = False End If Dim sql As String sql = Select * from userTable where name= & username.Text & and pass = & pass.Text & MsgBox (sql) UserTable.RecordSource = sql UserTable.Refresh If UserTable.Recordset.BOF = True Then MsgBox 用户名或密码错误,请重新输入, vbExclamation, 警告 pass.Text = pass.SetFocus count = count + 1 MsgBox (count) Else Load Form_main Form_main.Show Unload Me End If End Sub(2) 计算金额Private Sub Com_show_Click() checkNumFinal = checkNum cureNumFinal = cureNum drugNumFinal = drugNum text_needPay.Text = Val(Mid(checkNumFinal, InStr(checkNumFinal, -) + 1, (InStr(checkNumFinal, 元) - InStr(checkNumFinal, -) - 1) + Val(Mid(cureNumFinal, InStr(cureNumFinal, -) + 1, (InStr(cureNumFinal, 元) - InStr(cureNumFinal, -) - 1) + Val(number) * Val(Mid(drugNumFinal, InStr(drugNumFinal, -) + 1, (InStr(drugNumFinal, 元) - InStr(drugNumFinal, -) - 1) Lab_needPay.Caption = text_needPay & 元 MsgBox text_needPay Com_config.Enabled = TrueEnd Sub(3)确定登记Private Sub Com_config_Click() MsgBox sex AdodcSick.Refresh Dim sql As String sql = & sickNum & , & text_name & , & sex & , & message & , & text_needPay & , & Text_havePay & , & checkNum & , & cureNum & , & drugNum & , & number MsgBox sql AdodcSick.RecordSource = insert into sick values ( & sql & ) On Error GoTo 1 AdodcSick.Recordset.Update AdodcSick.Refresh1: MsgBox ( 挂号成功! )(4)刷新Private Sub Command4_Click() AdodcChecks.Refresh AdodcDrug.Refresh AdodcCure.Refresh checkNum.Clear drugNum.Clear cureNum.Clear While AdodcChecks.Recordset.EOF = False checkNumTemp = AdodcChecks.Recordset.Fields(name) & - & AdodcChecks.Recordset.Fields(money) & 元 checkNum.AddItem checkNumTemp AdodcChecks.Recordset.MoveNext Wend While AdodcDrug.Recordset.EOF = False drugNumTemp = AdodcDrug.Recordset.Fields(name) & ( & AdodcDrug.Recordset.Fields(unit) & ) & - & AdodcDrug.Recordset.Fields(money) & 元 drugNum.AddItem drugNumTemp AdodcDrug.Recordset.MoveNext Wend While AdodcCure.Recordset.EOF = False cureNumTemp = AdodcCure.Recordset.Fields(name) & - & AdodcCure.Recordset.Fields(money) & 元 & - & AdodcCure.Recordset.Fields(doctor) cureNum.AddItem cureNumTemp AdodcCure.Recordset.MoveNext WendEnd Sub(5)药品管理中各按钮Private Sub Com_First_Click() Adodc1.Recordset.MoveFirst ButtonControl 1, 0 ButtonControl 2, 0 ButtonControl 3, 1 ButtonControl 4, 1 End SubPrivate Sub Com_Last_Click() Adodc1.Recordset.MoveLast ButtonControl 1, 1 ButtonControl 2, 1 ButtonControl 3, 0 ButtonControl 4, 0 End SubPrivate Sub Com_Next_Click() Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF = True Then ButtonControl 3, 0 ButtonControl 4, 0 ButtonControl 6, 0 ButtonControl 7, 0 Else ButtonControl 6, 1 ButtonControl 7, 1 End If ButtonControl 1, 1 ButtonControl 2, 1 End SubPrivate Sub Com_Previous_Click() Adodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF = True Then ButtonControl 1, 0 ButtonControl 2, 0 ButtonControl 6, 0 ButtonControl 7, 0 Else ButtonControl 6, 1 ButtonControl 7, 1 End If ButtonControl 3, 1 ButtonControl 4, 1 End SubPrivate Sub Com_Update_Click() record = 2End SubPrivate Sub Com_Yes_Click() DateBaseControl MsgBox recordEnd SubPrivate Sub f_exit_Click() EndEnd SubPrivate Sub Form_Load() Com_First.Enabled = True Com_Previous.Enabled = True Com_Next.Enabled = True Com_Last.Enabled = True End SubPublic Sub ButtonControl(a As Integer, b As Integer) a代表控件id b代表按钮类型 0为无效 1为有效 - If a = 1 Then If b = 0 Then Com_First.Enabled = False Else Com_First.Enabled = True End If End If - If a = 2 Then If b = 0 Then Com_Previous.Enabled = False Else Com_Previous.Enabled = True End If End If - If a = 3 Then If b = 0 Then Com_Next.Enabled = False Else Com_Next.Enabled = True End If End If - If a = 4 Then If b = 0 Then Com_Last.Enabled = False Else Com_Last.Enabled = True End If End If - If a = 5 Then If b = 0 Then Com_Add.Enabled = False Else Com_Add.Enabled = True End If End If - If a = 6 Then If b = 0 Then Com_Update.Enabled = False Else Com_Update.Enabled = True End If End If - If a = 7 Then If b = 0 Then Com_Del.Enabled = False Else Com_Del.Enabled = True End If End

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论