在考生文件夹下有学生管理数据库books,数据库中有score表(学号、物理、高数、英语和学分查询表结构),其中前4项已有数据。
请编写符合下列要求的程序并运行程序:
设计一个名为myform的表单,表单中有两个命令按钮,按钮的名称分别为cmdyes和cmdno,标题分别为“计算”和“关闭”。程序运行时,单击“计算”按钮应完成下列操作:
①计算每一个学生的总学分并存入对应的学分字段。学分的计算方法是:物理60分以上(包括60分) 2学分,否则0分;高数60分以上(包括60分)3学分,否则0分;英语60分以上(包括60分)4学分,否则0分。
②根据上面的计算结果,生成一个新的表xf(要求表结构的字段类型与score表对应字段的类型一致),并且按“学分”升序排序,如果“学分”相等,则按“学号”降序排序。单击“退出”按钮,程序终止运行。
双击命令按钮cmdyes(计算)在Click事件代码中编写如下程序段:
**********命令按钮Commandl(计算)的Click事件代码*********
SET TALK OFF
USE score
REPLACE ALL 学分 WITH 0
GO TOP
DO WHILE.NOT.EOF()
IF 物理>=60 THEN
REPIACE 学分 WITH 学分+2
ENDIF
IF 高数>=60 THEN
MPLACE 学分 WITH学分+3
ENDIF
IF 英语>=60 THEN
REPLACE 学分 WITH 学分+4
ENDIF
SKIP
ENDDO
SORT ON学分学号/d TO xf
SET tALK ON
**********************************************
双击命令按钮cmdno(关闭)在Chck事件代码中编写如下程序段:
*********命令按钮Command2(关闭)的Click事件代码********
Thisform.Release
**********************************************
保存表单在命令窗口输入命令:DO FORM myform。在运行的表单界面中单击“计算”命令按钮系统将计算结果自动保存到新表xf中。
双击命令按钮cmdyes(计算),在Click事件代码中编写如下程序段:
**********命令按钮Commandl(计算)的Click事件代码*********
SET TALK OFF
USE score
REPLACE ALL 学分 WITH 0
GO TOP
DO WHILE.NOT.EOF()
IF 物理>=60 THEN
REPIACE 学分 WITH 学分+2
ENDIF
IF 高数>=60 THEN
MPLACE 学分 WITH学分+3
ENDIF
IF 英语>=60 THEN
REPLACE 学分 WITH 学分+4
ENDIF
SKIP
ENDDO
SORT ON学分,学号/d TO xf
SET tALK ON
**********************************************
双击命令按钮cmdno(关闭),在Chck事件代码中编写如下程序段:
*********命令按钮Command2(关闭)的Click事件代码********
Thisform.Release
**********************************************
保存表单,在命令窗口输入命令:DO FORM. myform。在运行的表单界面中单击“计算”命令按钮,系统将计算结果自动保存到新表xf中。 解析:本大题考查的主要是通过对表单控件编写事件代码,来完成数据的查询操作,一般来说命令按钮的单击事件代码是存放在Click事件中,控件属性修改可以在属性对话框中完成,对于程序设计部分,可以通过Do While...Enddo循环来依次判断数据表中的每条记录,然后通过条件语句进行分类统计。
第1题:
在考生文件夹中有一个数据库mydb,其中有数据库表stu、kech 和 chj。利用SQL语句查询选修了“日语”课程的学生的全部信息,并将结果按“学号”升序排序放在 new. dbf 中(库的结构同 stu,并在其后加入课程号和课程名字段)。
(2)在考生文件夹中有一个数据库 mydb,使用“一对多报表向导”制作一个名为 myre 的报表,存放在考生文件夹中。
要求:选择父表 stu 表中的“学号”和“姓名”字段,从子表 kech 中选择“课程号”和“成绩”字段,排序字段选择“学号”(升序),报表样式为“简报式”,方向为“纵向”,报表标题为“学生成绩信息”。
图3-86
(2)在“工具”菜单选择“向导”——“报表”菜单命令出现“向导选取”对话框根据题意数据源是多个表因此选定“一对多报表向导”。单击“确定”。
步骤一:在弹出的对话框中“数据库和表”选项选择父表 stu并把“可用字段”的“学号”和“姓名”选为“选定字段”。
步骤二:选择子表 kech并把“可用字段”的“课程号”和“成绩”选为“选定字段”。
步骤三:系统自动以“学号”建立两表之间的关系。
步骤四:在“排序记录”中选择“学号”并选择“升序”排序。
步骤五:报表样式选择为“简报式”方向为“纵向”。
步骤六:把表单标题改为“学生成绩信息”可以在单击“完成”之前单击“预览”按钮来预览生成的报表最后单击“完成”按钮。
将报表以文件名myre 保存在考生文件夹里。
图3-86
(2)在“工具”菜单选择“向导”——“报表”菜单命令,出现“向导选取”对话框,根据题意数据源是多个表,因此选定“一对多报表向导”。单击“确定”。
步骤一:在弹出的对话框中“数据库和表”选项选择父表 stu,并把“可用字段”的“学号”和“姓名”选为“选定字段”。
步骤二:选择子表 kech,并把“可用字段”的“课程号”和“成绩”选为“选定字段”。
步骤三:系统自动以“学号”建立两表之间的关系。
步骤四:在“排序记录”中选择“学号”,并选择“升序”排序。
步骤五:报表样式选择为“简报式”,方向为“纵向”。
步骤六:把表单标题改为“学生成绩信息”,可以在单击“完成”之前单击“预览”按钮来预览生成的报表,最后单击“完成”按钮。
将报表以文件名myre 保存在考生文件夹里。 解析:本大题1小题考查了SQL联接查询,设计过程中主要注意两个表之间进行关联的字段;2小题考查的是根据表单向导生成联系多表的报表内容,利用向导时应注意父表和子表的选择。 第2题:
在考生文件夹下“student.mdb”数据库中有student、课程和成绩三张表。
(1)以student表为数据源,创建查询“查询1”,查询>=20岁的男学生信息。结果显示学号、姓名、性别和年龄字段。查询结果如图所示。

(2)以student表为数据源,创建更新查询“查询2”,将每个学生的年龄增加一岁

第3题:
(1)在考生文件夹下,有一个数据库“school”,其中有数据库表“student”、“score”和“course”。在表单向导中选取“一对多表单向导”创建一个表单。要求:从父表“student”中选取字段“学号”和“姓名”,从子表“score”中选取字段“课程编号”和“成绩”,表单样式选用“浮雕式”,按钮类型使用“图片按钮”,按“学号”升序排序,表单标题为“学生成绩浏览”,最后将表单存放在考生文件夹中,表单文件名为 “bd2”。
(2)在考生文件夹中有一数据库“school”,其中有数据库表“student”、“score”和“course”。建立“成绩大于等于75分”、按“学号”升序排序的本地视图“view2”,该视图按顺序包含字段“学号”、“姓名”、“成绩”和“课程名称”。
第4题:
在考生文件夹下有一个数据库stsc,其中有数据库表student、score和course,利用SQL语句查询选修了“网络工程”课程的学生的全部信息,并将结果按学号降序存放在netp.dbf文件中(表的结构同student,并在其后加入课程号和课程名字段)。
2.在考生文件夹下有一个数据库stsc,其中有数据库表student,使用一对多报表向导制作一个名为cjb的报表,存放在考生文件夹下。
要求:从父表student中选择学号和姓名字段,从广表score中选择课程号和成绩,排序字段选择学号(升序),报表式样为简报式,方向为纵向。报表标题为“学生成绩表”。
单击“下一步”进入“选择排序方式”的设计界面将“可用字段或索引标识”列表框中的“学号”字段添加到右边的“选定字段”列表框中并选择“升序”单选项。
单击“下一步”进入“选择报表样式”的界面在“样式”列表框中选择 “简报式”’在“方向”选项组中选择“纵向”。
单击“下一步”进入最后的“完成”设计界面在“标题”文本框中输入“学生成绩表”为报表添加标题单击“完成”命令按钮在系统弹出的“另存为”对话框中将报表以cjb文件名保存在考生文件夹下退出报表设计向导。
单击“下一步”进入“选择排序方式”的设计界面,将“可用字段或索引标识”列表框中的“学号”字段添加到右边的“选定字段”列表框中,并选择“升序”单选项。
单击“下一步”进入“选择报表样式”的界面,在“样式”列表框中选择 “简报式”’在“方向”选项组中选择“纵向”。
单击“下一步”,进入最后的“完成”设计界面,在“标题”文本框中输入“学生成绩表”为报表添加标题,单击“完成”命令按钮,在系统弹出的“另存为”对话框中,将报表以cjb文件名保存在考生文件夹下,退出报表设计向导。 解析:本大题第1小题考查的是利用SQL语句进行多表查询以及查询输出,程序设计中应注意数据表之间的关联以及查洵结果的分组排序:第1小题主要考查报表向导的使用,只要根据每个向导界面的提示来完成相应的步骤即可。
第5题:
在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT、SCORE和COURSE
利用SQL语句查询选修了“网络工程”课程的学生的全部信息,并将结果按学号降序存放在NETP.DBF文件中(库的结构同STUDENT,并在其后加入课程号和课程名字段)。
2.在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT,使用一对多报表向导制作一个名为 cj2的报表,存放在考生文件夹中。要求:选择父表STUDENT表中学号和姓名字段,从子表SCORE中选择课程号和成绩,排序字段选择学号(升序),报表式样为简报式,方向为纵向。报表标题为“学生成绩表”。