




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计药品库房管理系统摘 要1Abstract2第一章 引言411 课题背景412 系统简介51. 3 开发软件介绍6第二章 系统的分析821 系统开发的目标和思想922 系统的可行性分析13第三章 系统的设计1831 系统的功能结构设计1832 系统的数据库设计33 界面设计与代码设计2324结束语46致谢47参考文献49摘 要随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活中不可缺少的辅助工具。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。它已经深入到日常工作和生活
2、的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了多如牛毛的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。以前开发Windows应用软件是专业人员的工作,需要掌握许多专业知识和经过特殊的培训才能胜任。现在不同了,即使你没有接受过严格的程序设计训练,使用Visual Basic也一样能够开发出功能强大、适合自己特殊需求的应用程序了。Visual Basic继承了Basic语言易学易用的特点,特别适合于初学者学习Window
3、s系统编程。 药品库房管理系统用计算机管理医院药方药品管理的一种计算机应用技术的创新,在计算机还未普及之前医院药房药品管理都是由工作人员手工书写的方式来操作的.现在一般的医院药方都采用计算机智能化管理,采用计算机作为工具的实用的计算机药方库存管理程序来帮助管理员进行更有效的药品管理工作。药方管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的
4、各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。因为本人能力有限,加上时间紧迫,所以设计出来的本系统可能功能比较简单,另外本系统是单机版,不能实现网络互联操作,这些都有待于我在以后的工作学习中进一步改进。关键字:药品管理,MIS,visual basic ,数据库11 课题背景药品库房管理系统用计算机管理医院药方药品管理的一种计算机应用技术的创新,在计算机还未普及之前医院药房药品管理都是由工作人员手工书写的方式来操作的.现在一般的医院药方都采用计算机智能化
5、管理,采用计算机作为工具的实用的计算机药方库存管理程序来帮助管理员进行更有效的药品管理工作。药方管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。12 系统简介 本系统采用visual basic与Access作为数据库的方式编写,主要服务于药方药品管理人员的日常工作.主要由以下几大功能模块构成:一. 药品入库:库存登记,库存查看,药品调价,退出二. 药品出苦:库存调拨,查看出库情况三. 数据维护:报废品清理,修改密码,修改库存记录
6、四. 窗口:重叠,水平平铺,垂直平铺,排列图标五. 帮助:关于1. 3 开发软件介绍Visual Basic 6.0是Micrsoft公司出品的开发工具,Visual Basic是一种可视化的,面向对象的Windows开发语言,它具有易用,通用和开发效率高的特点。随着微软对它不断地改进以及计算机本身性能的提高,使得Visual Basic越来越适合一般的应用程序开发。正如Bill Gate所说,世界上绝大多数的Windows应用程序是用Visual Basic编写的。在众多的开发工具中,我们为什么要选择Visual Basic6.0呢?因为VB具有众多其它开发工具所没有的优点!具体介绍如下:u
7、 开发的高效u 语言的高效u 编译的高效u 执行的高效u 维护的高效基于以上理由,我们毫不忧郁的选择了VB6.0做为我们的开发工具!主要的控件及其基本属性,事件简介u 命令按钮类的控件:1) Caption属性:用来显示在控件上的标题。2) Enable属性:控制控件的激活状态灰色或可用。3) Appearance属性:值为1时,则以3D效果显示该控件,0则不然。4) Backcolor属性:用来改变在按钮上显示图像的背景色。5) Cancel属性:该属性决定按钮是否为一个”取消”按钮。6) Default属性:决定哪一个命令按钮控件是窗体的缺省命令按钮.7) Font属性:控制各种文字字体类
8、型.8) Left,top,height,width属性:设定控件的位置与大小.9) Style,picture属性:决定按钮的显示方式是否为图像形式出现.10) Visible属性:确定控件运行时是否为可见.11) Index属性:当控件为一控件数组时,此属性值为该控件在数组的下标值.12) DownPicture属性:设置/返回一个对图片的引用,该图片在按钮被单击处于压下状态时显示。13) DisabledPicture属性:设置/返回一个对图片的引用,该图片在控件无效时显示在控件中。14) MaskColor属性:设置/返回一个在按钮的图片中作为“掩码“的的颜色15) Picture属性
9、:设置返回commandButton控件中要显示的图片。u 命令按钮类的事件:1) 单击事件Click事件(1) 触发与适用此事件是在一个命令按钮对象上按下然后释放一个鼠标按钮时发生。命令按钮的Click事件仅对当单击鼠标时发生。(2) 事件处理过程按钮单击事件的处理过程为: Private Sub object-Click(Index As Integer)其中Object为引发该事件的对象名称。如果是命令按钮的控件是数组,则需要使用Index参数标识该控件。2) 获得焦点GotFocus事件(1) 触发与适用 当命令按钮获得焦点产生该事件,获得焦点可以通过诸如Tab切换或单击对象之类的用户
10、动作,或在代码中用SetFocus方法改变焦点来实现。(2) 事件处理过程命令按钮GotFoucs事件处理过程为:Private Sub Object-GotFocus(Index As Integer)3) LostFocus事件:当一个对象失去焦点时发生4) KeyDown事件:当命令按钮具有焦点时按下一个键时发生5) KeyUp事件:当命令按钮具有焦点时释放一个键时发生。6) KeyPress事件:当用户按下或松开一个ANSI键时发生。7) MouseDown事件:当在命令按钮上按下鼠标按钮时发生。8) MouseMove事件:当命令按钮上移动鼠标时发生。9) MouseUp事件:当在命
11、令按钮上释放鼠标按钮时发生。 u 标签框类的控件类的控件:1) Caption属性:在应用程序界面上加入说明。2) Autosize属性:决定控件是否自动改变大小以显示其全部内容。3) Backstyle属性:用以指示标签是否透明.4) Bordstyle属性:用以设定控件是否有边框。u 文本框类的控件:1) Text属性:通过像text属性赋值的方法来改变该属性的值。2) Maxlength属性:该属性设定在文本框控件中能够输入的最大字符数。3) Multline属性:该属性设定text字符串中是否接受换行符。4) Scrollbars属性:该属性决定是否为文本框加滚动条。5) Passwo
12、rdchar属性:该属性设定输入文本的特殊显示字符,在设计密码程序时非常有用。6) Change事件属性:文本框的内容发生改变时,相应的控件之间发生相应的改变,具有即时性。7) Keypress:事件由用户在文本框控件中按任意键触发。8) Alignment属性:设定控件中的文本对其方式9) Appearance属性:设定一个对象在运行时是否可以3D效果显示。10) BackColor属性:设置返回背景色11) BorderStyle属性:设置对象的边框样式12) DataField属性:设定数据使用者将被绑定到的字段名13) DataFormat属性:设定DataFormat对象,用于数据绑
13、定14) DataMember属性:从数据供应程序提供的几个数据成员中返回/设定一个特定的数据成员15) DataSource属性:设定控件绑定的一个数据源16) DragIcon属性:设定图标,它将在拖放操作中作为指针显示17) DragMode模式:设定一个值,确定在拖放操作中所用方式18) Enabled属性:设置/返回运行时TextBox是否相应用户事件19) Font属性:设置/返回字体属性20) ForeColor属性:设置/返回文本的前景色21) Height属性:设置/返回TextBox的高度22) IMEMode属性:设置/返回数值用来确定输入方法编辑器的状态23) Inde
14、x属性:设置/返回唯一的标识控件数组中该控件的编号24) Left属性:设置/返回TextBox控件的水平位置25) Locked属性:设置/返回TextBox中文本是否可编辑26) LinkItem属性:设置/返回DDE与另一个应用程序会话时,传给接受端的数据27) MaxLength属性:设置/返回一个值,指定在TextBox控件中能够输入的字符最大值28) MouseIcon属性:设置/返回自定义鼠标的图标29) Top属性:设置/返回TextBox控件的垂直位置30) Tag属性:存储过程所需的附加数据u 文本框类的事件:1) Change事件:当改变文本框内容时发生2) Click事
15、件:鼠标单击控件时发生3) DblClick事件:用鼠标左键双击控件时发生4) DragDrop事件:在一个完整的拖放动作完成或使用Drag方法,并将其Action参数设置为2时发生5) DragOver事件:在拖放操作正在进行时发生6) GotFocus事件:当一个命令按钮获得焦点时发生7) LinkClose事件:当一个DDE对话结束时发生8) LinkError事件:当一个DDE对话框过程中出现错误时,该事件发生9) KeyDown事件:当命令按钮具有焦点时按下一个键时发生10) Validate事件:在焦点转换到另一个控件之前发生,此时该控件的Causes Validation 属性值
16、设置为True u 单选按钮类的控件:1) Caption属性:显示在控件上的文本,是单选按钮的标题。2) Alignment属性:决定单选按钮的标题在控件上的位置。3) Enable属性:该控件为灰色时为false,表示运行时不可用。4) Index属性:属性值表示为单选按钮组成的控件中某个按钮的索引值。5) Tabindex属性:建立控件时,vb自动为其分配一个tabindex值,利用tab键可以在控件之间切换焦点。6) Value属性:反映控件状态的属性,返回true表示已选择了该按钮。7) Appearance 属性:设置/返回一个对象在运行时是否以3D效果显示。8) BackColo
17、r 属性:设置/返回背景色。9) Container 属性:设置/返回Form上的控件属性。10) DataField 属性:设置/返回数据使用者将被绑定到的字段名。11) DataFormat 属性:设置/返回DataFormat对象,一个绑定对象将附加到它。12) DisabledPicture 属性:设置/返回一个对图像的引用,该图片在控件无效时显示在控件中。13) DownPicture 属性:设置/返回一个对图片的引用,该图片在控件单击下处于压下状态时显示。14) DragMode 属性:设置/返回一个值,确定在拖放操作中所用的方式。15) Font 属性:设置/返回字体属性。16)
18、 FontBold 属性:设置/返回字体粗体样式。17) FontItalic 属性:设置/返回字体斜体样式。 18) FontStrikethru 属性:设置/返回字体删除线样式。19) FontUnderLine 属性:设置/返回字体下划线样式。20) FontName 属性:设置/返回控件中显示文本所用的字体大小。21) FontSize 属性:设置/返回控件中显示文本所用的字体大小22) Height 属性:设置/返回控件的高度。23) MaskColor 属性:设置/返回一个在控件的图片中作为掩码的颜色。24) MousePointer 属性:设置/返回一个值,该值指示在运行时当鼠标
19、移动到对象上时显示的指针类型。u 单选按钮类的常用事件:1) Click 事件:鼠标单击控件时发生。2) DbClick事件: 当在一个对象上按下和释放鼠标按钮并再次按下和释放按钮时,该事件发生。3) DragDrop事件:在一个完整的拖放动作或使用Drag方法,并将其Action参数设置位2时,该事件发生。4) DragOver事件: 在拖放操作正在进行时发生。5) GotFocus事件: 当获的对象焦点时发生。6) LostFocus事件:当对象失去焦点时发生。7) KeyDown事件:当控件具有焦点时按下一个键时发生。8) KeyUp事件: 当控件具有焦点时释放一个键时发生。9) Key
20、Press事件:当用户按下或释放ANSI一个键时发生。10) MouseDown事件:当在控件上按下鼠标键时发生。11) MouseMove事件:在控件上移动鼠标时发生。12) MouseUp事件:在控件上释放鼠标时发生。u 复选按钮类的控件:1) Caption属性:缺省为check1。2) Index属性:该属性值为复选框控件数组的下标.3) Value属性:value为0表空白,为1表勾号,为2表示灰色勾号.4) Container属性:Form控件上的容器。5) DataChangeed属性:设置/返回一个值,指出被绑定的控件中的数据已经被某进程修改。6) DataField属性:设置
21、或返回数据使用者将被绑定到的字段名。7) DataFormat 属性:设置或返回DataFormat对象,用于数据绑定。8) Datasource属性:设置或返回控件绑定的一个数据源。9) DisabledPicture属性:设置或返回一个对图片的引用,该图片在控件无效时显示在控件中。10) DownPicture 属性:设置或返回一个对图片的引用,该图片在控件被单击处于压下状态时显示。11) DragIcon属性:设置或返回图标,它将在拖放操作中做为指针显示。12) DragMode属性:设置返回一个值,确定在拖放操作中所用方式。13) Font属性:设置或返回字体的属性。14) Name属
22、性:设置或返回控件的标识名。15) Value属性:设置或返回控件的状态。u 复选按钮类的控件的基本事件:1) Click事件:鼠标单击控件时发生。2) DragDrop事件:在一个完整的拖放动作完成或使用Drag方法,并将其Action参数设置为2时发生。3) DragOver事件:在拖放操作正在进行时发生。4) GotFocus事件:在对象获的焦点时发生。,5) OLECompleteDrag事件:当源部件被放到目标时发生,并通知源部件拖放操作被执行或取消。6) OLEDragDrag事件:当源部件决定放操作能发生,却源部件被放到目标部件时,此事件发生。u 框架类的控件:1) List属性
23、:列表框控件的表项是使用数组的方式保存,数组的每一个元素存储列表控件的一个表项1) Listcount属性:控件列表部分项目的个数。2) Mutselect属性:可以设置列表框为单选或允许多选属性.3) Selectd属性:标示一个数组,数组各元素为:4) Selected(0),selected(1)u 滚动条类的控件:1) Value属性:滚动条上滑块所在位置由value值所决定。2) Max和min属性:对value值的最大,最小进行限制。3) Largechange属性:用户点击滚动条与键头之间的区域时,value的改变量。4) OnClick事件:用来添加按钮的单击事件所执行的程序代
24、码。u 定时器类类的控件:1) Interval属性:表示定时的时间间隔,以毫秒为单位。2) Enable属性:为true时(缺省值),激活定时器开始计时;为false时处于休眠状态.数据库连接方式选择Visual basic6.0连接数据库的主要方式以下几种方式:一是:用data控件进行数据库链接 ,二是利用adodc(ADO Data Control)进行数据库链接 。三是: 利用DataEnvironment进行数据库链接.四是利用ADO(ActiveX Data Objects)进行编程:现在我们来大致对这几种技术应用介绍:一、 用data控件进行数据库链接.第一步:给窗体添加一个Da
25、ta控件。第二步:用Access建立一个名为Pad的数据库,在库中建立一个表Myset,给表添加四个字段:backcolor(数据),forecolor(文本),fontname(文本),fontsize(文本)。注意:请将库文件存入程序所在目录。 如果你的机器没安装有Access,可通过VB建库。二、 利用adodc(ADO Data Control)进行数据库链接:使用adodata控件访问数据库可以完全不用编写代码,只需要通过简单的设置和操作其属性就可以实现与数据库的连接,通过绑定数据感知控件,就能提供一个访问数据库的界面,用来实现对数据库的浏览,贴加,删除,修改等操作.三、 利用DAO
26、对数据库进行操纵:在visual basic 中提供了两种与jet数据引擎接口的方法:data控件与数据访问对象(DAO)DAO是database object的英文缩写,要访问数据库一方面数据库要提供访问接口,另一方面要在编程环境中有对数据库的支持.DAO模型是设计关系数据库系统结构的对象类的集合.他们提供了管理关系型数据库系统所需要的全部操作属性和方法,这其中包括建立数据库,定义表,字段和建立表间关系,定位和查询数据库等.关系数据库介绍:关系数据库是目前各类数据库中最重要、最流行的数据库,他应用数学方法来处理数据库数据,是目前使用最广泛的数据库系统。20XX70年代以后开发的数据库管理系统
27、产品几乎都是基于关系的。在数据库发展的历史上,最重要的成就就是关系模型。 关系数据库系统与非关系数据库系统的区别是:关系系统只有“表“这一种数据结构;而非关系数据库系统还有其他数据结构,对这些数据结构有其他的操作。结构化查询语言SQL(Structured Query Language)是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的、功能极强的关系数据库语言。目前已成为关系数据库的标准语言MicrosoftAccess介绍:使用MicrosoftAccess,可以在单一的数据库文件中管理所有的信息。在这个文件中,用户可以将自己的数据分别保存在各自
28、独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。 如果要保存数据,请为每一种类型的信息创建一个表。如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。 如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。 如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。在打开一个窗体时,MicrosoftAccess将从一个或多个表中检索数据,并使用用户在“窗体向导”
29、选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。 如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。第一章 系统的分析第一章 系统的分析21 系统开发的目标和思想本系统开发目标是服务于高速公路收费管理人员,方便工作人员,对过往车辆收费,发放收费票据记录,对信息的分类管理等.同时力求做到界面人性化,功能齐全,数据存储安全.22 系统的可行性分析技术上:本系统采用visual basic 6.0与微软的access作为数据库,技术上开发难度一般.经济上:本系统服务于医院药方管理人
30、员,提高了工作人员办事效率,节省了开支.所以具有经济上的可行性.社会上:本系统同时也方便了广大病人,以及医院管理人员.所以具有社会可行性.第二章 系统的设计31 系统的功能结构设计程序登陆主界面出库入库数据维护窗口帮助32 系统的数据库设计1:草药表:2:处方表设计:3:费用表设计:4:库存表设计5:科室代码表:6:门诊收费表:7:药品信息表:8:用户表:9:药方表:32 界面设计与代码设计1,登入界面设计:代码设计:Public userdwname As StringPublic username As StringPublic userright As StringPublic conn
31、 As StringPrivate Sub Command1_Click()Dim password As StringDim respond As Stringusername = Text1.Textpassword = Text2.TextOn Error GoTo err1Adodc1.ConnectionString = connAdodc1.RecordSource = select * from usertab where 用户名= & & username & & and & 密码= & & password & Adodc1.RefreshIf Adodc1.Recordse
32、t.AbsolutePosition = adPosUnknown Thenrespond = MsgBox(用户名或密码错误,请重新输入!, vbOKOnly, 警告)If respond vbOKOnly ThenText1.SetFocusText1.Text = Text2.Text = username = password = End IfElseuserright = Adodc1.Recordset.Fields(权限)Unload frmloginfrmmain.ShowEnd IfExit Suberr1:MsgBox 系统配置错误!无法与服务器连接!userright =
33、 0Unload Mefrmsysset.ShowEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Form_Load()Text1.Text = Text2.Text = conn = Frmstart.pconnconn = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & his.mdb;Persist Security Info=FalseEnd Sub2. 用户修改密码界面设计:代码设计:Private Sub Command1_Click()On Er
34、ror GoTo err1username = frmlogin.usernameIf Text1.Text And Text2.Text ThenAdodc1.RecordSource = select * from usertab where 用户名= & username & and 密码= & & Text1.Text & Adodc1.RefreshIf Adodc1.Recordset.AbsolutePosition = adPosUnknown ThenMsgBox 旧密码错误!Text1.Text = Text2.Text = Text1.SetFocusElseAdodc1
35、.Recordset.Fields(密码) = Text2.TextAdodc1.Recordset.UpdateMsgBox 密码修改成功!Text1.Text = Text2.Text = End IfElseMsgBox 新旧密码均不得为空!Text1.SetFocusEnd IfExit Suberr1:MsgBox 远程服务器连接失败!End SubPrivate Sub Command2_Click()Text1.Text = Text2.Text = Text1.SetFocusEnd SubPrivate Sub Command3_Click()Unload MeEnd Sub
36、Private Sub Form_Load()On Error GoTo err2chpwd.Top = (frmmain.Height - chpwd.Height) / 2 - 500chpwd.Left = (frmmain.Width - chpwd.Width) / 2Adodc1.ConnectionString = frmlogin.connText1.Text = Text2.Text = Exit Suberr2:MsgBox 远程服务器连接失败!End SubPrivate Sub Form_Unload(Cancel As Integer)frmmain.StatusBa
37、r1.Panels(2) = 目前没有窗口被激活End SubPrivate Sub Form_Activate()frmmain.StatusBar1.Panels(2) = 活动窗口: & chpwd.CaptionEnd Sub3,关于界面设计:代码设计:Private Sub cmdOK_Click() Unload MeEnd SubPrivate Sub Form_Load()frmAbout.Top = (frmmain.Height - frmAbout.Height) / 2 - 500frmAbout.Left = (frmmain.Width - frmAbout.Wid
38、th) / 2 Me.Caption = 关于 & App.Title lblTitle.Caption = App.Title End SubPublic Sub StartSysInfo() On Error GoTo SysInfoErr Dim rc As Long Dim SysInfoPath As String 试图从注册表中获得系统信息程序的路径及名称. If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then 试图仅从注册表中获得系统信息程序的路径. ElseIf
39、GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then 已知32位文件版本的有效位置 If (Dir(SysInfoPath & MSINFO32.EXE) ) Then SysInfoPath = SysInfoPath & MSINFO32.EXE 错误 - 文件不能被找到. Else GoTo SysInfoErr End If 错误 - 注册表相应条目不能被找到. Else GoTo SysInfoErr End If Call Shell(SysInfoPath,
40、vbNormalFocus) Exit SubSysInfoErr: MsgBox 此时系统信息不可用, vbOKOnlyEnd SubPublic Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean Dim i As Long 循环计数器 Dim rc As Long 返回代码 Dim hKey As Long 打开的注册表关键字句柄 Dim hDepth As Long Dim KeyValType As Long 注
41、册表关键字数据类型 Dim tmpVal As String 注册表关键字值的临时存储器 Dim KeyValSize As Long 注册表关键自变量的尺寸 - 打开 HKEY_LOCAL_MACHINE. 下的 RegKey - rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) 打开注册表关键字 If (rc ERROR_SUCCESS) Then GoTo GetKeyError 处理错误. tmpVal = String$(1024, 0) 分配变量空间 KeyValSize = 1024 标记变量尺寸 - 检索注
42、册表关键字的值. - rc = RegQueryValueEx(hKey, SubKeyRef, 0, _ KeyValType, tmpVal, KeyValSize) 获得/创建关键字值 If (rc ERROR_SUCCESS) Then GoTo GetKeyError 处理错误 If (Asc(Mid(tmpVal, KeyValSize, 1) = 0) Then Win95 外接程序空终结字符串. tmpVal = Left(tmpVal, KeyValSize - 1) Null 被找到,从字符串中分离出来 Else WinNT 没有空终结字符串. tmpVal = Left(
43、tmpVal, KeyValSize) Null 没有被找到, 分离字符串 End If - 决定转换的关键字的值类型. - Select Case KeyValType 搜索数据类型. Case REG_SZ 字符串注册关键字数据类型 KeyVal = tmpVal 复制字符串的值 Case REG_DWORD 四字节的注册表关键字数据类型 For i = Len(tmpVal) To 1 Step -1 将每位进行转换 KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1) 生成值字符。 By Char。 Next KeyVal = Format$(&h +
44、 KeyVal) 转换四字节的字符为字符串 End Select GetKeyValue = True 返回成功 rc = RegCloseKey(hKey) 关闭注册表关键字 Exit Function 退出 GetKeyError: 错误发生后将其清除. KeyVal = 设置返回值到空字符串 GetKeyValue = False 返回失败 rc = RegCloseKey(hKey) 关闭注册表关键字End FunctionPrivate Sub Form_Unload(Cancel As Integer)frmmain.StatusBar1.Panels(2) = 目前没有窗口被激活
45、End SubPrivate Sub Form_Activate()frmmain.StatusBar1.Panels(2) = 活动窗口: & frmAbout.CaptionEnd Sub4:库存登记界面设计:代码设计:Public Sub Guolu()With Adodc1.RecordSource = select * from & frmmain.datas & where 失效标记=false.RefreshFor i = 0 To .Recordset.RecordCountIf Not .Recordset.EOF Then If .Recordset.Fields(失效期)
46、 = Date Then .Recordset.Fields(失效标记) = True .Recordset.Update Else .Recordset.Fields(失效标记) = False .Recordset.Update End If.Recordset.MoveNextEnd IfNextEnd WithEnd SubPrivate Sub combo2_Change()If Combo2.Text 西药中成药库 And Combo2.Text 中草药库 And Combo2.Text 器械材料库 ThenText1.Enabled = FalseText18.Enabled =
47、 FalseEnd IfEnd SubPrivate Sub Combo2_Click()Select Case Combo2.TextCase 西药中成药库 frmmain.datas = kcyp frminput.Caption = 西药和中成药入库登记 frmmain.kcode = ypcode Call Guolu Text1.Enabled = True Text18.Enabled = TrueCase 中草药库 frmmain.datas = caoyao frminput.Caption = 中草药入库登记 frmmain.kcode = cycode Call Guolu Text1.Enabled = True Text18.Enabled = TrueCase 器械材料库 frmmain.datas = qixie frminput.Caption = 医疗器械和材料入库登记 frmmain.kcode = qxcode Call Guolu Text1.Enabled = True Text18.Enabled = TrueCase Else Text1.Enabled = False Text18.Enabled = False frminput.Caption = 库存登记End SelectEnd SubPrivate
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届山东省菏泽市王浩屯中学英语九年级第一学期期末检测试题含解析
- 2026届贵州省黔东南州剑河县化学九上期中学业质量监测试题含解析
- 河南省郑州市桐柏一中学2026届九上化学期中调研模拟试题含解析
- 大兴安岭市重点中学2026届九年级英语第一学期期末学业水平测试模拟试题含解析
- 2026届陕西省宝鸡市渭滨区九年级英语第一学期期末经典模拟试题含解析
- 2026届山西省临汾市襄汾县九上化学期中达标测试试题含解析
- 信托资金借贷合同范文6篇
- 离婚协议中关于共同财产分割及人寿保险权益保障协议
- 离婚协议书(涉及跨境财产分割与法律适用)
- 猪场租赁合同(含饲料供应与养殖技术支持)
- GB/T 7713.4-2025信息与文献编写规则第4部分:数据论文
- 法律职业资格考试客观题(试卷一)试题与参考答案(2025年)
- 狂犬疫苗使用培训课件
- 2025新疆伊犁州伊宁市中小学招聘各学科编外教师备考考试题库附答案解析
- 2023-2025年高考化学试题分类汇编:有机化合物(原卷版)
- 【2025年】郴州社区专职工作人员招聘考试笔试试卷【附答案】
- 2025发展对象考试题库附含答案
- 2025-2026学年第一学期学校教导处工作计划:扎根常规提质效稳中求进促提升
- 主体结构劳务分包工程(八标段)施工组织设计
- 营养与慢性伤口愈合的关系
- (正式版)JBT 9229-2024 剪叉式升降工作平台
评论
0/150
提交评论