–––––––––––––––––摘 要–––––––––––––––––
学生信息管理系统是典型的信息管理系统 (MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我们使用MICROSOFT公司的VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
关键字:控件、窗体、域、数据库。
–––––––––––––––––前 言–––––––––––––––––
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。
本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。
本系统主要包括学生信息查询、教务信息维护和学生选课三部分。其功能主要有:
⒈有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。
⒉学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。
⒊学生信息的修改。
⒋班级管理信息的输入,包括输入班级设置、年级信息等。
⒌班级管理信息的查询。
⒍班级管理信息的修改。
⒎学生课程的设置和修改。
目 录
前言
- Visual Basic 概述
- Visual Basic 语言的特点
- Visual Basic 系统几个程序应用中的常用名词
- Windows 下的Visual Basic 编程环境简介
2.1 面对对象的编程
2.2 实现菜单选项
2.3 实现工具栏
- 怎样开发一个学生信息管理系统的查询模块
3.1 学生信息系统的设计分析
3.2 编程环境的选择
3.3 关系型数据库的实现
3.4 二者的结合(DBA)
- 使用Access2000 创建数据库
4.1 数据库的概念
4.2 新建一个数据库
4.3 修改已建的数据库
- 可行性分析
- 系统总体规划
6.1 系统功能
6.2 系统流程图
- 系统具体实现
7.1 各功能的实现
7.1.1 课程管理
7.1.2 打印统计
结束语
后记
主要参考文献
- Visual Basic 概述
1.1 Visual Basic 语言的特点
Visual Basic 语言用其设计应用程序时具有两个基本特点:可视化设计和事件驱动编程。
- 可视化设计:表现在VB在设计应用于程序界面时有“所见即所得”的处理功能。
- 事件驱动编程:在设计应用程序时,把对象添加到窗体中,在用户与程序进行交互时,用户基本上是通过鼠标、键盘与应用程序进行交互的,那些对象就必须对鼠标和键盘操作所引发的事件做出响应,来执行一段应用程序。
1.2 Visual Basic 系统几个在程序应用中的常用名词
Visual Basic 系统除了一般高级语言所具有的一些名词术语外,还有几个系统常用的名词。其基本含义如下:
- 视窗(Form)
视窗是进行人机交互的界面或接口,也叫窗体。VB系统的人机交互界面或接口,无论是在设计时或是在运行时,都是Windows 系统的标准视窗。
- 对象 (Object)
对象是VB系统内部提供给设计者可以直接使用的处理输出的控制工具。本程序所应用到的对象类型有标签框 (Label Box),文本框 (Text Box),命令按扭 (Command Button),网格 (Data Grid),ADO控件 (Adodc1)等。当把这些工具放置到用户界面对应的窗体上时,被称为对象或控件。用户可以通过设置对象的“属性”和“方法”,便于对象适应自己所设计应用程序的输入输出内容,对象的生成过程及结构都被封装起来。正确使用对象可以减少程序和开发时间,提高程序设计者的工作效率。
- 属性 (Properties)
属性是VB系统提供的有关对象的参数或数据接口。用户通过适当地设置或改变对象的属性来确定对象的外观及性能特征,从而有效地使用系统提供的对象。比如,对象的名称、在屏幕上显示的位置、大小、颜色、接收或容纳的数据内容及数据的表现格式等。
- 事件 (Events)
事件是指用户或操作者对计算机进行的某一操作(如击键、单击或移动鼠标等)的行为或系统状态发生的变化。VB系统常用事件来引导计算机执行一段程序。程序所用的键盘事件有KeyPress(按键)事件,KeyDown事件和KeyUp事件;鼠标事件有Click(单击鼠标)事件,DbDlicd(双击鼠标)。
- 方法 (Method)
方法主要是指对一个对象使用某种作用的过程。它是在程序执行的过程中要计算机执行的某种操作。其程序的方法有Show(显示)方法,Hide(隐藏)方法,Refresh(刷新)方法。
- 过程 (Procedure)
过程是指经过定义或说明的,或基于某一对象对应的事件所引发的程序段。
- 模块 (Module)
模块是指一些运算量或过程进行声明或定义的一个集合。系统程序大体可分成四个模块:数据输入、根据查询、数据打印和通讯。
第二章 Windows下的Visual Basic 编程环境简介
2.1 面对对象的编程
面向对象的设计方法 (OOP, Objected Programming) 从应用领域内的问题着手,以直观自然的方式描述客观世界的实体。Visual Basic 作为一种面向对象的编程方法,把程序和数据封装起来作为一个对象,并为每个对象赋予相应的属性。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,由 Visual Basic 自动生成对象的程序代码并封装起来。Visual Basic 应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。
Visual Basic 应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。
2.2 实现菜单选项
菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,Visual Basic 也提供了强大的创建菜单功能是程序更加标准。
本系统使用 Visual Basic 的菜单编辑器建立菜单或者修改已经存在的菜单,您也可以使用Visual Basic 的Application Wizard 来操作。
2.3 实现工具栏
CoolBar控件与Office2000 中看到的CoolBar是类似的。CoolBar就是一个可以在窗体上浮动的工具,同时也是其他ActiveX的容器。通过在CoolBar中迁入其他空间你也可以向用户提供更好的灵活性和义用性。
选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。在“控件”选项卡列表中选择“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。
本系统就用了Cool工具中的Statubar控件,在系统这一界面中,添加了状态栏,在第一个栏中,在样式这一栏中选择了文本,在第二个栏中,选择了系统日期,第三个栏中选择了系统时间,这样,任何时候操作本系统,都可以看到当前的时间和日期。
第三章 怎样开发一个学生信息管理系统的查询模块?
3.1查询模块的设计分析
根据实际情况,我们使用原型法(Rapid Prototyping) 即以少量代价快速地构造一个可执行的软件模型。使用户可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。
3.2编程环境的选择
微软公司的Visual Basic 6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应
用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。
3.3关系型数据库的实现
Access2000就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包同时拥有桌面数据库的便利和关系数据库的强大功能。
3.4二者的结合(DBA)
微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及Visual Basic来访问数据库并对其进行各种操作。Visual Basic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。
ADODC控件在数据库中的信息与将信息显示给用户看的Visual Basic 程序之间架起了一座桥梁。我们可以设置ADODC控件的各个属性,告诉它要调用那个数据库的哪个部分。缺省情况下,ADODC控件根据数据库中的一个或多个数据库表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。将ADODC控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。
第四章 使用Access2000创建数据库
4.1数据库的概念
数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。
4.2新建一个数据库
创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。
- 标识需要的数据;
- 收集被子标识的字段到表中;
- 标识主关键字字段;
- 规范数据;
- 标识指定字段的信息;
4.3修改已建的数据库
数据库的修改分为;添加、编辑和删除记录。这三种操作均可由Visual Basic创建的程序来完成,下面的章节将详细描述实现的具体方法。
第五章 可行性分析
学生信息,作为一个学校,就有一定的工作量存在,而学生信息,它的工作量可能是其它信息工作量的几倍,班级的增加、班级的查找、班级的修改;学生档案;课程管理;成绩管理;缴费管理;统计等等,每个信息的数据都在不断地变化着,如果采用人工的方式进行操作,那么,一天的工作量,足以让人觉得比较繁琐,吃不消。针对这样的情况,采用让数据的查询变得简单化,数据变的更让每个人都在任何时刻都可以了解到。
学生信息管理系统是为本校开发的,本系统所采用的语言是Visual Basic,用Microsoft Access 2000数据库完成。该系统总体有四部分组成,包括学生信息查询、教务信息维护、学生选课及用户管理。通过本系统,把本校内部查询学生信息、教务信息、学生选课各个环节进行有效地计划、组织和控制。通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。
本系统主要信息流程为:教务信息维护接受学生的信息,学生信息查询根据教务信息维护的学生信息做出对所接收的信息合理性进行判断,并交于信息维护进行相应的修改,再把信息存入数据库中。学生选课是对学生进行相应选择自己相关的课程。最后进行打印。
采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。由于采用统一的数据信息,使相关资料能够快速地查询所需的数据、资料及其它信息的,使信息快速高效运行。
本系统中使用到的数据表主要有班级表、成绩表、缴费表、课程表、学生档案、用户资料,由这六个表,组成了名为信息的数据库(如图一)。其中学生档案是本系统主要的
(图一)
一张表,所有信息都是根据这张学生档案进行有关的操作,主要的字段有:学号、姓名、年级、专业、性别、出生年月、民族、籍贯、政治面貌、家庭地址、邮政编码、联系电话、入学时间、备注。其中日期的数据类型为日期/时间天型,其它的数据类型为文本型;成绩表中字段为:学号、姓名、年级、专业、学期、考试时间、考试科目、考试地点、课程性质、科目分数、违纪类型、备注;课程表中字段为:专业、年级、学期、课程名称、教材、任课老师、课时、上课地点、课程性质、考试性质;用户资料中的字段包括:用户名、密码、身份。
数据库与VB的连接:本系统的数据链接采用的是ADO方法,打开控制面板,打开ODBC数据源图标,选择“系统DSN”标签,点击“添加”按钮,在弹出的“创建新数据源”对话框中选择名称为“Microsoft Access Drive(*.mdb)”,点击“完成”按钮,在ODBC Microsoft Access 安装对话框中在数据源名中输入信息,在数据库这个框中, 单击“选择”按钮,在弹出的选择数据库这一对话框架中,在驱动器下拉列表框中选择本系统数据库所在驱动器,在目录中选择库所在的文件夹,在文件类型中选择选“Access数据库(*.mdb)”,在数据库名中选择本系统的数据库,点击“确定”按钮即完成数据链接。
在VB中,用ADODC链接数据库,用DataGrid或DATA将库中的数据在界面中显示出来,本系统采用DataGrid。在界面上右击Adodc控制,在弹出的快捷菜单中选择属性,在属性对话框中,在“属性”这一标签中, 选中单选框“Use ODBC Data Source Name”,并在下拉文本框中选择已经配置好的数据源名信息,再在“RecordSoure”标签中,在Commard Text(SQL)文本框中输入查询语句,如:select * from 学生档案。同时,将桌面的DataGrid控件选中,在属性框中,将它的Datasoure设为Adodc。
我们可以设置DataGrid控件的外观:选中该控件,右击,在弹出的快捷菜单中选择“检索字段”,在弹出的对话框中单击“确定”,这时,表格中出现了表的字段。然后再右击,同样,在弹出的快捷菜单中选择“编辑”,我们就可以所在的表格的宽度进行调整。
第六章 系统(查询模块)总体规划
6.1系统功能(查询模块)
- 查询信息的情况;
- 判断信息是否符合要求;
- 将符合条件的信息进行打印;
6.2流程图
第七章 系统具体实现
7.1各功能的实现
7.1.1课程管理:课程设置(如:界面如图二)
(图二)
运行程序后,进入课程管理模块,课程管理模块的第一块是课程设置,在这模块中可以把专业、年级、学期、课程名称、教材、任课老师、课时、上课地点、课程性质和考试性质等信息输入,以便使用。
下面为其代码:
Private Sub Command1_Click()
Dim myCon As New ADODB.Connection
Dim myRs As New ADODB.Recordset
Dim ZhuanYe, NianJi, XueQi, KeCheng, JiaoCai, RenKLS, KeShi, ShangKeDD, KeChengXZ, KaoShiXZ As String
ZhuanYe = Text1.Text
NianJi = Text2.Text
XueQi = DTPicker1.Value
KeCheng = Text4.Text
JiaoCai = Text5.Text
RenKLS = Text6.Text
KeShi = Text7.Text
ShangKeDD = Text8.Text
KeChengXZ = Combo1.Text
KaoShiXZ = Combo2.Text
If Trim(ZhuanYe) = "" Or Trim(NianJi) = "" Or Trim(XueQi) = "" Or Trim(KeCheng) = "" Or Trim(JiaoCai) = "" Or Trim(RenKLS) = "" Or Trim(KeShi) = "" Or Trim(ShangKeDD) = "" Or Trim(KeChengXZ) = "" Or Trim(KaoShiXZ) = "" Then
MsgBox "请填写要修改课程资料的内容!"
Combo1.Text = ""
Combo2.Text = ""
Exit Sub
End If
myCon.Open "dsn=信息"
myRs.Open "select * from 课程表 where 专业='" & Text1.Text & "'", myCon, 3, 2
myRs!年级 = Text2.Text
myRs!学期 = DTPicker1.Value
myRs!课程名称 = Text4.Text
myRs!教材 = Text5.Text
myRs!任课老师 = Text6.Text
myRs!课时 = Text7.Text
myRs!上课地点 = Text8.Text
myRs!课程性质 = Combo1.Text
myRs!考试性质 = Combo2.Text
myRs.Update
myRs.Close
myCon.Close
MsgBox "您确定要修改吗?", vbYesNo, "提示"
Frm_UpdateGrean.Adodc1.Refresh
Frm_UpdateGrean.DataGrid1.Refresh
Text1.Text = ""
Text2.Text = ""
'Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Combo1.Text = ""
Combo2.Text = ""
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command3_Click()
Unload Me
Frm_FindGrean.Show 1
End Sub
Private Sub DataGrid1_Click()
'Frm_UpdateGrean.Adodc1.RecordSource = "select * from 课程表 where 专业 = '" & Trim(DataGrid1.Row) & "'"
'Text1.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("专业")
'Text2.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("年级")
'Text3.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("学期")
'Text4.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("课程名称")
'Text5.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("教材")
'Text6.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("任课老师")
'Text7.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("课时")
'Text8.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("上课地点")
'Combo1.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("课程性质")
'Combo2.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("考试性质")
End Sub
Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)
End Sub
Private Sub Form_Activate()
Frm_FindGrean.Adodc1.RecordSource = strTiaoJian
Frm_FindGrean.Adodc1.Refresh
Set DataGrid1.DataSource = Frm_FindGrean.Adodc1
End Sub
Private Sub Form_Load()
Combo1.AddItem ("必修")
Combo1.AddItem ("选修")
Combo1.AddItem ("自开")
Combo2.AddItem ("考试")
Combo2.AddItem ("查考")
Text1.Text = ""
Text2.Text = ""
'Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Combo1.Text = ""
Combo2.Text = ""
End Sub
Private Sub Text1_Change()
End Sub
Private Sub Text2_Change()
End Sub
Private Sub Text8_Change()
End Sub
课程管理:课程查询(如:界面如图三)
(图三)
当输入查询类别、运算符和条件后可以查找到所需要的课程设置,或按查询时间来查询,输入所要查找的时间段,就可查到所要的课程设置。
代码如下:
Dim sqlstr As String
Private Sub Combo1_Change()
End Sub
Private Sub Combo2_Change()
End Sub
Private Sub Combo4_Change()
End Sub
Private Sub Combo5_Change()
End Sub
Private Sub Combo7_Change()
End Sub
Private Sub Command1_Click()
Dim a As String
Dim KCCX1 As String
Dim KCCX2 As String
Dim str1 As String
Dim str2 As String
If Option3.Value = True Then
a = Trim(Combo2)
Select Case a
Case "="
KCCX1 = "" & Combo1.Text & " " & Combo2.Text & " '" & Trim(Text1) & "'"
Case "like"
KCCX1 = "Instr(1," & Combo1.Text & ",'" & Trim(Text1.Text) & "')<>0 "
End Select
a = Trim(Combo4)
Select Case a
Case "="
KCCX2 = "" & Combo3.Text & " " & Combo4.Text & " '" & Trim(Text2) & "'"
Case "like"
KCCX2 = "Instr(1," & Combo3.Text & ",'" & Trim(Text2.Text) & "')<>0 "
End Select
If Option1.Value = True Then
If KCCX1 = "" Then
strTiaoJian = "select * from 课程表 where " & KCCX2
ElseIf KCCX2 = "" Then
strTiaoJian = "select * from 课程表 where " & KCCX1
Else
strTiaoJian = "select * from 课程表 where " & KCCX1 & "and " & KCCX2
End If
ElseIf Option2.Value = True Then
If KCCX1 = "" Then
strTiaoJian = "select * from 课程表 where " & KCCX2
ElseIf KCCX2 = "" Then
strTiaoJian = "select * from 课程表 where " & KCCX1
Else
strTiaoJian = "select * from 课程表 where " & KCCX1 & "or " & KCCX2
End If
Else
If KCCX1 = "" Then
strTiaoJian = "select * from 课程表 where " & KCCX2
ElseIf KCCX2 = "" Then
strTiaoJian = "select * from 课程表 where " & KCCX1
Else
MsgBox "请选择连接方式!", vbOKOnly, "警告"
Exit Sub
End If
End If
If (KCCX1 & KCCX2) = "" Then
MsgBox "请输入查询类别!", vbOKOnly, "警告"
Exit Sub
Else
Unload Me
Frm_UpdateGrean.Show 1
End If
End If
If Option4.Value = True Then
If Val(Combo6) > Val(Combo9) Then
MsgBox "请正确选择年份!", vbOKOnly + vbExclamation, "信息提示"
Combo6.SetFocus
Exit Sub
Else
If Val(Combo6) = Val(Combo9) Then
If Val(Combo7) > Val(Combo10) Then
MsgBox "请正确选择月份!", vbOKOnly + vbExclamation, "信息提示"
Combo7.SetFocus
Exit Sub
Else
If Val(Combo7) = Val(Combo10) Then
If Val(Combo8) > Val(Combo11) Then
MsgBox "请正确选择日期!", vbOKOnly + vbExclamation, "信息提示"
Combo8.SetFocus
Exit Sub
End If
End If
End If
End If
End If
If Combo6.Text = "" Or Combo7.Text = "" Or Combo8.Text = "" Or Combo9.Text = "" Or Combo10.Text = "" Or Combo11.Text = "" Then
MsgBox "请输入完整的日期", vbOKOnly, "警告"
Exit Sub
End If
str1 = Trim(Combo6) & "-" & Trim(Combo7) & "-" & Trim(Combo8)
str2 = Trim(Combo9) & "-" & Trim(Combo10) & "-" & Trim(Combo11)
str1 = Format(str1, "yyyy-mm-dd")
str2 = Format(str2, "yyyy-mm-dd")
If sqlstr = "" Then
sqlstr = "" & Trim(Combo5.Text) & ">=#" & Format(str1, "yyyy-mm-dd") & "# and " & Trim(Combo5.Text) & "<= #" & Format(str2, "yyyy-mm-dd") & "#"
Else
sqlstr = sqlstr & " and " & Trim(Combo5.Text) & ">=#" & Format(str1, "yyyy-mm-dd") & "# and " & Trim(Combo5.Text) & "<= #" & Format(str2, "yyyy-mm-dd") & "#"
End If
If sqlstr = "" Then
MsgBox "请先输入查找时间!"
Exit Sub
End If
strTiaoJian = "select 专业,年级,学期,课程名称,教材,任课老师,课时,上课地点,课程性质,考试性质 from 课程表 where " & sqlstr
Unload Me
Frm_UpdateGrean.Show 1
End If
If Option3.Value <> True And Option4.Value <> True Then
MsgBox "请选择查询方式!", vbOKOnly, "警告"
Exit Sub
End If
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
Private Sub Form_Load()
Dim i, j As Integer
For i = 1999 To 2010
Combo6.AddItem i
Combo9.AddItem i
Next i
Combo6.ListIndex = 0
Combo9.ListIndex = 0
For i = 1 To 12
Combo7.AddItem i
Combo10.AddItem i
Next i
Combo7.ListIndex = 0
Combo10.ListIndex = 0
For i = 1 To 31
Combo8.AddItem i
Combo11.AddItem i
Next i
Combo8.ListIndex = 0
Combo11.ListIndex = 0
Combo1.AddItem ("专业")
Combo1.AddItem ("年级")
Combo1.AddItem ("课程名称")
Combo1.AddItem ("教材")
Combo1.AddItem ("任课老师")
'Combo1.AddItem ("课时")
Combo1.AddItem ("课程性质")
Combo1.AddItem ("考试性质")
Combo2.AddItem ("=")
Combo3.AddItem ("专业")
Combo3.AddItem ("年级")
Combo3.AddItem ("课程名称")
Combo3.AddItem ("教材")
Combo3.AddItem ("任课老师")
'Combo3.AddItem ("课时")
Combo3.AddItem ("课程性质")
Combo3.AddItem ("考试性质")
Combo4.AddItem ("=")
Combo5.AddItem ("学期")
Combo1.Text = ""
Combo2.Text = ""
Text1.Text = ""
Combo3.Text = ""
Combo4.Text = ""
Text2.Text = ""
Combo5.Text = ""
Combo6.Text = ""
Combo7.Text = ""
Combo8.Text = ""
Combo9.Text = ""
Combo10.Text = ""
Combo11.Text = ""
End Sub
7.1.2 打印统计
运行打印统计后可以按条件把符合条件的各种信息以报表形式罗列出来,各种信息还可以以打印出来或以报表形式保存。打印统计包括班级统计分析、档案统计分析、课程统计分析、成绩统计分析和交费统计分析五类。
班级统计分析(如:界面如图四)
(图四)
代码如下:
If Check3.Value = 1 And Not IsNull(Text3) Then
SQLadd = SQLadd + "and 专业='" + Text3 + "'"
End If
If Check4.Value = 1 And IsDate(DTPicker1) Then
SQLadd = SQLadd + " and 出生年月= # " & DTPicker1.Value & "#"
End If
strSql = SQLoriginal + SQLadd + SQLorde
If Dat_Main.rsDat_Strudent.State = 1 Then
Dat_Main.rsDat_Strudent.Close
End If
Dat_Main.rsDat_Strudent.Open strSql
Dat_Strudent.Show vbModal
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
'Combo1.AddItem ("男")
'Combo1.AddItem ("女")
Text1.Text = ""
Text2.Text = ""
SQLoriginal = "SELECT * FROM 成绩表 "
SQLadd = "WHERE 学号=学号 AND 姓名=姓名 "
SQLorder = ""
If Check1.Value = 1 And IsNumeric(Text1) Then
SQLadd = SQLadd + "and 学号='" + Text1 + "'"
End If
If Check2.Value = 1 And Not IsNull(Text2) Then
SQLadd = SQLadd + "and 姓名='" + Text2 + "'"
End If
If Check3.Value = 1 And Not IsNull(Text3) Then
SQLadd = SQLadd + "and 考试科目='" + Text3 + "'"
End If
If Check4.Value = 1 Then
SQLadd = SQLadd + "and 科目分数<60"
End If
strSql = SQLoriginal + SQLadd + SQLorde
If Dat_Main.rsDat_ChengJ.State = 1 Then
Dat_Main.rsDat_ChengJ.Close
End If
Dat_Main.rsDat_ChengJ.Open strSql
Dat_ChengJ.Show vbModal
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Tex
If Check4.Value = 1 And IsNumeric(Text4) Then
SQLadd = SQLadd + "and 本次欠费='" + Text4 + "'"
End If
strSql = SQLoriginal + SQLadd + SQLorde
If Dat_Main.rsDat_JiaoF.State = 1 Then
Dat_Main.rsDat_JiaoF.Close
End If
Dat_Main.rsDat_JiaoF.Open strSql
Dat_JiaoF.Show vbModal
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
Private Sub Text1_Change()
End Sub
主要参考文献
本系统的过程中,主要的参考文献有:
《Visual Basic6.0》 林陈雷 人民邮电出版社
《面向对象程序设计系列教材》 龚沛曾 高等教育出版社
《Visual Basic6.0编程实例精解》 何文俊
《学用Visual Basic 编程》 潭 浩 西安电子科技大学出版社
《Visual Basic6.0 数据库开发与专业应用》 敬 铮 国防工业出版社
《Visual Basic6.0 数据库程序设计高手》 温贤发 科学出版社