张帆 计算机-员工信息查询系统_第1页
张帆 计算机-员工信息查询系统_第2页
张帆 计算机-员工信息查询系统_第3页
张帆 计算机-员工信息查询系统_第4页
张帆 计算机-员工信息查询系统_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、论文提纲一、可行性研究(一)技术可行性(二)经济可行性(三)营运可行性二、系统总体设计(一)开发工具平台(二)数据库分析(三)数据流图(四)系统功能结构图三、详细设计(一)登陆窗口子模块(二)学生档案资料录入子模块(三)档案信息查询子模块(四)学生成绩录入子模块(五)学生成绩查询子模块(六)学生学籍导入子模块(七)学生学籍管理子模块(八)系统菜单学生学籍管理系统【摘要】学生学籍管理系统被广泛应用于各类学校的学生学籍管理工作中,要求其具有实用性强、使用方便、效率高和安全可靠等特点。本管理系统正是围绕以上几个方面进行开发的,在开发过程中充分考虑到本系统的应用特点,并进行了大量的检验,证明其的确达到

2、了设计的要求,是一个已具备了实际应用能力的软件。本文主要论述学生学籍管理系统的开发过程。在涉及到VB及Access中的部分知识以举例的方式进行讲解。【关键词】学生档案管理;查询;窗体;模块学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它

3、已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我将以开发学生档案管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。 现在我国的中小学校中档案的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然

4、被计算机为基础的信息管理所取代。一、可行性研究 可行性研究是系统分析阶段的第二项活动。此活动的主要目标是:进一步明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行调查分析并根据需要和可能提出开发系统的初步方案与计划。可行性研究是对系统进行全面、概要的分析。通过调查分析,新系统设计方案有以下三个可行性:(一)技术可行性: 本系统采用MS Windows 98作为操作平台。数据库开发平台选用Ms Visual Foxpro 6,该数据库管理系统在MS Windows 98和MS Windows 2000 Professional上都能运行,并提供数据库之间的数据复制功能,可代替现有系统单

5、据数据的手工传递工作,降低出错率,提高数据的可用性。本系统的应用软件开发平台也选用Ms Visual Foxpro 6,这是目前数据库应用软件的主流开发平台。(二)经济可行性: 采用新的学籍信息管理系统可取代原系统的单据手工传递工作,减少人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理周期,提高学生信息的利用率,使教学质量更上一个台阶。(三) 营运可行性:本系统操作简单,易于理解,只需通过简单培训,上手较快,学校学籍管理处的教职员以及相关教师均能进行操作,营运环境要求低。面对于系统设计还应该以“标准性、安全性、兼容性、高效性、保密性、可维护性”为标准,在着眼于当前实用的基础上,为将

6、来系统的扩展,升级留有余地。软件的开发应     能在较长时间内满足学校的发展需要。故新系统还需要满足以下这几个标准:(1) 标准性:系统的软硬件选型都应该采用工业化标准,这样既可以保证系统运行质量又可以分享在此标准上的每一次技术进步。(2) 可靠性:由于学籍信息的重要性,系统的软硬件应均为质量可靠,并采用RAID 0+1廉价磁盘冗余保护技术,确保不会由于软硬件故障造成系统运行终止而使用户蒙受损失。(3) 安全性:通过软件的编制及硬件设置,控制使用者接触数据的权限,从而确保使用者无法操作与其无关的数据。(4) 兼容性:系统的所有软硬件理论上都应有100%的兼容性,

7、用以保证软硬件的可互换性。(5) 高效性:由于学校学生信息每次处理的信息量较大,因此系统对信息的处理能力,响应能力都应是快速而有效的,在软件编制过程中应充分考虑到这一点。(6) 可维护性:系统软件设计时应采用结构化模块设计,以便于开发和维护,也有利于根据情况随时进行功能调整。同时在系统开发时应该充分考虑到用户的日常维护,使之能简便易行通过可行性分析研究,认为新系统的开发方案切实可行,可进行开发。二、系统总体设计 (一)开发工具平台Visual Basic 6.0 中文版是Microsoft公司最新推出的可视化开发工具,是Visual Basic语言的最新版本,与前期版本相比,增加了许

8、多新的功能。Visual Basic是在原有Basic语言基础上的进一步发展,它包含了数百条语句、函数及关键词,其中有很多与Windows GUI有直接关系。Visual Basic语言简单易学,只要稍有语言基础就可以很快掌握并进而精通。可视化的用户界面设计功能,把程序设计人员从繁琐复杂的界面设计中解脱出来;可视化编程环境的“所见即所得功能(WYSIWYG)”功能,使界面设计如同积木游戏一般,编程变成了一种享受;强大的多媒体功能可以轻而易举的开发出及声音、动画、影像、和图片于一体的多媒体应用程序;新增的网络功能提供了编写Internet程序的能力。Visual Basic 6.0 中文版还支持

9、用户自己开发ActiveX控件和制作ActiveX文档。作为高质量的开发软件,Visual Basic 6.0 中文版有如下优点:1、完全中文化的环境使用户更容易操作,用户在几分钟内,就可以熟悉Visual Basic 6.0 的开发环境。2、语句生成器和快速提示帮助使用户不必记忆成千上万的属性和方法,在较短的时间内就能开发出功能强大的应用程序。3、在Visual Basic 6.0中,Internet应用程序的开发功能更加强大和容易。4、种类繁多、功能强大的多媒体控件。5、Visual Basic 6.0 在数据库处理功能上有较大增强,能对多种数据库进行读写操作。6、新的语言特征。7、【应用

10、程序安装向导】大大加快了程序的开发速度。(二)数据库表结构设计根据分析阶段得出的的结论,结合本系统对有关数据的存储的需要,更加方便实现该学籍管理开发系统的所有功能。现将本系统设计成6个数据库表,每个表的字段名、类型、宽度设计如下:(1)学生基本信息表该表用来存放学生入学注册的个人基本信息。字段名类型宽度学籍号字符型10姓名字符型2性别字符型10出生年月字符型10班级字符型8家庭住址字符型11父母姓名字符型30联系电话字符型10毕业级别字符型10奖惩记载字符型10学生简历字符型10设计说明:为方便编程以及人们工作习惯,这里将学籍号、出生年月、联系电话等都设计成字符型。并根据实际需要设计了相应的宽

11、度。(2)学生成绩表该表用来存放学生在校期间的个人成绩信息。字段名类型宽度学号字符型10姓名字符型8科目数字型3成绩数字型3学期数字型3(3)学生学籍表用来存放学生在校期间的评语信息。字段名类型宽度学号字符型10姓名字符型10奖贷学金字符型10异动字符型8军训等级备注型0毕业去向备注型0(4)教学计划表用来存放教学信息。字段名类型宽度课程号字符型10课程名字符型10学分数字型2年级字符型10备注备注型4另外,系统还设置用户管理表。字段包括:用户帐号,用户密码,级别,联系电话。(三)数据流图数据流图描绘系统的逻辑模型图,其中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流

12、图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具。此外,设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它也是软件设计的很好的出发点。 学籍管理系统主要是为了对学生基本信息、成绩、学籍等进行计算机管理。所以主要的数据源应是学生的各种信息。(1)学生基本信息流程图 F2 XSXJ 添加新记录 修改记录 F1 XSDA学号等 输入学生 检查是 信息 信息资料 否注册 删除记录 检索记录 窗体 报表 F1 XSDA流程图分析:从流程图上可以看出:学生基本信息的流动首先是以学籍号的特征为流动方向的依据。非0学号可以继续流动,

13、并检验数据库学生档案表检查是否已经注册,已经注册的信息可以修改、查询、并将查询结果报表。未注册的信息可以录入到数据库中。为了数据的一致性,这里添加记录的同时,也对数据库中的另一表学生学籍表记录对应的学籍号,姓名。这里可以分析得出:要实现学生基本信息的流动,需要设计一个学生基本信息数据库表(XSDA),学生学籍数据库表(XSXJ)。并对该数据库表可以实现信息的录入、修改、查询、统计、报表。(2)学生成绩信息流程图 F3 XF >=60 .T. 修改 F4JXJH 添加新记录 修改记录 F2 XSCJXX学号 输入学生 检查是 科目 相应成绩 否注册 删除记录 检索 表单 报表 F2XSCJ

14、XX 统计 表单 报表统计条件 输入 条件流程图分析:从流程图上可以看出:学生成绩信息的流动同样是以学籍号的特征为流动方向的依据。系统首先输入学籍号,科目,考试时间等信息,系统首先校验是否已经记录,对没有记录的成绩可以实现添加到成绩表中,同时判断成绩是否大于等于60分,对大于等于60分的成绩同时对该学籍号的学生将其对应的学分表中的学分记录修改。修改的标准是依据该科目教学计划中的设置的学分为依据。这里同样可以分析得出:要实现学生成绩信息的流动,需要设计一个学生成绩信息数据库表(XSCJ)。教学计划表(JXJH)。并对该数据库中相关的表实现信息的录入、修改、查询、统计、报表。(3)学生学籍信息流程

15、图 添加新记录 修改记录 F5 XSXJ学号 输入学生 检查是 资料 否注册 删除记录 检索记录 窗体 报表 F5 XSXJ流程图分析:从数据流图上容易看出该系统应具有对学籍信息录入到数据库中,学籍信息包括:学籍号,姓名,奖贷学金,学生异动,军训等级,毕业去向等。可以修改甚至删除数据库中相关信息资料。可以对数据库的信息按某些字段或字段组合进行检索。同时应具有对数据库的信息作出相关统计等功能。(4)教学计划设置信息流程图 添加新记录 修改记录 F4 jxjh科目 输入课程 检查是 信息 否注册 删除记录 检索记录 窗体 报表 F4 JXJH流程图分析:从数据流图上容易看出该系统应具有科目设置计划

16、进行管理。即可以对教学计划进行维护的功能,维护的字段包括:科目号,科目名,年级,学分,备注。具体的数据流程是:首先输入科目号,科目名,对相应的数据库表进行校验,对没有登记的记录可以进行添加。对已经有的记录可以对其相应的字段进行维护。包括修改,删除。同时系统还可以对数据库中的记录进行检索。检索的结果显示在窗体中。(四)系统功能结构图其是成绩的检索、成绩的统计要具备从不同的角度能够对数据库中的记录进行特定条件的检索和统计。在此基础上,总结得到如下的系统功能结构图:编辑基本信息基本信息模块 检索基本信息 基本信息报表 导入学籍信息子模块 学籍信息模块 编辑学籍信息子模块 学籍信息报表 成绩编辑子模块

17、 成绩管理模块 成绩查询子模块 成绩报表子模块 教学计划编辑子模块 教学计划模块 教学计划查询子模块 教学计划报表子模块三、详细设计(一)登陆窗口子模块本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在USER表中,本系统根据不同的用户而设置了不同的权限,可以用admin;admin为用户名和密码来登陆本系统。(1)登陆按钮源代码:Private Sub Command1_Click()Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open "PROV

18、IDER=Microsoft.Jet.OLEDB.3.51;Data Source=ezxj.mdb;" Set adoPrimaryRS = New Recordset a = Text1.Text b = Text2.Text adoPrimaryRS.Open "select * from user where 用户名='" & a & "' and 密码='" & b & "'", db, adOpenStatic, adLockOptimisticIf

19、 adoPrimaryRS.EOF ThenMsgBox ("用户名或密码错误!")Static numcount As Integernumcount = numcount + 1 If numcount = 3 Then numcount = 0 MsgBox ("三次口令错,将退出程序!") Unload Me End IfElse If adoPrimaryRS.Fields("级别") = "管理员" Then x = 1 Else x = 0 End If Unload Me Form7.ShowEnd

20、 IfEnd Sub(2)重填按钮源代码:Private Sub Command3_Click()Text1.Text = ""Text2.Text = ""End Sub(二)学生档案资料录入子模块(1)运行时的窗体(2)控件和事件a)“网格”容器控件:显示档案柜中的数据信息。数据源设定为档案柜表的查询记录集。在窗体的装载事件load中用语句控制。语句是:adoPrimaryRS.Open "select 学籍号,姓名,性别,出生年月,班级,家庭住址,父母姓名,联系电话,奖惩记载,学生简历 from xsda", db, adOpe

21、nStatic, adLockOptimistic Set DataGrid.DataSource = adoPrimaryRSb)“最首”按钮控件:click事件是将当前窗体中的网格控件中的信息和文本框控件中的信息指向数据库表查询记录集中的第一条记录。利用SQL语句实现在数据库中查询符合条件的所以记录,并在表单中的网格容器中用指针定位。同时文本框也显示相应的记录信息。如果无相应的记录,系统将给出提示。实现关键语句如下:adoPrimaryRS.MoveFirstText1.Text = adoPrimaryRS.Fields("学籍号") Text2.Text = ado

22、PrimaryRS.Fields("姓名") Text3.Text = adoPrimaryRS.Fields("性别") Text4.Text = adoPrimaryRS.Fields("出生年月") Text5.Text = adoPrimaryRS.Fields("班级") Text6.Text = adoPrimaryRS.Fields("家庭住址") Text7.Text = adoPrimaryRS.Fields("父母姓名") Text8.Text = ado

23、PrimaryRS.Fields("联系电话") Text9.Text = adoPrimaryRS.Fields("奖惩记载") Text10.Text = adoPrimaryRS.Fields("学生简历")c)“下一条”按钮控件:click事件是将网格中的,文本框中的信息同时指向当前记录的下一条记录。如果越界就给出已经是最后一条记录的提示,并将记录定位在最后一条记录。实现语句:adoPrimaryRS.MoveNextIf adoPrimaryRS.EOF ThenMsgBox ("已经是第后一条记录了!"

24、)adoPrimaryRS.MoveLastElseText1.Text = adoPrimaryRS.Fields("学籍号") Text2.Text = adoPrimaryRS.Fields("姓名") Text3.Text = adoPrimaryRS.Fields("性别") Text4.Text = adoPrimaryRS.Fields("出生年月") Text5.Text = adoPrimaryRS.Fields("班级") Text6.Text = adoPrimaryRS.

25、Fields("家庭住址") Text7.Text = adoPrimaryRS.Fields("父母姓名") Text8.Text = adoPrimaryRS.Fields("联系电话") Text9.Text = adoPrimaryRS.Fields("奖惩记载") Text10.Text = adoPrimaryRS.Fields("学生简历")End Ifd)“上一条” 按钮控件:click事件是将网格中的,文本框中的信息同时指向当前记录的上一条记录。如果越界就给出已经是第一条记录的

26、提示,并将记录定位在第一条记录。实现语句:adoPrimaryRS.MovePreviousIf adoPrimaryRS.BOF ThenMsgBox ("已经是第一条记录了!")adoPrimaryRS.MoveFirstElseText1.Text = adoPrimaryRS.Fields("学籍号") Text2.Text = adoPrimaryRS.Fields("姓名") Text3.Text = adoPrimaryRS.Fields("性别") Text4.Text = adoPrimaryRS

27、.Fields("出生年月") Text5.Text = adoPrimaryRS.Fields("班级") Text6.Text = adoPrimaryRS.Fields("家庭住址") Text7.Text = adoPrimaryRS.Fields("父母姓名") Text8.Text = adoPrimaryRS.Fields("联系电话") Text9.Text = adoPrimaryRS.Fields("奖惩记载") Text10.Text = adoPrim

28、aryRS.Fields("学生简历")End Ife) “最末”按钮控件:click事件是将当前窗体中的网格控件中的信息和文本框控件中的信息指向数据库表查询记录集中的第后一条记录。利用SQL语句实现在数据库中查询符合条件的所以记录,并在表单中的网格容器中显示。如果无相应的记录,系统将给出提示。实现关键语句如下:adoPrimaryRS.MoveLastText1.Text = adoPrimaryRS.Fields("学籍号") Text2.Text = adoPrimaryRS.Fields("姓名") Text3.Text =

29、adoPrimaryRS.Fields("性别") Text4.Text = adoPrimaryRS.Fields("出生年月") Text5.Text = adoPrimaryRS.Fields("班级") Text6.Text = adoPrimaryRS.Fields("家庭住址") Text7.Text = adoPrimaryRS.Fields("父母姓名") Text8.Text = adoPrimaryRS.Fields("联系电话") Text9.Text

30、= adoPrimaryRS.Fields("奖惩记载") Text10.Text = adoPrimaryRS.Fields("学生简历")f) “添加”按钮控件:click事件是添加新的学生档案记录,实现的原理是对数据库查询的记录集添加一条新的记录,然后修给这条空记录的值,达到对数据库表中的学生档案记录添加的目的。实现的语句如下:adoPrimaryRS.AddNewadoPrimaryRS.Fields("学籍号") = Text1.TextadoPrimaryRS.Fields("姓名") = Text2.

31、TextadoPrimaryRS.Updateg)“编辑”按钮控件:click事件是将记录集中当前记录在文本框中进行修改,然后更改记录集中相应的记录。来达到修改数据库中的记录的目的。和添加相比不需要adoPrimaryRS.AddNew这个语句。实现的主要语句是:adoPrimaryRS.Fields("学籍号") = Text1.TextadoPrimaryRS.Fields("姓名") = Text2.TextadoPrimaryRS.Updateh)“查找”按钮控件:click事件是激活查询窗体。语句是:Form2.Showi)“删除”按钮控件:c

32、lick事件是删除当前记录。同时数据库记录指针指向当前记录的上一条记录。adoPrimaryRS.DeleteadoPrimaryRS.MovePreviousIf adoPrimaryRS.BOF ThenadoPrimaryRS.MoveFirstEnd IfText1.Text = adoPrimaryRS.Fields("学籍号") Text2.Text = adoPrimaryRS.Fields("姓名") Text3.Text = adoPrimaryRS.Fields("性别")j)“退出”按钮控件:click事件是释放

33、当前窗体,返回主控系统。实现语句是:Unload Me(三)档案信息查询子模块(1)运行时的窗体 (2)控件和事件a)“网格”容器控件:显示学生档案数据库里面的中的数据信息。数据源设定为档案数据库的查询记录集。在窗体的装载事件load中用语句控制。装载时默认是所有记录。语句是:adoPrimaryRS.Open "select 学籍号,姓名,性别,出生年月,班级,家庭住址,父母姓名,联系电话,奖惩记载,学生简历 from xsda", db, adOpenStatic, adLockOptimistic Set DataGrid1.DataSource = adoPrima

34、ryRSb)“选择”按钮控件:click事件是将当前窗体中的文本控件中的关键字作为查询的关键字。查询可以是按照学生学籍号或者姓名。查询类别和关键字可以根据用户的需要设定。查询的结果显示在网格控件中。 实现关键语句如下:a = Combo1.Text b = Text1.Text adoPrimaryRS.Open "select 学籍号,姓名,性别,出生年月,班级,家庭住址,父母姓名,联系电话,奖惩记载,学生简历 from xsda where " & a & " like '%" & b & "%

35、9;", db, adOpenStatic, adLockOptimistic Set DataGrid1.DataSource = adoPrimaryRSc)“导出”按钮控件:click事件是将查询记录集中的的查询结果导出到报表专家excel中去。导出的实质就是将记录集中的记录用一个双循环作为excel的记录源。从而实现导出。实现语句:adoPrimaryRS.MoveFirst i = 0 Do While (adoPrimaryRS.EOF = False) For j = 0 To adoPrimaryRS.Fields.Count . 1 DataGrid1.Col =

36、j xlsheet.Cells(i + 2, j + 1) = DataGrid1.Text Next j adoPrimaryRS.MoveNext i = i + 1 Loop导出到excel后的窗体如下:在excel环境下我们就可以根据用户的需要轻松制作出符合用户的各种表报。(四)学生成绩录入子模块(1)运行时的窗体(2)控件和事件控件包括4个文本框、5个按钮控件和一个网格控件。文本框完成对学生输入成绩的科目和时间的设定。对于同样科目同一考试时间的成绩的录入。这样设定后对于录入成绩很方便。每个记录输入后这2个文本框的信息是不改变的。还有2个文本框是录入学生学籍号和成绩。5个按钮控件分别是

37、输入,修改,删除重新设定和退出。下面将对按钮控件做详细分析。网格控件默认的数据源是学生成绩库里面的所有数据。在装载时用语句实现:adoPrimaryRS.Open "select 学籍号,姓名,科目,成绩,学期 from xscj", db, adOpenStatic, adLockOptimistic Set DataGrid1.DataSource = adoPrimaryRS下面对输入,修改,删除这三个按钮的事件和实现语句分析如下:a)“输入”按钮控件:click事件首先对学生档案库中的记录进行查询符合输入的学籍号记录。如果没有,则说明该生还没有注册,不能录入学生成绩

38、。如果查到学生记录,则将学生的姓名,已经输入的成绩信息一同作为学生成绩添加的信息。它的实现语句是:a = "学籍号"b = Text3.Text adoPrimaryRS1.Open "select 学籍号,姓名 from xsda where " & a & " like '%" & b & "%'", db, adOpenStatic, adLockOptimistic If adoPrimaryRS1.EOF = True Then MsgBox ("

39、该生还未注册") Else Set adoPrimaryRS2 = New Recordseta = "学籍号"b = Text3.Textc = "科目"d = Text1.Texte = "学期"f = Text2.Text adoPrimaryRS2.Open "select 学籍号,姓名,科目,学期 from xscj where " & a & " like '%" & b & "%' and " &

40、 c & " like '%" & d & "%' and " & e & " like '%" & f & "%'", db, adOpenStatic, adLockOptimistic If adoPrimaryRS2.EOF = True ThenadoPrimaryRS.AddNew2)“修改”按钮控件:网格开始的时候设定为不可编辑。现在对它的修改需要改变它的属性。click事件是将按钮名改成“保存”,增加了系统的交互

41、性,同时使网格变得可编辑。 “保存” 按钮控件的click事件是将按钮名改成“修改”,此时使文本框变得不可编辑,修改完成后,网格容器控件中的数据自动更新。它的实现语句是: If Command4.Caption = "成绩修改" ThenCommand4.Caption = "保存"DataGrid1.Enabled = TrueElseCommand4.Caption = "成绩修改"DataGrid1.Enabled = FalseEnd If3)“删除”按钮控件:成绩库的记录有时候会输入出错。当然一般可以通过修改更正,但是有时候

42、输入了一条完全没有意义的记录我们可以通过删除来完成整理数据库的目的。实现的语句如下:adoPrimaryRS.DeleteadoPrimaryRS.MovePreviousIf adoPrimaryRS.BOF ThenadoPrimaryRS.MoveFirst(五)学生成绩查询子模块(1)运行时的窗体(2)控件和事件该模块主要包括网格,文本框,按钮控件。网格默认的数据源是成绩库的所以记录。文本框用来设定和输入查询类别和查询关键字。查询可以从学籍号,姓名,班级,年级。以及考试时间等进行综合查询。即至少找到满足2个查询关键字的记录。导出按钮控件主要是将查询的结果导出到excel中。下面主要针对

43、查询按钮作一个主要分析:实现的语句如下:a = Combo1.Text b = Text1.Text c = "学期" d = Text2.Text If Combo1.Text = "班级" Then adoPrimaryRS.Open "select distinct 学籍号,姓名,科目,成绩,学期 from xscj where " & c & " like '%" & d & "%' and 学籍号 in (select 学籍号 from xsda

44、where " & a & " like '%" & b & "%')", db, adOpenStatic, adLockOptimistic Else adoPrimaryRS.Open "select distinct 学籍号,姓名,科目,成绩,学期 from xscj where " & a & " like '%" & b & "%' and " & c & &qu

45、ot; like '%" & d & "%'", db, adOpenStatic, adLockOptimistic End If Set DataGrid1.DataSource = adoPrimaryRS在查询中由于是综合查询。所以实现的语句用到了sql语句中的联合查询。具体的语句是:select distinct 学籍号,姓名,科目,成绩,学期 from xscj where " & c & " like '%" & d & "%' a

46、nd 学籍号 in (select 学籍号 from xsda where " & a & " like '%" & b & "%')(六)学生学籍导入子模块学生学籍里面的学籍号,姓名这些字段的信息不必专门输入。为了高效率和为了与档案记录的一致性我们可以首先将档案库的所有记录首先作为数据源显示在如下窗体的左边的档案网格中。然后将该网格的数据作为右边学籍库的数据源导入。同时对学籍库的其他字段自动设定为无。等以后随着学生的求学过程。我们可以动态的进行修改。导入按钮的click控件的源代码是:For i = 0

47、To DataGrid1.VisibleRows . 1DataGrid1.Row = iDataGrid1.Col = 0 If adoPrimaryRS.EOF = True Then adoPrimaryRS.AddNewadoPrimaryRS.Fields("学籍号") = DataGrid1.TextDataGrid1.Col = 1adoPrimaryRS.Fields("姓名") = DataGrid1.TextadoPrimaryRS.Fields("奖贷学金") = "无"adoPrimaryRS.Fields("异动") = "无"adoPrimaryRS.Fields("军训等

温馨提示

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

评论

0/150

提交评论