数据库、表、查询操作题(每小题3分)
1. 新建“学生成绩管理”数据库,设置该数据库的属性:摘要里标题设置为“学生成绩管理”,作者为个人学号+姓名,单位为“浙江工商大学”。在该数据库文件中建立表“学生表”、“课程表”、“成绩表”,其表结构如表1-3所示。分别导入考生文件夹下的“源数据.xls”里的三张工作表。注意:先建表,后导入。
表1 学生表结构
字段名称
数据类型
字段大小
字段名称
数据类型
字段大小
学号
文本
6
专业
文本
10
姓名
文本
4
四级通过
是/否
默认
性别
文本
1
入学成绩
数字
整型
出生日期
日期型
短日期
家庭住址
文本
20
政治面貌
查阅向导
4(党员、团员、众)
照片
OLE对象
默认
表2 课程表结构
字段名称
数据类型
字段大小
字段名称
数据类型
字段大小
课程号
文本
3
学分
数字
单精度(1位小数)
课程名
文本
10
类别
文本
10
学时
数字
整型
简介
备注型
默认
表3 成绩表结构
字段名称
数据类型
字段大小
字段名称
数据类型
字段大小
学号
文本
6
期中
数字
单精度(1位小数)
课程号
文本
3
期末
数字
单精度(1位小数)
平时
数字
单精度(1位小数)
2. “学生表”:设置“学号”为主键(必填、非空)、“姓名”为必填、非空字段。“课程表”:设置“课程号”为主键(必填、非空),“课程名”为必填、非空字段;分析“成绩表”的字段构成、判断并设置主键和字段属性。此外,建立三个表之间的关系并实施参照完整性。
3. 设置“学生表”中“出生日期”字段的默认值为系统当前日期。
4. 设置“学生表”显示的字体大小为14、行高为18;其中“姓名”和“入学成绩”两个字段的显示宽度为10,“学号”、“出生日期”和“家庭住址”的列宽设置为最佳匹配;隐藏“学生表”中“出生日期”字段列,并保存布局。
5. 冻结“成绩表”中“学号”、“课程号”字段列,并保存布局。
6. 设置“课程表”中“简介”字段的设计说明为“该课程的任课教师情况”,标题为“任课教师情况”。
7. 设置“学生表”中“学号”字段的输入掩码为只能输入6位数字形式;设置 “课程表”中“课程号”字段的输入掩码只能输入1位字母加2位数字形式。
8. 设置“成绩表”的显示格式,使表的背景颜为“银白”、网格线为“深蓝”、文字字号为五号。
9. 设置“学生表”中的“性别”字段的有效性规则为性别必须为“男”或“女”,默认值为“女”,有效性文本为“性别输入有误”;设置“学生表”中的“入学成绩”字段的有效性规则为入学成绩大于等于500,且小于等于750,有效性文本为“入学成绩录入有误”。
10. 在“学生表”中“家庭住址”和“照片”两字段间增加一个字段,名称为“”,数据类型为“文本”,大小为13;将新增“”字段的输入掩码设置为“0571-********”形式。其中“0571-”部分自动输出,后八位为0到9的数字显示。
11. 将“学生表”中学号为“110301”的学生的“照片”字段数据设置为考生文件夹下的“110301.bmp”图像文件。
12. 设置“成绩表”的主索引“PrimaryKey”,第一个字段为“课程号”,排序次序为降序;第二个字段为“学号”,排序次序为升序;建立“课程表”的普通索引“课程名”,字段为“课程名”,排序次序为升序。
13. 将考生文件夹下“源数据.xls”文件中的工作表“学生表”链接到“学生成绩管理.mdb”数据库文件中,第一行包含列标题,要求链接表对象重命名为“学生表EXCEL版”。
14. 将“学生表”导出到考生文件夹下的“备份库.mdb”空数据库文件中,要求只导出表结构定义,导出的表命名为“学生表bk”。
15. 创建一个查询,查“学生表”里所有姓名不含有“帅”字的记录,含所有字段,所建查询命名为“qT15”。注意:逻辑运算符Not的使用。
16. 创建一个查询,查“入学成绩”大于等于600的学生,并按入学成绩降序显示“学号”、“姓名”、“性别”和“入学成绩”四个字段的内容,所建查询命名为“qT16”。
17. 创建一个查询,检索“入学成绩”大于等于650的学生的“学号”和“姓名”信息,然后将两列信息合二为一输出(比如,学号为“000011”、姓名为“吴大伟”的数据输出形式为“000011吴大伟”),并命名字段标题为“高分学生名单”,所建查询命名为“qT17”。
18. 创建一个查询,查并显示家庭住址和“四川”有关的学生的“学号”、“姓名”、“性别”和“入学成绩”四个字段内容,所建查询命名为“qT18”。
19. 创建一个查询,查并显示“计算机”课程期末的男生和女生平均分数,所建查询命名为“qT19”。
20. 创建一个查询,查学生的成绩信息,并显示为“学号”、 “姓名”、 “课程名”、“综合成绩”四列内容。其中“综合成绩”一列数据由统计计算得到(综合成绩=平时*0.1+期中*0.3+期末*0.6),所建查询命名为“qT20”。
21. 创建一个查询,查平时或期中或期末成绩不及格的学生的“学号”、“平时”、“期中”、“期末”四个字段内容,所建查询命名为“qT21”。
22. 创建一个查询,按输入的学号和课程号来查该生的平时、期中、期末成绩,并显示“学号”、“课程号”、“课程名”、“平时”、“期中”、 “期末”等字段的内容,所建查询命名为“qT22”;当运行该查询时,应先后显示参数提示信息:“请输入学号:”和“请输入课程号:”。
23. 新建表“tTemp”,其结构如表4所示。创建一个查询,将男学生的“学号”、“课程号”和“综合成绩”等信息追加到“tTemp”表的对应字段中,所建查询命名为“qT23”。(综合成绩=平时*0.1+期中*0.3+期末*0.6)
表4  tTemp结构
字段名称
数据类型
字段大小
字段名称
数据类型
字段大小
学号
文本
6
综合成绩
数字
单精度(1位小数)
课程号
文本
3
24. 创建一个查询,统计各门课程的选修学生人数,并以学生人数降序显示为“课程号”、“课程名”、“学生人数”三列内容,所建查询命名为“qT24”;注:某学生有平时成绩即可视为该学生选修了该课程。
25. 以查询对象“qT20”为基础,创建一个交叉表查询。要求:选择班级号为行标题、列名称显示为“课程名”为列标题来统计输出每个班级的各门课程的平均综合成绩信息。所建查询命名为“qT25”;(注:学号的前四位为班级号)注意:交叉表查询不做各行小计。此题着重体会查询的来源可以是另外一个查询。
26. 创建一个查询,查并显示“课程表”中“简介”为空的“课程号”、“课程名”、“学时”、“学分”、“类别”等字段内容,所建查询命名为“qT26”;注意Null的使用。
27. 创建一个查询,按专业统计各自男女学生的平均年龄,显示字段标题为“所属专业”、“平均年龄”,所建查询命名为“qT27”。
28. 创建一个查询,按专业统计各自学生的平均年龄,显示字段标题为“所属专业”、“性别”和“平均年龄”,所建查询命名为“qT28”;
29. 创建一个查询,按课程号分类统计期末最高分成绩与最低分成绩的差,并显示课程名最高分与最低分的差等内容。其中,期末最高分与最低分的差由计算得到并降序排列,所建查询命名为“qT29”。注意MaxMin函数的使用。
30. 创建一个查询,计算每名学生所选课程的学分总和,并按“学分”降序“姓名”升序依次显示“姓名”和“学分”,其中“学分”为计算出的学分总和,所建查询命名为“qT30”。
31. 创建一个查询,将表“学生表”中“专业”字段值均在后面增加“专业”两个字符,所建查询命名为“qT31”。
32. 创建一个查询,将“学生表”中“政治面貌”字段值为“党员”的调整为“共产党员”,所建查询命名为“qT32”。
33. 创建一个查询,将“成绩表”中“期末”字段值不及格的调整为60分,所建查询命名为“qT33”。
34. 创建一个查询,查年满28周岁的团员名单,显示学号姓名出生日期政治面貌四个字段内容,所建查询命名为“qT34”。(提示:用到DateSerialDateYearMonth
22年12月四级成绩查询Day等函数,其涵义见课本)
35. 创建一个查询,将表“学生表”中年满28周岁的团员的政治面貌修改为“众”,所建查询命名为“qT35”。
36. 创建一个查询,删除成绩表里所有姓名含有如花的同学的成绩记录,所建查询命名为“qT36”
37. 创建生成表查询,组成字段是王一老师授课的“课程号”、“课程名”、“学时”、 “学分”、“类别”等字段的内容,生成的数据表命名为“王一老师教学任务表”,所建查询命名为“qT37”。
窗体、报表、宏操作题(每小题3分)
在考生文件夹下存在一个数据库文件“学生成绩管理.mdb”,里面已经设计好窗体对象“fStud”、报表对象“rStud”和查询对象“qStud”,在此基础上按照以下要求补充设计:
1. 将窗体“fStud”的标题设置为“学生基本情况”;记录源设置为表对象“学生表”;将窗体上名为“bPrint”命令按钮的外观设置为图片显示,图片选择考生文件夹下的“logo.bmp”图像文件;
将考生文件夹下的图像文件“bk2.jpg”设置为窗体“fStud”的背景。将“bPrint”命令按钮的单击事件设置为窗体代码区已经设计好的事件过程bPrint_Click;正确设置窗体主体节区各文本框的控件来源。
2. 在窗体对象“fStud”的窗体页脚节区内添加一个命令按钮,命名为“bDispScore”,按钮标题为“显示学生成绩报表”,且按钮状态由有效状态改为灰无效状态;
3. 将名称为“标签1”的标签控件名称改为“lStud”,标题改为“学生基本情况”;
4. 在窗体页脚节区位置距窗体左边2厘米、距上边0.1厘米处依次水平放置两个命令按钮,分别命名为“bOk”和“bQuit”,按钮标题分别为“确定”和“退出”;命令按钮的宽度均为2厘米,高度为0.8厘米,每个命令按钮相隔0.5厘米。
5. 将“fStud”窗体上名为“bPrint”的按钮上移到距“OLEPhoto”绑定对象框0.284厘米的位置(即按钮的上边界距绑定对象框的下边界0.284厘米)。
6. 将窗体中“bQuit”命令按钮上的文字颜改为棕(棕代码为128)、字体粗细改为“加粗”,并在文字下方加上下划线;
7. 在窗体主体节区位置添加一个选项组控件,将其命名为“opt”, 控件来源为“四级通过”;选项组标签显示内容为“四级通过”,名称为“bopt”,背景为透明;在选项组内放置两个选项按钮控件,选项按钮分别命名为“opt1”和“opt2”,选项按钮标签显示内容分别为“是”和“否”,名称分别为“bopt1”和“bopt2”。