=学分+科目对应的学分。这里对应的学分依据教学计划科目对应的学分的设置。
2)学生成绩的查询子模块
学生查询子模块是本系统的查询模块中功能最强大的查询模块,该模块查询可以按照学生学籍号,姓名,考试时间等多个方面不同的条件值。不同的时间。对学生成绩进行查询。
3)学生学分的查询子模块
学生学分查询子模块是本系统的查询模块中功能最强大的查询模块,该模块查询可以按照学生学籍号,姓名,毕业级别,学分值的大小等多个方面不同的条件值。进行联合查询。学分值匹配的类型有">=,=,<"。
4)学生成绩,学分的报表子模块
该模块完成对按照用户需要的查询条件的学生的成绩,学分记录输出打印出来。和学生档案资料的报表一样。我们同样选择了报表专家excel这个工具作为过渡。也就是说我们可以先将查询的结果导出到excel。然后在excel的强大报表功能下去完成各种格式的报表。
3.学生学籍信息模块
1)学生基本信息导入子模块
学生学籍信息模块主要实现学生信息包括学籍号、姓名、奖贷学金、学生异动、学生毕业去向等录入、修改、删除等管理操作。而学生学籍号、姓名已经在学生档案库里面有记录。所以该子模块完成对档案库里面的学生学籍号、姓名这些字段信息导入到学生学籍库来。而不必重新输入、减少工作量。同时也保证了不同库里面的信息完整性和一致性。导入后的学籍库里面的字段除了学籍号、姓名这二个字段有记录外。其他的字段暂时都是"无"。
2)学生学籍库管理子模块
该模块完成对学生学籍库的综合管理和维护。主要包括对学生的除了学籍号和姓名外的其他字段的维护。即:记录的定位、记录的修改、以及记录的表报。因为经过学籍库的导入模块的工作后。每个学生的除学籍号,姓名二个字段有记录外其他的都暂时没有具体的信息。它需要我们对学生进行动态的记录。所以需要我们对学生首先应该可以在数据库里面可以定位。然后可以对他们的资料可以修改。最后可以根据我们的需要对该记录报表打印。
4:教学计划模块
1)教学计划编辑子模块:
该模块主要完成对教学计划中的科目,学分设置。包括字段有:课程号,课程名,学分,年级,备注。编辑这些字段包括:对未注册的课程进行添加,对已经记录的课程可以进行对字段值的修改。删除。
2)教学计划查询报表子模块
该模块主要完成对满足用户查询条件的记录进行查询。查询可以是单一查询和联合查询,查询的字段可以是:学籍号,姓名,学分。对查询的结果可以导出到EXCEL最终实现报表打印。
3·3、数据库表结构设计
根据分析阶段得出的的结论,结合本系统对有关数据的存储的需要,更加方便实现该学籍管理开发系统的所有功能,现将本系统设计成6个数据库表,每个表的字段名、类型、宽度设计如下:
1·学生基本信息表:
该表用来存放学生入学注册的个人基本信息。
字段名
类型
宽度
学号
字符型
10
性别
字符型
2
出生年月
字符型
10
政治面目
字符型
10
父母姓名
字符型
8
联系电话
字符型
11
家庭住址
字符型
30
毕业级别
字符型
10
设计说明:为方便编程以及人们工作习惯,这里将学号、出生年月、入学时间、联系电话等都设计成字符型。并根据实际需要设计了相应的宽度。
2·学生成绩表:
该表用来存放学生在校期间的个人成绩信息。
字段名
类型
宽度
学号
字符型
10
姓名
字符型
8
科目
数字型
3
成绩
数字型
3
学期
数字型
3
3·学生学籍表:
用来存放学生在校期间的评语信息。
字段名
类型
宽度
学号
字符型
10
姓名
字符型
10
奖贷学金
字符型
10
异动
字符型
8
军训等级
备注型
0
毕业去向
备注型
0
4:学生学分表
用来存放学生学分信息。
字段名
类型
宽度
学号
字符型
10
学分
数字型
10
5:教学计划表:
用来存放教学信息。
字段名
类型
宽度
课程号
字符型
10
课程名
字符型
10
学分
数字型
2
年级
字符型
10
备注
备注型
4
另外,系统还设置用户管理表。字段包括:用户帐号,用户密码,级别,联系电话。
以上是本系统的库表结构的设计简要说明。
第四章应用系统实现
按结构化的程序设计思想,在完成了系统分析、系统设计后,就可以进行系统实现阶段了,系统实现是每指把系统的物理模型转换成实际运行系统的全过程。其基本任务是:
a)前期准备
b)系统平台的安装与调试
c)程序的编制与调试
d)信息系统调试
e)数据库与文件的建立
f)系统转换
g)试运行、验收与维护
4·1典型模块的实现:
1:学生档案资料的录入子模块
1)运行时的窗体:
2)控件和事件
a)"网格"容器控件:显示档案柜中的数据信息。数据源设定为档案柜表的查询记录集。在窗体的装载事件load中用语句控制。语句是:
adoPrimaryRS.Open"select学籍号,姓名,性别,出生年月,班级,家庭住址,父母姓名,联系电话,奖惩记载,学生简历fromxsda",db,adOpenStatic,adLockOptimistic
SetDataGrid.DataSource=adoPrimaryRS
b)"最首"按钮控件:click事件是将当前窗体中的网格控件中的信息和文本框控件中的信息指向数据库表查询记录集中的第一条记录。利用SQL语句实现在数据库中查询符合条件的所以记录,并在表单中的网格容器中用指针定位。同时文本框也显示相应的记录信息。如果无相应的记录,系统将给出提示。实现关键语句如下:
adoPrimaryRS.MoveFirst
Text1.Text=adoPrimaryRS.Fields("学籍号")
Text2.Text=adoPrimaryRS.Fields("姓名")
Text3.Text=adoPrimaryRS.Fields("性别")
Text4.Text=adoPrimaryRS.Fields("出生年月")
Text5.Text=adoPrimaryRS.Fields("班级")
Text6.Text=adoPrimaryRS.Fields("家庭住址")
Text7.Text=adoPrimaryRS.Fields("父母姓名")
Text8.Text=adoPrimaryRS.Fields("联系电话")
Text9.Text=adoPrimaryRS.Fields("奖惩记载")
Text10.Text=adoPrimaryRS.Fields("学生简历")
c)"下一条"按钮控件:click事件是将网格中的,文本框中的信息同时指向当前记录的下一条记录。如果越界就给出已经是最后一条记录的提示,并将记录定位在最后一条记录。实现语句:
adoPrimaryRS.MoveNext
IfadoPrimaryRS.EOFThen
MsgBox("已经是第后一条记录了!")
adoPrimaryRS.MoveLast
Else
Text1.Text=adoPrimaryRS.Fields("学籍号")
Text2.Text=adoPrimaryRS.Fields("姓名")
Text3.Text=adoPrimaryRS.Fields("性别")
Text4.Text=adoPrimaryRS.Fields("出生年月")
Text5.Text=adoPrimaryRS.Fields("班级")
Text6.Text=adoPrimaryRS.Fields("家庭住址")
Text7.Text=adoPrimaryRS.Fields("父母姓名")
Text8.Text=adoPrimaryRS.Fields("联系电话")
Text9.Text=adoPrimaryRS.Fields("奖惩记载")
Text10.Text=adoPrimaryRS.Fields("学生简历")
EndIf
d)"上一条"按钮控件:click事件是将网格中的,文本框中的信息同时指向当前记录的上一条记录。如果越界就给出已经是第一条记录的提示,并将记录定位在第一条记录。实现语句:
adoPrimaryRS.MovePrevious
IfadoPrimaryRS.BOFThen
MsgBox("已经是第一条记录了!")
adoPrimaryRS.MoveFirst
Else
Text1.Text=adoPrimaryRS.Fields("学籍号")
Text2.Text=adoPrimaryRS.Fields("姓名")
Text3.Text=adoPrimaryRS.Fields("性别")
Text4.Text=adoPrimaryRS.Fields("出生年月")
Text5.Text=adoPrimaryRS.Fields("班级")
Text6.Text=adoPrimaryRS.Fields("家庭住址")
Text7.Text=adoPrimaryRS.Fields("父母姓名")
Text8.Text=adoPrimaryRS.Fields("联系电话")
Text9.Text=adoPrimaryRS.Fields("奖惩记载")
Text10.Text=adoPrimaryRS.Fields("学生简历")
EndIf
d)"最末"按钮控件:click事件是将当前窗体中的网格控件中的信息和文本框控件中的信息指向数据库表查询记录集中的第后一条记录。利用SQL语句实现在数据库中查询符合条件的所以记录,并在表单中的网格容器中显示。如果无相应的记录,系统将给出提示。实现关键语句如下:
adoPrimaryRS.MoveLast
Text1.Text=adoPrimaryRS.Fields("学籍号")
Text2.Text=adoPrimaryRS.Fields("姓名")
Text3.Text=adoPrimaryRS.Fields("性别")
Text4.Text=adoPrimaryRS.Fields("出生年月")
Text5.Text=adoPrimaryRS.Fields("班级")
Text6.Text=adoPrimaryRS.Fields("家庭住址")
Text7.Text=adoPrimaryRS.Fields("父母姓名")
Text8.Text=adoPrimaryRS.Fields("联系电话")
Text9.Text=adoPrimaryRS.Fields("奖惩记载")
Text10.Text=adoPrimaryRS.Fields("学生简历")
f)"添加"按钮控件:click事件是添加新的学生档案记录,实现的原理是对数据库查询的记录集添加一条新的记录,然后修给这条空记录的值,达到对数据库表中的学生档案记录添加的目的。实现的语句如下:
adoPrimaryRS.AddNew
adoPrimaryRS.Fields("学籍号")=Text1.Text
adoPrimaryRS.Fields("姓名")=Text2.Text
adoPrimaryRS.Update
h)"编辑"按钮控件:click事件是将记录集中当前记录在文本框中进行修改,然后更改记录集中相应的记录。来达到修改数据库中的记录的目的。和添加相比不需要adoPrimaryRS.AddNew这个语句。实现的主要语句是:
adoPrimaryRS.Fields("学籍号")=Text1.Text
adoPrimaryRS.Fields("姓名")=Text2.Text
adoPrimaryRS.Update
i)"查找"按钮控件:click事件是激活查询窗体。
语句是:Form2.Show
j)"删除"按钮控件:click事件是删除当前记录。同时数据库记录指针指向当前记录的上一条记录。
adoPrimaryRS.Delete
adoPrimaryRS.MovePrevious
IfadoPrimaryRS.BOFThen
adoPrimaryRS.MoveFirst
EndIf
Text1.Text=adoPrimaryRS.Fields("学籍号")
Text2.Text=adoPrimaryRS.Fields("姓名")
Text3.Text=adoPrimaryRS.Fields("性别")
h)"退出"按钮控件:click事件是释放当前窗体,返回主控系统。实现语句是:UnloadMe
2:档案信息查询子模块:
1)运行时的窗体:
2)控件和事件
a)"网格"容器控件:显示学生档案数据库里面的中的数据信息。数据源设定为档案数据库的查询记录集。在窗体的装载事件load中用语句控制。装载时默认是所有记录。语句是:
adoPrimaryRS.Open"select学籍号,姓名,性别,出生年月,班级,家庭住址,父母姓名,联系电话,奖惩记载,学生简历fromxsda",db,adOpenStatic,adLockOptimistic
SetDataGrid1.DataSource=adoPrimaryRS
b)"选择"按钮控件:click事件是将当前窗体中的文本控件中的关键字作为查询的关键字。查询可以是按照学生学籍号或者姓名。查询类别和关键字可以根据用户的需要设定。查询的结果显示在网格控件中。实现关键语句如下:
a=Combo1.Text
b=Text1.Text
adoPrimaryRS.Open"select学籍号,姓名,性别,出生年月,班级,家庭住址,父母姓名,联系电话,奖惩记载,学生简历fromxsdawhere"&a&"like'%"&b&"%'",db,adOpenStatic,adLockOptimistic
SetDataGrid1.DataSource=adoPrimaryRS
c)"导出"按钮控件:click事件是将查询记录集中的的查询结果导出到报表专家excel中去。导出的实质就是将记录集中的记录用一个双循环作为excel的记录源。从而实现导出。实现语句:
adoPrimaryRS.MoveFirst
i=0
DoWhile(adoPrimaryRS.EOF=False)
Forj=0ToadoPrimaryRS.Fields.Count-1
DataGrid1.Col=j
xlsheet.Cells(i+2,j+1)=DataGrid1.Text
Nextj
adoPrimaryRS.MoveNext
i=i+1
Loop
导出到excel后的窗体如下:
在excel环境下我们就可以根据用户的需要轻松制作出符合用户的各种表报。
3学生成绩录入子模块:
1)运行时的窗体:
2)控件和事件
控件包括4个文本框、5个按钮控件和一个网格控件。文本框完成对学生输入成绩的科目和时间的设定。对于同样科目同一考试时间的成绩的录入。这样设定后对于录入成绩很方便。每个记录输入后这2个文本框的信息是不改变的。还有2个文本框是录入学生学籍号和成绩。5个按钮控件分别是输入,修改,删除重新设定和退出。下面将对按钮控件做详细分析。网格控件默认的数据源是学生成绩库里面的所有数据。
在装载时用语句实现:
adoPrimaryRS.Open"select学籍号,姓名,科目,成绩,学期fromxscj",db,adOpenStatic,adLockOptimistic
SetDataGrid1.DataSource=adoPrimaryRS
下面对输入,修改,删除这三个按钮的事件和实现语句分析如下:
a)"输入"按钮控件:click事件首先对学生档案库中的记录进行查询符合输入的学籍号记录。如果没有。则说明该生还没有注册。不能录入学生成绩。如果查到学生记录。则将学生的姓名,已经输入的成绩信息一同作为学生成绩添加的信息。它的实现语句是:
a="学籍号"
b=Text3.Text
adoPrimaryRS1.Open"select学籍号,姓名fromxsdawhere"&a&"like'%"&b&"%'",db,adOpenStatic,adLockOptimistic
IfadoPrimaryRS1.EOF=TrueThen
MsgBox("该生还未注册")
Else
SetadoPrimaryRS2=NewRecordset
a="学籍号"
b=Text3.Text
c="科目"
d=Text1.Text
e="学期"
f=Text2.Text
adoPrimaryRS2.Open"select学籍号,姓名,科目,学期fromxscjwhere"&a&"like'%"&b&"%'and"&c&"like'%"&d&"%'and"&e&"like'%"&f&"%'",db,adOpenStatic,adLockOptimistic
IfadoPrimaryRS2.EOF=TrueThen
adoPrimaryRS.AddNew
2)"修改"按钮控件:网格开始的时候设定为不可编辑。现在对它的修改需要改变它的属性。click事件是将按钮名改成"保存",增加了系统的交互性。同时使网格变得可编辑。"保存"按钮控件的click事件是将按钮名改成"修改",此时使文本框变得不可编辑,修改完成后,网格容器控件中的数据自动更新。它的实现语句是:
IfCommand4.Caption="成绩修改"Then
Command4.Caption="保存"
DataGrid1.Enabled=True
Else
Command4.Caption="成绩修改"
DataGrid1.Enabled=False
EndIf
3)"删除"按钮控件:成绩库的记录有时候会输入出错。当然一般可以通过修改更正。但是有时候输入了一条完全没有意义的记录我们可以通过删除来完成整理数据库的目的。实现的语句如下:
adoPrimaryRS.Delete
adoPrimaryRS.MovePrevious
IfadoPrimaryRS.BOFThen
adoPrimaryRS.MoveFirst
4学生成绩查询子模块
1)运行时的窗体:
2)控件和事件
该模块主要包括网格,文本框,按钮控件。网格默认的数据源是成绩库的所以记录。文本框用来设定和输入查询类别和查询关键字。查询可以从学籍号,姓名,班级,年级。以及考试时间等进行综合查询。即至少找到满足2个查询关键字的记录。导出按钮控件主要是将查询的结果导出到excel中。下面主要针对查询按钮作一个主要分析:
实现的语句如下:
a=Combo1.Text
b=Text1.Text
c="学期"
d=Text2.Text
IfCombo1.Text="班级"Then
adoPrimaryRS.Open"selectdistinct学籍号,姓名,科目,成绩,学期fromxscjwhere"&c&"like'%"&d&"%'and学籍号in(select学籍号fromxsdawhere"&a&"like'%"&b&"%')",db,adOpenStatic,adLockOptimistic
Else
adoPrimaryRS.Open"selectdistinct学籍号,姓名,科目,成绩,学期fromxscjwhere"&a&"like'%"&b&"%'and"&c&"like'%"&d&"%'",db,adOpenStatic,adLockOptimistic
EndIf
SetDataGrid1.DataSource=adoPrimaryRS
在查询中由于是综合查询。所以实现的语句用到了sql语句中的联合查询。具体的语句是:selectdistinct学籍号,姓名,科目,成绩,学期fromxscjwhere"&c&"like'%"&d&"%'and学籍号in(select学籍号fromxsdawhere"&a&"like'%"&b&"%')
4:学生学籍导入子模块:
学生学籍里面的学籍号,姓名这些字段的信息不必专门输入。为了高效率和为了与档案记录的一致性我们可以首先将档案库的所有记录首先作为数据源显示在如下窗体的左边的档案网格中。然后将该网格的数据作为右边学籍库的数据源导入。同时对学籍库的其他字段自动设定为无。等以后随着学生的求学过程。我们可以动态的进行修改。导入按钮的click控件的源代码是:
Fori=0ToDataGrid1.VisibleRows-1
DataGrid1.Row=i
DataGrid1.Col=0
IfadoPrimaryRS.EOF=TrueThen
adoPrimaryRS.AddNew
adoPrimaryRS.Fields("学籍号")=DataGrid1.Text
DataGrid1.Col=1
adoPrimaryRS.Fields("姓名")=DataGrid1.Text
adoPrimaryRS.Fields("奖贷学金")="无"
adoPrimaryRS.Fields("异动")="无"
adoPrimaryRS.Fields("军训等级")="无"
adoPrimaryRS.Fields("毕业去向")="无"
Else
adoPrimaryRS.MoveFirst
DoWhile(adoPrimaryRS.EOF=False)
IfadoPrimaryRS.Fields("学籍号")=DataGrid1.TextThen
ExitDo
EndIf
adoPrimaryRS.MoveNext
Loop
IfadoPrimaryRS.EOF=TrueThen
adoPrimaryRS.AddNew
adoPrimaryRS.Fields("学籍号")=DataGrid1.Text
DataGrid1.Col=1
adoPrimaryRS.Fields("姓名")=DataGrid1.Text
adoPrimaryRS.Fields("奖贷学金")="无"
adoPrimaryRS.Fields("异动")="无"
adoPrimaryRS.Fields("军训等级")="无"
adoPrimaryRS.Fields("毕业去向")="无"
EndIf
EndIf
Nexti
对于档案网格中的数据利用循环实现导入。对于档案网格中的数据每读一条数据。在学生学籍库网格相应的记录集中就增加一条记录。
6)学籍管理子模块:
该模块包括一个文本框控件。一个网格控件。和4个按钮控件。文本框控件用于定位记录输入学籍号。网格控件默认的数据源是所有的学生学籍库信息。对于信息的修改是通过修改最初设定网格的默认属性为不能编辑这个属性来实现的。其中的修改的click的源代码是:
IfCommand2.Caption="修改"Then
Command2.Caption="保存"
DataGrid1.Enabled=True
Else
Command2.Caption="修改"
DataGrid1.Enabled=False
对于从众多的数据中来修改数据还要用到数据的定位功能。这里用"确定"按钮的click事件实现。语句如下:
adoPrimaryRS.MoveFirst
DoWhile(adoPrimaryRS.Fields("学籍号")<>Text1.Text)
adoPrimaryRS.MoveNext
Loop
分析源代码:这里定位是用一个循环语句实现。循环的结束的条件是学籍号等于查询关键字。
4·2系统菜单
设计一个菜单系统,一般要经过几个步骤:菜单系统的规划,建立菜单与子菜单,把任务分配到菜单系统中,生成菜单程序,测试和运行菜单系统等,VB6.0是通过设计窗体来完成菜单的设计界面的,本系统设计的菜单运行如下:
各个菜单项的click事件代码如下:
PrivateSubcjcx_Click()
Form4.Show
EndSub
PrivateSubcjlr_Click()
Form3.Show
EndSub
PrivateSubdacx_Click()
Form2.Show
EndSub
PrivateSubdalr_Click()
Form1.Show
EndSub
PrivateSubForm_Load()
Left=(Screen.Width-Width)\2
Top=(Screen.Height-Height)\2
EndSub
PrivateSubtc_Click()
UnloadMe
EndSub
PrivateSubToolbar1_Butt(ByValButtonAsMSComctlLib.Button)
SelectCaseButton.Key
Case"key1"
Form1.Show
Case"key2"
Form2.Show
Case"key3"
Form3.Show
Case"key4"
Form4.Show
Case"key5"
Form5.Show
Case"key6"
Form6.Show
Case"key7"
UnloadMe
EndSelect
EndSub
PrivateSubxjgl_Click()
Form6.Show
EndSub
PrivateSubzldr_Click()
Form5.Show
EndSub
其中的Left=(Screen.Width-Width)\2
Top=(Screen.Height-Height)\2是控制窗体在屏幕中的位置居中。
总结
经过多日来的努力学籍管理系统终于完成了。回顾这次毕业设计的过程,我觉得收获很大,现借撰写论文总结的机会,谈一谈我的体会。
通过这次毕业设计,我掌握了一种新的数据库系统开发工具VisualBasic6.0。我对于它具有的可视化的编程环境和连接数据库的便捷性用感触颇深,VisualBasic6.0这些数据库的连接提供了多种方法。比如DATA控件对初学着就非常容易掌握,当然利用语句对数据库的连接就可以实现对数据库的高级应用。VisualBasic6.0这种面向对象的数据库开发工具提供了窗体这种户非常友好的交互方式。利用设计好的窗体据库的记录进行操作,不但使用户更清楚记录的具体变更情况,也使开发人员的工作轻松了许多。
同时,在这次毕业设计过程中,我始终遵循软件工程的思想,这使我的工作进度明显加快,也使我少走了不少弯路。软件工程的思想,指导我一步一步从系统分析,到系统设计,再到系统实现,让我对整个系统的开发过程有了明显的全局观念,也合理地安排了整个设计的时间。
以上是我在本次毕业设计中的体会,也许认识到的问题还很肤浅,这也正是我今后要努力提高的。
致谢
在本次毕业设计的过程中,老师们给了我很大的帮助。不仅使我在规定的时间内完成了系统的设计,同时还使我学到了很多有益的经验。在此,我谨向他表示最衷心的感谢。
同时,学校给了我这次毕业设计的机会,使我得到了很好的锻炼,在此,我也向学校的各位老师表示最诚挚的感谢。
主要参考文献
1、《VisualBasic6使用指南》田金兰等电子工业出版社2002年出版
2、《VisualBasic6数据库访问技术》Jeffrey机械工业出版社2003年出版
3、《软件开发技术》潘锦平西安电子科技大学出版社1999年出版
4、《数据库系统概论》王珊、萨师宣高等教育出版社2001年出版
5、《如何使用VisualBasic6.0中文版》机械工业出版社2001年出版
6、《中文VisualBasic6.0实用教程》北京希望电脑公司希望电子出版社
附录:
1:学生档案子模块的源代码:
DimWithEventsadoPrimaryRSAsRecordset
DimWithEventsadoPrimaryRS1AsRecordset
PrivateSubCommand1_Click()
adoPrimaryRS.MoveFirst
Text1.Text=adoPrimaryRS.Fields("学籍号")
Text2.Text=adoPrimaryRS.Fields("姓名")
Text3.Text=adoPrimaryRS.Fields("性别")
Text4.Text=adoPrimaryRS.Fields("出生年月")
Text5.Text=adoPrimaryRS.Fields("班级")
Text6.Text=adoPrimaryRS.Fields("家庭住址")
Text7.Text=adoPrimaryRS.Fields("父母姓名")
Text8.Text=adoPrimaryRS.Fields("联系电话")
Text9.Text=adoPrimaryRS.Fields("奖惩记载")
Text10.Text=adoPrimaryRS.Fields("学生简历")
Text11.Text=adoPrimaryRS.Fields("毕业级别")
EndSub
PrivateSubCommand2_Click()
adoPrimaryRS.MoveNext
IfadoPrimaryRS.EOFThen
MsgBox("已经是第后一条记录了!")
adoPrimaryRS.MoveLast
Else
Text1.Text=adoPrimaryRS.Fields("学籍号")
Text2.Text=adoPrimaryRS.Fields("姓名")
Text3.Text=adoPrimaryRS.Fields("性别")
Text4.Text=adoPrimaryRS.Fields("出生年月")
Text5.Text=adoPrimaryRS.Fields("班级")
Text6.Text=adoPrimaryRS.Fields("家庭住址")
Text7.Text=adoPrimaryRS.Fields("父母姓名")
Text8.Text=adoPrimaryRS.Fields("联系电话")
Text9.Text=adoPrimaryRS.Fields("奖惩记载")
Text10.Text=adoPrimaryRS.Fields("学生简历")
Text11.Text=adoPrimaryRS.Fields("毕业级别")
EndIf
EndSub
PrivateSubCommand3_Click()
adoPrimaryRS.MovePrevious
IfadoPrimaryRS.BOFThen
MsgBox("已经是第一条记录了!")
adoPrimaryRS.MoveFirst
Else
Text1.Text=adoPrimaryRS.Fields("学籍号")
Text2.Text=adoPrimaryRS.Fields("姓名")
Text3.Text=adoPrimaryRS.Fields("性别")
Text4.Text=adoPrimaryRS.Fields("出生年月")
Text5.Text=adoPrimaryRS.Fields("班级")
Text6.Text=adoPrimaryRS.Fields("家庭住址")
Text7.Text=adoPrimaryRS.Fields("父母姓名")
Text8.Text=adoPrimaryRS.Fields("联系电话")
Text9.Text=adoPrimaryRS.Fields("奖惩记载")
Text10.Text=adoPrimaryRS.Fields("学生简历")
Text11.Text=adoPrimaryRS.Fields("毕业级别")
EndIf
EndSub
PrivateSubCommand4_Click()
adoPrimaryRS.MoveLast
Text1.Text=adoPrimaryRS.Fields("学籍号")
Text2.Text=adoPrimaryRS.Fields("姓名")
Text3.Text=adoPrimaryRS.Fields("性别")
Text4.Text=adoPrimaryRS.Fields("出生年月")
Text5.Text=adoPrimaryRS.Fields("班级")
Text6.Text=adoPrimaryRS.Fields("家庭住址")
Text7.Text=adoPrimaryRS.Fields("父母姓名")
Text8.Text=adoPrimaryRS.Fields("联系电话")
Text9.Text=adoPrimaryRS.Fields("奖惩记载")
Text10.Text=adoPrimaryRS.Fields("学生简历")
Text11.Text=adoPrimaryRS.Fields("毕业级别")
EndSub
PrivateSubCommand6_Click()
IfCommand6.Caption="编辑"Then
Command6.Caption="更新"
Text1.Enabled=True
Text2.Enabled=True
Text3.Enabled=True
Text4.Enabled=True
Text5.Enabled=True
Text6.Enabled=True
Text7.Enabled=True
Text8.Enabled=True
Text9.Enabled=True
Te
上一篇:
vb学生评语生成系统论文(论文和程序)
下一篇:
天亮之后