《学生学籍管理信息系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《学生学籍管理信息系统的设计与实现.doc(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库系统原理及应用课程设计题目: 学生学籍管理信息系统设计及实现院 系: 基础及信息工程学院 专 业: 计算机科学及技术 姓 名: 年 级 : 指导教师: 摘要随着信息技术在管理上越来越深入而广泛应用,管理信息系统实施在技术上已逐步成熟。管理信息系统是一个不断发展新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立及自身特点相适应管理信息系统,面对大量学生数据、报表,手工处理方式已经很难跟上现代化步伐,随着计算机技术及网络通讯技术飞速发展,许多学校已经有了较好计算机应用甚至网络硬件基础建设。因此为提高学校管理工作现代化、科学化水平,保证信息处理即时化、准确化,开
2、发一套对学生学籍进行管理软件是极其重要。 本文介绍了在Microsoft Visual Basic与Microsoft SQL Server环境下采用“自上而下地总体规划,自下而上地应用开发”策略开发一个管理信息系统过程。通过分析访客管理不足,创建了一套行之有效计算机管理学生方案。文章介绍了访客管理信息系统系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计与数据库设计及代码设计。关键词:SQL Server、Visual Basic1 设计内容与要求随着我国教育体制改革深入进行,教育系统得到了前所未有发展。学生管理正在逐步迈向管理信息现代化。但是我国学生管理信息化
3、水平还处在初级阶段,主要表现在对学生交费管理、学生档案管理还是采用原有人工管理方式。学校规模不断扩大,学生数量急剧增加,有关学生各种信息量也成倍增长。由于大学生类别与专业设置多样化,大学生学籍管理历来是非常繁琐与复杂工作。面对庞大信息量, 这时人工管理几乎无法实现,在这种情况下用数据库进行管理变尤为必要,这可以发挥计算机优势,就需要有学生信息管理系统来提高学生管理工作效率.通过这样系统,可以做到信息规范管理,科学统计与快速查询,从而减少管理方面工作量与减少人为错误。本学生学籍管理系统(数据库系统)开发及运行环境如下:开发环境:Windows XP辅助工具:Microsoft Visual Ba
4、sic 6.0 中文版数据库管理系统:SQL Server 运行环境:Windows 2000/XP/20031.3内容与要求.1系统目标设计(1)使得学生学籍管理工作更加清晰、条理化、自动化。(2)很容易地完成新生信息输入、老生信息备份、毕业学生信息可以很容易地 保存。(3)当学生需要查询成绩时,可以很简单地将其需要信息从数据库中查找出来并可以打印查询结果。(4)随着当今网络技术发展,提供网络在线查询功能,可以为毕业生提供更多就业机会。编写目学生信息管理系统开发更方便了教师对学生查询管理,对学生基本情况进行了解,再次添加了对学生考试情况分数管理,这样更好让教师对学生每次考试成绩进行了解比较,
5、了解该学生近期学习情况。同时在有权限教师登录以后可以轻松查询到要找学生具体班级.年所在年级与他们学号,因此而开发此系统是为了教师更好管理。1.5项目背景a. 所建议开发软件名称:学生学籍管理系统(student information management system)b. 项目任务提出者:学校.c. 开发者:赵鹏、赵丹、李福灿。d. 用户:学校、 学生e. 实现软件单位:计算机基础及信息工程学院。f. 项目及其他软件或其他系统关系:Student information management system 是一功能比较完善数据管理软件,具有数据操作方便高效迅速等优点。该软件采用功能强大数据
6、库软件开发工具SQL Server 进行开发,具有很好可移植性,可在应用范围较广WINDOWS 系列操作系统上使用。在学籍管理中,需要从大量日常教学活动中提取相关信息,以反映教学情况。传统手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率与水平。学籍管理信息系统以计算机为工具,通过对学生信息管理所需信息管理,把管理人员从繁琐数据计算处理中解脱出来,使其有更多精力从事教务管理政策研究实施,教学计划制定执行与教学质量监督检查,从而全面提高教学质量。
7、2 需求分析2.1 需求规定该系统面向用户有:学校管理人员,普通用户。不同用户可以根据自己权限对系统数据进行相关操作,比如浏览与修改,系统预先定义好各种用户权限。加入网络模块以后,所有操作都可以通过网络进行。系统要能够抵制来自于网络非法访问甚至攻击。2.2 系统功能要求(1)学生学籍录入可以在开学时候利用某些电子装置批量录入,以节约人员加快速度;当在学期中需要增加或减少学籍记录时,可由系统管理员在得到学校相关人员同意后单独进行操作,要保留操作记录。(2)学生学籍修改在得到学校相关人员同意后,由系统管理员修改记录,系统本身要记录该事件并保存原始数据。(3)学生学籍删除在得到学校相关人员同意后,由
8、系统管理员删除记录,系统本身要记录该事件并保存原始数据。(4)学生学籍查询用户凭用户名与对应密码登陆系统,然后可以根据其权限查看对应相关信息,密码由专门部门负责,系统对每次用户操作数据应该在一定时间段内保留。系统可以方便进行对学生基本信息进行添加.修改.以及查询。帮助学生对学生考试情况进行更好管理与了解。方便了学生对学生查询管理,更快知道要查询学生在校具体班级.学号.姓名.专业等信息情况。现在采用手工方式已经无法管理成千上万学生学籍信息,好在我们有计算机系统,它可以代替我们完成这项复杂而又枯燥工作,而且可以保证极好效率与正确性,这是手工作业所无法比及。目前,我国这方面应用还处于起步阶段,大部分
9、学校还在用纸质材料,这无疑是一种巨大浪费。因此,这个系统广泛应用将会带来巨大利益,同时,将提高管理人员工作效率与质量。普通人只要学习操作说明,就会使用这个系统。功能要求: 系统管理:添加用户,删除用户,修改密码,重新登录。 学籍管理:档案浏览,档案添加,档案删除,档案查询,档案修改。 课程管理:课程设置,选课设置。23 学生学籍管理信息系统特点(1)采用 Windows 操作界面,简单易用,用户可以在使用同时获得实时帮助。(2)采用数据库与程序分开设计方式,他们之间通过驱动程序连接,以使系统达到较高可靠性与扩展性。(3)如果有需要,可以给系统加上一个网络模块,用户可以远程登陆,然后根据其拥有权
10、限执行相应功能,比如浏览信息或修改信息。24 用户平台要求系统主要使用于高校局域网,Win98、Win2000 、WinNT等环境下, Vb连接数据库,本系统需要DBMS放入学生学籍数据库。可进行查询,修改、处理等。3 业务逻辑与数据流图31 数据流图管理人员学生学籍管理信息系统 输入添加用户 删除用户 当前输入修改密码学生重新登录 学生信息0层数据流图2处理要求查询要求 检查有效性 有效管理要求 有效查询要求3处理查询学籍管理要求 学生情况无效输入 当前输入 1层数据流图 档案查询目录文件 要求处理类型 档案浏览 管理要求 档案添加 档案删除 档案修改学生信息查询 学生情况 查询类型处理 查
11、询学生情况 数据文件 查询要求 统计处理 学生情况 统计表 2层数据流图学生档案学籍学生地址信息专业信息学号姓名院系血型出生日期专业民族家庭住址班级 籍贯 学生学籍管理系统E-R图4. 数据调查及分析41原始数据编写说明:本节描述原始数据调查结果,列出数据清单。原始数据描述:数据名称:学生学籍管理信息系统简述:系统中随时可以查询。来源:每学期考试完毕由各系录入成绩,然后由教务科收集去处:学生,教师组成:存储学生信息档案,学生课程设置等,用于存放学生在校期间有关信息。登录成功选择操作开始用户管理学籍管理班级管理退出系统添加修改查询结束NY4.2 数据字典数据项数据字典是系统中各类数据描述集合,是
12、进行详细数据收集与数据分析所获得主要成果,数据字典是对系统所用到所有表结构描述,学籍管理主要数据见下表。专业信息表学期信息表学生信息表学生成绩班级课程课程设计5 概念结构设计概念结构设计是整个数据库设计关键,它通过对用户需求进行综合、归纳及抽象,形成独立于具体DBMS概念模型。5.1数据流图数据流图表达了数据与处理关系,根据用户需求分析与高校学籍管理系统需求,得出如下图1-1所示学籍管理数据流图。学生信息管理系统学籍管理功能课程管理功能成绩管理功能学籍添加学籍修改学籍查询课程添加课程修改课程查询成绩添加成绩修改成绩查询系统功能模块设计图如图所示5.2 系统E-R图对于学生信息管理,我们可以将学
13、生实体抽象出来,学生属于学院可以将学院作为一个实体,学生所属专业与毕业信息都将可以作为一个实体。学生实体E-R图专业实体E-R图在学生信息管理中存在这样关系:选择(一个学生只能选择一个专业,而一个专业可以供多个学生选择,故是多对一关系)、学习(一个学生只能在一个院系学习,而一个院系可以供多个学生学习,故是多对一关系)。学生关系E-R图教师关系E-R图对于学生学籍管理信息管理,我们可以将课程实体抽象出来。课程实体E-R图在信息管理中存在这样关系:毕业(一个学生拥有一个毕业信息,而一个毕业信息只属于一个学生,故是一对一关系)、选修(一个学生可以选修多门课程,而一门课程可以被多个学生选修,故是多对多
14、关系)、开设(一个专业可以开设多门课程,而一门课程可以被多个专业选择,故是多对多关系)、授课(一门课程可以被多个教师讲授,而一个教师可以讲授多门课程,故是多对多关系)。选修管理关系E-R图以上是本系统中基本实体与关系,本系统是将其分步找出来加以描述。 ado 链接技术代码实现:Public txtsql As StringPublic username As StringPublic qxstr As StringPublic qxstra As String执行相应SQL命令 mycon.ConnectionString = connstring Dim stokens() As Strin
15、g On Error GoTo exectuesql_error stokens = Split(sql) If InStr(INSERT,DELETE,UPDATE, UCase(stokens(0) Then mycon.Execute sql Else rst.Open Trim(sql), mycon, adOpenKeyset, adLockOptimistic Set ExecuteSQL = rst End Ifexectuesql_exit: Set rst = Nothing Set mycon = Nothing Exit Functionexectuesql_error:
16、 Resume exectuesql_exitEnd Function连接字符串,用户可以根据自己数据库进行修改相应参数Public Function connstring() As String connstring = Provider=SQLOLEDB.1;Persist Security Info=False;UID=sa;PWD=;Initial Catalog=StuMIS;Data Source=(local)End Function检查用户权限Public Function Executeqx(ByVal txt As String) As String Dim sql As
17、String mycon.ConnectionString = connstring sql = select 标识 from 用户 where 用户名= & username & rst.Open Trim(sql), mycon, adOpenKeyset, adLockOptimistic If rst.EOF = True Then MsgBox 非法用户!, vbExclamation + vbOKOnly, 警告 Executeqx = nothing Exit Function End If If rst.Fields(0) = 1 Then Executeqx = admin
18、Exit Function End If If rst.Fields(0) = 0 Then Executeqx = readonly Exit Function End If On Error GoTo exectuesql_errorexectuesql_exit: Set rst = Nothing Set mycon = Nothing Exit Functionexectuesql_error: Resume exectuesql_exitEnd Function5.4 概念模型概念模型是在对用户需求分析之后,通过画出本系统抽象出E-R图,由概念模型辅助工具Visual Basic进
19、行设计,通过具体地设置与绘图,最后就形成了如下所示概念模型图,生成概念结构就能真实、充分地反映现实世界,包括事物与事物之间联系,能满足用户对数据处理要求,是对现实世界一个真实模型。6 逻辑结构设计逻辑结构设计就是把概念结构设计阶段设计好基本E-R图转换为及选用DBMS产品所支持数据模型相符合逻辑结构。设计逻辑结构一般分为3步进行:(1)将概念结构转换为一般关系、网状、层次模型;(2)将转换来关系、网状、层次模型向特定DBMS支持下数据模型转换;(3)对数据模型进行优化。6.1 关系模型将E-R图转换为关系模型实际上就是要奖实体型、实体属性与实体型之间联系转换为关系模式,这种转换一般遵循如下原则
20、:一个实体型转换为一个关系模式。实体属性就是关系属性,实体码就是关系码。对于实体型间联系则有以下不同情况:(1)一个1:1联系可以转换为一个独立关系模式,也可以及任意一端对应关系模式合并。如果转换为一个独立关系模式,则及该联系相连个实体码以及联系本身属性均转换为关系属性,每个实体码均是该关系侯选码。如果及某一端实体对应关系模式合并,则需要在关系模式属性中加入另一个关系模式码与联系本身属性。(2)一个1:n联系可以转换为一个独立关系模式,也可以及n端对应关系模式合并。如果转换为一个独立关系模式,则及该联系相连个各实体码以及联系本身属性均转换为关系属性,而关系码为n端实体码。(3)一个m:n联系转
21、换为一个关系模式。及该联系相连个实体码以及联系本身属性均转换为关系属性,各实体码组成关系码或关系码一部分。(4)3个或3个以上实体间一个多元联系可以转换为一个关系模式。及该多元联系相连各实体码以及联系本身属性均转换为关系属性,各实体码组成关系码或关系码一部分。(5)具有相同码关系模式可合并。将概念结构设计阶段设计好基本E-R图转换为关系模型,如下所示:n 学生(学号,专业号,院系号,姓名,性别,出生日期,入学时间,政治面貌,家庭住址,籍贯,邮政编码,民族),此为学生实体对应关系模式。n 课程(课程号,课程名,学分),此为课程实体对应关系模式。n 开设(专业号,课程号),此为专业开设课程关系对应
22、关系模式。7 物理结构设计及功能实现7.1 物理结构设计数据库物理设计就是为一个给定逻辑数据模型选取一个最适合应用要求物理结构过程。物理结构设计阶段实现是数据库系统内模式,它质量直接决定了整个系统性能。因此在确定数据库存储结构与存取方法之前,对数据库系统所支持事务要进行仔细分析,获得优化数据库物理设计参数数据库物理设计通常分为两步:(1)确定数据库物理结构,在关系数据库中主要指存取方法与存取结构;(2)对物理结构进行评价,评价重点是时间与空间效率。7 确定数据库存储结构由于本系统数据库建立不是很大,所以数据存储采用是一个磁盘一个分区。7 存取方法与优化方法存取方法是快速存取数据库中数据技术。数
23、据库管理系统一般都是提供多种存取方法。常用存取方法有三类。第一类是索引方法,目前主要是B+树索引方法;第二类是聚簇方法;第三类是HASH方法。数据库索引类似书目录。在书中,目录允许用户不必浏览全书就能迅速地找到所需要位置。在数据库中,索引也允许应用程序迅速找到表中数据,而不必扫描整个数据库。在书中,目录就是内容与相应页号清单。在数据库中,索引就是表中数据与相应存储位置列表。使用索引可以大大减少数据查询时间。但需要注意是索引虽然能加速查询速度,但是为数据库中每张表都设置大量索引并不是一个明智做法。这是因为增加索引也有其不利一面:首先,每个索引都将占用一定存储空间,如果建立聚簇索引(会改变数据物理
24、存储位置一种索引),占用需要空间就会更大;其次,当对表中数据进行增加、删除与修改时候,索引也要动态地维护,这样就降低了数据更新速度。7.2 功能实现完成数据库物理设计之后,设计人员就要用RDBMS提供数据定义语言与其他实用程序将数据库逻辑设计与物理设计结果严格描述出来,成为DBMS可以接受源代码,再经过调试产生目标模式。然后就可以组织数据入库,最后就在此基础上编写各个表相关触发器与存储过程。7 触发器触发器是用户定义在关系表上一类由事件驱动特殊过程。一旦定义,任何用户对表增、删、改操作均由服务器自动激活相应触发器,在DBMS核心层进行集中完整性控制。由于本系统触发器比较多,在这里我只写出了其中
25、一部分触发器。主窗体代码实现:Private Sub bjcx_Click(Index As Integer)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub bjkcsz_Click(Index As Integer)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub bjll_Click(Index As
26、 Integer)End SubPrivate Sub bjsc_Click(Index As Integer)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub bjtj_Click(Index As Integer)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub cjll_Click(Index As
27、Integer)End SubPrivate Sub cjsc_Click(Index As Integer)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub cjtj_Click(Index As Integer)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub cjxg_Click(Index As I
28、nteger)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub cxdl_Click(Index As Integer)Unload MeEnd SubPrivate Sub dacx_Click(Index As Integer)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub dall_Click(In
29、dex As Integer)End SubPrivate Sub dasc_Click(Index As Integer)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub datj_Click(Index As Integer)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub daxg_Click(Ind
30、ex As Integer)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub kcsz_Click(Index As Integer)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub Picture1_Click()End SubPrivate Sub scyh_Click(Index As Integer
31、)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub tc_Click(Index As Integer)Unload MeEnd SubPrivate Sub tjyh_Click(Index As Integer)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub xgmm_Click(Index As I
32、nteger)End SubPrivate Sub xksz_Click()If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub xqsz_Click(Index As Integer)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub yxsz_Click(Index As Integer)If qxstra
33、= 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd SubPrivate Sub zysz_Click(Index As Integer)If qxstra = 0 ThenMsgBox 你没有权限进行操作!, vbExclamation + vbOKOnly, Exit SubEnd IfEnd Sub(1)数据更新CREATE TRIGGER scupdate ON dbo.student /建立学生信息表更新触发器FOR UPDATE ASUPDATE SC /更新学生选课表SCSET SNO
34、= (SELECT SNO FROM INSERTED) /将SC表中学号改成学生表改后WHERE SNO = (SELECT SNO FROM DELETED); /更改对应学生学号CREATE TRIGGER graduateupdate ON dbo.student /建立学生信息表更新触发器FOR UPDATE ASUPDATE GRADUATE /更新学生毕业信息表GRADUATESET SNO = (SELECT SNO FROM INSERTED) /将GRADUATE表中学号改成学生表修改后WHERE SNO = (SELECT SNO FROM DELETED); /更改对应
35、学生学号CREATE TRIGGER majorupdate ON dbo.student /建立学生信息表更新触发器FOR UPDATE ASUPDATE MAJOR /更新专业信息表MAJORSET SNO = (SELECT SNO FROM INSERTED) /将MAJOR表中学号改成学生表修改后WHERE SNO = (SELECT SNO FROM DELETED); /更改对应学生学号CREATE TRIGGER student1 ON dbo.major /建立专业信息表更新触发器FOR UPDATE ASUPDATE STUDENT /更新学生信息信息表STUDENTSET
36、 MNO = (SELECT MNO FROM INSERTED) /将STUDENT表中专业号改成专业表修改后WHERE MNO = (SELECT MNO FROM DELETED); /更改对应专业号CREATE TRIGGER student2update ON dbo.department /建立院系信息表更新触发器FOR UPDATE ASUPDATE STUDENT /更新学生信息信息表STUDENTSET DMPNO = (SELECT DMPNO FROM INSERTED) /将STUDENT表中院系号改成专业表修改后WHERE DMPNO = (SELECT DMPNO
37、FROM DELETED); /更改对应院系号 (2) 数据删除CREATE TRIGGER sc1update ON dbo.course /建立课程信息表删除触发器FOR DELETEASUPDATE SC /删除选课信息表SCSET CNO = NULL /删除SC表中课程号删除WHERE CNO = (SELECT CNO FROM DELETED) /找到对应课程号CREATE TRIGGER stu_majorupdate ON dbo.major /建立专业信息表删除触发器FOR DELETE ASUPDATE STUDENT /删除学生信息表STUDENT SET MNO =
38、NULL /删除STUDENT 表中专业号删除WHERE MNO = (SELECT MNO FROM DELETED) /找到对应专业号CREATE TRIGGER teacherupdate ON dbo.department /建立院系信息表删除触发器FOR DELETE ASUPDATE TEACHER /删除教师信息表TEACHER SET DMPNO = NULL /删除TEACHER表中院系号删除WHERE DMPNO = (SELECT DMPNO FROM DELETED) /找到对应院系号登录窗体代码实现:Private Sub Command1_Click() txtsq
39、l = select 用户名,标识 from 用户 where 用户名= & Trim(Text1.Text) & Set mrc = ExecuteSQL(txtsql) If mrc.EOF = True Then MsgBox 用户名错误!, vbExclamation + vbOKOnly, 警告 Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) Exit Sub End If username = mrc.Fields(0) qxstra = mrc.Fields(1) txtsql = select 密码 from 用户 wh
40、ere 密码= & Trim(Text2.Text) & Set mrc = ExecuteSQL(txtsql) If mrc.EOF = True Then MsgBox 密码错误!, vbExclamation + vbOKOnly, Text2.SelStart = 0 Text2.SelLength = Len(Text2.Text) Exit Sub End If Unload MeEnd SubPrivate Sub Command2_Click() Unload MeEnd SubPrivate Sub Form_Load()Text1.Text = Text2.Text =
41、End SubPrivate Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)End SubPrivate Sub Label3_Click()End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then End IfEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then End IfEnd Sub代码实现:Private Sub Command1_Click()If Text14.Text = ThenMsgBox 输入查找学号!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfIf Text15.Text = ThenMsgBox 输入查找姓名!, vbExclamation + vbOKOnly, 警告Exit SubEnd Iftxts