access上机练习2.doc
数据库管理系统应用(Access 2003)上机操作综合练习题(2012131)一、基本操作题:(一)创建一个数据库文件"samp1、mdb"。请按以下操作要求完成表得建立与修改:(1)创建一个名为"tEmployee"得新表,其结构如下:字段名称数据类型字段大小格式职工ID文本5姓名文本10职称文本6聘任日期日期/时间常规日期(2) 判断并设置表"tEmployee"得主关键字。(3) 在"聘任日期"字段后添加"借书证号"字段,字段得数据类型为文本,字段大小为10。(4) 将"tEmployee"表中得"职称"字段得"默认值"属性设置为"副教授"。(5) 设置"职工ID"字段得输入掩码为只能输入5位数字形式。(6) 向"tEmployee"表中填入如下内容("借书证号"字段可输入任意非空内容):职工ID姓名职称聘任日期00001112副教授199511100002113教授1995121200003114讲师1998101000004115副教授199281100005116副教授199691100006117教授19981028(二)在JCSC文件夹中有一个数据库文件"samp4、mdb"。请按以下操作要求完成表得建立与修改:(1) 建立表"tTeacher",表结构如下:字段名称数据类型字段大小格式编号文本5姓名文本4性别文本1年龄数字整型工作时间日期/时间短日期职称文本5邮箱密码文本6联系电话文本8在职否就是/否就是/否(2) 根据"tTeacher"表得结构,判断并设置主键。(6) 在"tTeacher"表中输入以下一条记录:编号姓名性别年龄工作时间职称邮箱密码联系电话在职否92016李丽女32199293讲师620172010 ü(三)在JCSC文件夹中有一个数据库文件"samp7、mdb"。请按以下操作要求完成表得建立与修改:(1) 建立表"tBook",表结构如下:字段名称数据类型字段大小格式编号文本8教材名称文本30单价数字单精度型小数位数2位库存数量数字整型入库时间日期/时间短日期需要重印否就是/否就是/否简介备注(2) 判断并设置"tBook"表得主键。(3) 设置"入库日期"字段得默认值为系统当前日期得前一天得日期。(4) 在"tBook"表中输入以下2条记录:编号教材名称单价库存数量入库时间需要重印否简介A200401VB入门37、5020201051ü考试用书B200402英语六级强化20、005002011516ü辅导用书注:"单价"为2位小数显示。(5) 设置"编号"字段得输入掩码为只能输入8位数字或字母形式。(6) 在“数据表视图”中将"简介"字段隐藏起来。(四)在JCSC文件夹下得"samp10、mdb"数据库文件中已建立了3个关联表对象(名为"职工表"、"物品表"与"销售业绩表")、一个表对象(名为"tTemp")与一个宏对象(名为"mTest")。请按以下要求完成表与宏得各种操作:(1) 建立表"tCourse",表结构如下:字段名称数据类型字段大小格式课程编号文本8课程名称文本20学时数字整型学分数字单精度型开课日期日期/时间短日期(2)设置表得有效性规则与有效性文本。有效性规则为:"学时"字段得值必须与"学分"字段得值相等;有效性文本为“学时必须与学分相同”。(3)设置"开课日期"字段得输入掩码为"短日期",默认值为本年度得九月一日(规定:本年度年号必须由函数获取)。(4)重命名表对象"物品表"中"研制时间"字段为"研制日期"字段,并将其"短日期"显示格式改为"长日期"显示,并在数据表视图中冻结该字段。(5)将JCSC文件夹下得文本文件"Test、txt"中得数据导入追加到当前数据库得数据表"tTemp"中。(6)建立表对象"职工表"、"物品表"与"销售业绩表"得表间关系,并实施参照完整性。(7)将宏对象mTest重命名为自动运行得宏。(五)在JCSC文件夹下有一个Excel文件"Test、xls"与一个数据库文件"samp13、mdb"。"samp13、mdb"数据库文件中已建立3个表对象(名为"线路"、"游客"与"团体")。请按以下要求完成表得各种操作:(1) 将"线路"表中得"线路ID"字段设置为主键;设置"天数"字段得有效性规则属性,有效性规则为:不能就是负数或零。(2) 将"团队"表中得"团队ID"字段设置为主键;添加"线路ID"字段,数据类型为"文本",字段大小为8。(3) 将"游客"表中得"年龄"字段删除;再添加两个字段:字段名分别为"证件编号"与"证件类别""证件编号"得数据类型为"文本",字段大小为20;使用查阅向导建立"证件类别"字段得数据类型,向该字段键入得值为"身份证"、"军官证"或"护照"等固定常数。(4) 建立"线路"、"团队"与"游客"3表之间得关系,并实施参照完整性。(5) 将"游客"表中得"姓名"字段设置为"必填"字段,并设置为有重复索引。(6) 将JCSC文件夹下"Test、xls"文件中得数据链接到当前数据库中。要求:数据中得第一行作为字段名,链接表对象命名为"tTest"。(7) 将"线路"表得数据导出到JCSC文件夹下,以文本文件得形式保存,命名为"Line、TXT"。要求:第一行包含字段名称,各数据项之间以分号分隔。二、简单应用题:(一)在JCSC文件夹下有一个数据库文件"samp14、mdb",里面已经设计好两个表对象"tA"与"tB"。请按以下要求完成设计:(1) 创建一个查询,查找并显示所有客人得"姓名"、"房间号"、"电话"与"入住日期"4个字段内容,将查询命名为"qT1"。(2) 创建一个查询,能够在客人结账时根据客人得姓名统计这个客人已住天数与应交金额,并显示"姓名"、"房间号"、"已住天数"与"应交金额",将查询命名为"qT2"。注: 输入姓名时应提示"请输入姓名:" , 应交金额已住天数*价格。(3) 创建一个查询,查找"身份证"字段第4位至第6位值为"102"得纪录,并显示"姓名"、"入住日期"与"价格"3个字段内容,将查询命名为"qT3"。(4) 以表对象"tB"为数据源创建一个交叉表查询,使用房间号统计并显示每栋楼得各类房间个数。行标题为"楼号",列标题为"房间类别",所建查询命名为"qT4"。注:房间号得前两位为楼号。(二)在JCSC文件夹下有一个数据库文件"samp11、mdb",里面已经设计好3个关联表对象(名为"tStud"、"tCourse"、"tScore")、一个空表(名为"tTemp")与一个窗体对象(名为"fTemp")。请按以下要求完成设计:(1) 创建一个选择查询,查找没有绘画爱好学生得"学号"、"姓名"、"性别"与"年龄"4个字段内容,所建查询命名为"qT1"。(2) 创建一个选择查询,查找学生得"姓名"、"课程名"与"成绩"3个字段内容,将查询命名为"qT2"。(3) 创建一个参数查询,查找学生得"学号"、"姓名"、"年龄"与"性别"4个字段内容。其中设置"年龄"字段为参数,参数值要求引用窗体fTemp上控件tAge得值,将查询命名为"qT3"。 (4) 创建追加查询,将表对象"tStud"中"学号"、"姓名"、"性别"与"年龄"4个字段内容追加到目标表"tTemp"得对应字段内,将查询命名为"qT4"。(规定:"姓名"字段得第一个字符为姓。要求将学生学号与学生得姓组合在一起,追加到目标表得"标识"字段中)。(三)在JCSC文件夹下有一个数据库文件"samp8、mdb",其中存在已经设计好得3个关联表对象"tStud"、"tCourse"与"tScore"及表对象"tTemp"。请按以下要求完成设计:(1) 创建一个查询,查找并显示学生得"姓名"、"课程名"与"成绩"3个字段内容,将查询命名为"qT1"。(2) 创建一个查询,查找并显示有摄影爱好得学生得"学号"、"姓名"、"性别"、"年龄"与"入校时间"5个字段内容,将查询命名为"qT2"。(3) 创建一个查询,查找学生得成绩信息,并显示"学号"与"平均成绩"两列内容。其中"平均成绩"一列数据由统计计算得到,将查询命名为"qT3"。(4) 创建一个查询,将"tStud"表中女学生得信息追加到"tTemp"表对应得字段中,将查询命名为"qT4"。(四)在JCSC文件夹下有一个数据库文件"samp5、mdb",里面已经设计好两个表对象"tNorm"与"tStock"。请按以下要求完成设计:(1) 创建一个查询,查找产品最高储备与最低储备相差最小得数量并输出,标题显示为"m_data",所建查询命名为"qT1"。(2) 创建一个查询,查找库存数量超过10000(不含10000)得产品,并显示"产品代码"、"产品名称"与"库存数量"。所建查询名为"qT2"。(3) 创建一个查询,按输入得产品代码查找其产品库存信息,并显示“产品代码”、“产品名称”与“库存数量”。当运行该查询时,应显示提示信息“请输入产品代码:”。所建查询名为“qT3”。(4) 创建一个交叉表查询,统计并显示每种产品不同规格得平均单价,显示时行标题为产品名称,列标题为规格,计算字段为单价,所建查询名为"qT4"。注意:交叉表查询不做各行小计。(五)在JCSC文件夹下有一个数据库文件"samp2、mdb",其中存在已经设计好得3个关联表对象"tCourse"、"tGrade"、"tStudent"与一个空表"tSinfo",请按以下要求完成设计:(1) 创建一个查询,查找并显示所有学生得"姓名"、"政治面貌"、"课程名"与"成绩"4个字段得内容,将查询命名为"qT1"。(2) 创建一个查询,计算每名学生所选课程得学分总与,并依次显示"姓名"与"学分",其中"学分"为计算出得学分总与,将查询命名为"qT2"。(3) 创建一个查询,查找年龄小于平均年龄得学生,并显示其"姓名",将查询命名为"qT3"。(4) 创建一个查询,将所有学生得"班级编号"、"学号"、"课程名"与"成绩"等值填入"tSinfo"表相应字段中,其中"班级编号"值就是"tStudent"表中"学号"字段得前6位,将查询命名为"qT4"。三、综合应用题(一)在JCSC文件夹下有一个数据库文件"samp9、mdb",其中存在已经设计好得表对象"tEmployee"与宏对象"ml",同时还有以"tEmployee"为数据源得窗体对象"fEmployee"。请在此基础上按照以下要求补充窗体设计:(1) 在窗体得窗体页眉节区添加一个标签控件,名称为"bTitle",初始化标题显示为"雇员基本信息",字体名称为"黑体",字号大小为18。(2) 将命令按钮bList得标题设置为"显示雇员情况"。(3) 单击命令按钮bList,要求运行宏对象m1;单击事件代码已提供,请补充完整。(4) 取消窗体得水平滚动条与垂直滚动条;取消窗体得最大化与最小化按钮。(5) 在"窗体页眉"中距左边0、5厘米,上边0、3厘米处添加一个标签控件,控件名称为"Tda",标题为"系统日期"。窗体加载时,将添加标签标题设置为系统当前日期。窗体"加载"事件已提供,请补充完整。注意:l 不能修改窗体对象"fEmployee"中未涉及得控件与属性;不能修改表对象"tEmployee"与宏对象"m1"。l 程序代码只允许在"*Add*"与"*Add*"之间得空行内补充一行语句、完成设计,不允许增删与修改其它位置已存在得语句。(二)在JCSC文件夹下有一个数据库文件"samp6、mdb",里面已经设计好表对象"tBorrow"、"tReader"与"tBook",查询对象"qT",窗体对象"fReader",报表对象"rReader"与宏对象"rPt"。请在此基础上按以下要求补充设计:(1) 在报表"rReader"得报表页眉节区内添加一个标签控件,其名称为"bTitle",标题显示为"读者借阅情况浏览",字体名称为"黑体",字体大小为22,并将其安排在距上边0、5厘米、距左侧2厘米得位置。(2) 设计报表"rReader"得主体节区为"tSex"文本框控件,设置数据来源显示性别信息,并要求按"借书日期"字段升序显示,"借书日期"得显示格式为"长日期"形式。(3) 将宏对象"rpt"改名为"mReader"。(4) 在窗体对象"fReader"得窗体页脚节区内添加一个命令按钮,命名为"bList",按钮标题为"显示借书信息",其单击事件属性设置为宏对象"mReader"。(5) 窗体加载时设置窗体标题属性为系统当前日期。窗体"加载"事件代码已提供,请补充完整。注意:l 不允许修改窗体对象"fReader"中未涉及得控件与属性;不允许修改表对象"tBorrow"、"tReader"与"tBook"及查询对象"qT"不允许修改报表对象"rReader"得控件与属性。l 程序代码只允许在"*Add*"与"*Add*"之间得空行内补充一行语句、完成设计,不能增删与修改其它位置上已存在得语句。(三)在JCSC文件夹下有一个数据库文件"samp12、mdb",里面已经设计了表对象"tEmp"、窗体对象"fEmp"、窗体对象"fTest"、报表对象"rEmp"与宏对象"mEmp"。请在此基础上按照以下要求补充设计:(1)在窗体fTest中,以命令按钮"bt1"为基准(这里按钮"bt1"与"bt3"尺寸相同、左边对齐),调整命令按钮"bt2"得大小与位置。要求:按钮"bt2"得大小尺寸与按钮"bt1"相同、左边界与按钮"bt1"左对齐、竖直方向位于按钮"bt1"与"bt3"得中间位置。(2) 设置报表"rEmp"按照"年龄"字段降序排列输出;将报表页面页脚区域内名为"tPage"得文本框控件设置为"第N页/共M页"形式得页码显示。(3) 将"fEmp"窗体上名为"bTitle"得标签宽度设置为5厘米、高度设置为1厘米,设置其标题为"数据信息输出"并居中显示。(4) 在"fEmp"窗体上添加一个命令按钮(名为"btnC"),其大小与窗体上得两个命令按钮相同,该按钮上显示"关闭窗体",放置在"打开表"命令按钮得下方并与之左对齐。设置其功能:单击时,关闭"fEmp"窗体。(5) 单击"fEmp"窗体上得"输出"命令按钮(名为"btnP"),可实现以下功能:计算斐波那契(Fibonacci)数列第19项得值,将结果显示在窗体上名为"tData"得文本框内并输出到外部文件保存;F11 当 n1F21 当 n2FnFn1Fn2 当 n>3Fibonacci数列:调试完毕后,必须点击"输出"命令按钮生成外部文件,才能得分。试根据上述功能要求,对已给得命令按钮事件进行补充与完善。(6) 单击"打开表"命令按钮(名为"btnQ"),调用宏对象"mEmp"以打开数据表"tEmp"。注意:l 不要修改数据库中得宏对象"mEmp"不要修改窗体对象"fEmp"与报表对象"rEmp"中未涉及得控件与属性。l 程序代码只允许在"*Add*"与"*Add*"之间得空行内补充一行语句、完成设计,不允许增删与修改其它位置已存在得语句。(四)在JCSC文件夹下有一个数据库文件"samp3、mdb",其中存在已经设计好得表对象"tAddr"与"tUser",同时还有窗体对象"fEdit"与"fEuser"。请在此基础上按照以下要求补充"fEdit"窗体得设计:(1) 将窗体中名称为"LRemark"得标签控件上得文字颜色改为红色(红色代码为255)、字体粗细改为"加粗"。(2) 将窗体标题设置为"修改用户信息"。(3) 将窗体边框改为"对话框边框"样式,取消窗体中得水平与垂直滚动条、记录选定器、导航按钮与分隔线。(4) 将窗体中"退出"命令按钮(名称为"cmdquit")上得文字颜色改为棕色(棕色代码为128)、字体粗细改为"加粗",并给文字添加下划线。(5) 在窗体中还有"修改"与"保存"两个命令按钮,名称分别为"CmdEdit"与"CmdSave",其中"保存"命令按钮在初始状态为不可用,当单击"修改"按钮后,应使"保存"按钮变为可用。现已编写了部分VBA代码,请按照VBA代码中得提示将代码补充完整。要求:修改后运行该窗体,并查瞧修改结果。注意:l 不能修改窗体对象"fEdit"与"fEuser"中未涉及得控件、属性;不能修改表对象"tAddr"与"tUser"。l 程序代码只允许在"*"与"*"之间得空行内补充一行语句、完成设计,不允许增删与修改其它位置已存在得语句。(五)在JCSC文件夹下有一个数据库文件"samp15、mdb",里面已经设计了表对象"tEmp"、查询对象"qEmp"与窗体对象"fEmp"与"brow"。同时,给出窗体对象"fEmp"上两个按钮得单击事件代码,请按以下要求补充设计。(1) 修改窗体"brow",取消"记录选定器"与"分隔线"显示,在窗体页眉处添加一个标签控件(名为Line),标签标题为"线路介绍",字体名称为隶书、字体大小为18(2) 将窗体"fEmp"上名称为"tSS"得文本框控件改为组合框控件,控件名称不变,标签标题不变。设置该组合框控件得相关属性,以实现从下拉列表中选择输入性别值"男"与"女"。(3) 将查询对象"qEmp"改为参数查询,参数为窗体对象"fEmp"上组合框"tSS"得输入值。(4) 将窗体对象"fEmp"上名称为"tPa"得文本框控件设置为计算控件。要求依据"党员否"字段值显示相应内容。如果"党员否"字段值为True,显示"党员"两个字;如果"党员否"字段值为False,显示"非党员"3个字。(5) 在窗体对象"fEmp"上有"刷新"与"退出"两个命令按钮,名称分别为"bt1"与"bt2"。单击"刷新"按钮,窗体记录源改为查询对象"qEmp"单击"退出"按钮,关闭窗体。现已编写了部分VBA代码,请按VBA代码中得指示将代码补充完整。注意:l 不要修改数据库中得表对象"tEmp"不要修改查询对象"qEmp"中未涉及得内容;不要修改窗体对象"fEmp"中未涉及得控件与属性。l 程序代码只允许在"*Add*"与"*Add*"之间得空行内补充一行语句、完成设计,不允许增删与修改其它位置已存在得语句。