1、【
简答题】
基本操作:
在考生文件夹下,"samp1.mdb"数据库文件中已建立三个关联表对象(名为"职工表"、"物品表"和"销售业绩表")、一个窗体对象(名为"fTest")和一个宏对象(名为"mTest")。试按以下要求,完成表和窗体的各种操作:
(1)分析表对象"销售业绩表"的字段构成、判断并设置其主键。
(2)为表对象"职工表"追加一个新字段。字段名称为"类别"、数据类型为"文本型"、字段大小为2,设置该字段的有效性规则为只能输入"在职"与"退休"值之一。
(3)将考生文件夹下文本文件Test.txt中的数据链接到当前数据库中。其中,第一行数据是字段名,链接对象以"tTest"命名保存。
(4)窗体fTest上命令按钮"bt1"和命令按钮"bt2"大小一致,且上对齐。现调整命令按钮 "bt3"的大小与位置。要求:按钮"bt3"的大小尺寸与按钮"bt1"相同、上边界与按钮"bt1"上对齐、水平位置处于按钮"bt1"和"bt2"的中间。
注意,不允许更改命令按钮"bt1"和"bt2"的大小和位置。
(5)更改窗体上三个命令按钮的Tab键移动顺序为:bt1->bt2->bt3->bt1->...。
(6)将宏"mTest"重命名为"mTemp"。
[10分]
解析:
本题主要考核点:复合主键的设置、宏的重命名、有效性规则的设置、链接表、表结构的设置和窗体的设计。
本题解题思路:
第一步:打开考生文件夹下的"samp1.mdb"数据库。
第二步:打开表"销售业绩表",由表中内容可知,"时间"、"编号"和"物品号"为该表的主关键字,点击"设计视图"按钮,在弹出的表设计器中选中"时间"、"编号"和"物品号"行,点击工具栏上的"主键"按钮。
第三步:选择表"职工表",点击"设计"按钮,选中"性别"字段后的空白字段,在"字段名称"中输入"类别","数据类型"选择"文本","字段大小"为"2",选中下面的"有效性规则",在右边的框中输入"In ("在职","退休")"。
第四步:单击"文件"菜单下"获取外部数据"下的"链接表"菜单,在弹出的对话框中选择考生文件夹中的"Test.txt",单击"下一步"按钮、选中"第一行包含列标题",再点击"下一步"按钮,链接表名称为"tTest",点击"完成"。
第五步:选中"fTest"窗体,点击"设计"按钮,选中"bt3"命令按钮,并点击菜单栏上"视图"下的"属性"按钮,"左边距"属性设置为4厘米(即"bt1"与"bt2"左边距和的平均值),"宽度"为2厘米,"高度"为1厘米,"上边距"为2厘米。
第六步:选中"fTest"窗体,点击"设计"按钮,选中"bt2"命令按钮,并点击菜单栏上"视图"下的"属性"按钮,将"Tab键索引"属性设置为1;选中"bt3"命令按钮,将"Tab键索引"属性设置为2。
第七步:选中宏"mTest",选择"编辑"菜单中的"重命名",重命名为"mTemp"。
2、【
简答题】
基本操作:
在考生文件夹下,存在一个数据库文件"samp1.mdb"和一个图像文件"photo.bmp"。在数据库文件中已经建立了一个表对象"tStud"。试按以下操作要求,完成各种操作:
(1)设置"ID"字段为主键;并设置"ID"字段的相应属性,使该字段在数据表视图中的显示名称为"学号"。
(2)删除"备注"字段。
(3)设置"入校时间"字段的有效性规则和有效性文本。具体规则是:输入日期必须在2000年1月1日之后(不包括2000年1月1日);有效性文本内容为"输入的日期有误,重新输入"。
(4)修改字段"照片"的数据类型为"OLE对象";将学号为"20011002"学生的"照片"字段值设置为考生文件夹下的"photo.bmp"图像文件(要求使用"由文件创建"方式)。
(5)将冻结的"姓名"字段解冻;并确保"姓名"字段列显示在"学号"字段列的后面。
(6)将"tStud"表中的数据导出到文本文件中,并以"tStud.txt"文件名保存到考生文件夹下。第一行包含字段名称,各数据项间以逗号分隔。
[10分]
解析:
本题主要考核点:主键的设置、字段的删除、有效性规则和文本的设置、表字段设置、字段冻结和导出表中记录。
本题解题思路:
第一步:打开考生文件夹下的"samp1.mdb"数据库。
第二步:选择表"tStud",点击"设计"按钮,选中"ID"字段行,点击工具栏上的"主键"按钮,再选中下面的"标题",在右边的框中输入"学号"。
第三步:选中"备注"字段,在工具栏上选择"删除行"或者在鼠标右击后弹出的菜单中选择"删除行",在弹出的对话框中选择"是"。
第四步:选中"入校时间"字段行,再选中下面的"有效性规则",在右边的框中输入">#2000-1-1#",选中下面的"有效性文本",在右边的框中输入"输入的日期有误,重新输入"。
第五步:选中"照片"字段行,设置"数据类型"属性为"OLE对象";打开表"tStud",找到学号为"20011002"学生的记录,选中此学生的"照片"字段,点击"插入"菜单中的"对象",或者右击,在弹出菜单中选择"插入对象",然后在弹出的对话框中选择"由文件创建"单选按钮,最后通过"浏览"按钮来选择考生文件夹下的图像文件"photo.bmp"。
第六步:打开表"tStud",选择"格式"菜单下的"取消对所有列的冻结"。
第七步:选中表"tStud",点击"文件"菜单下的"导出",在打开的"将"tStud"导出为"对话框中,选择保存类型为"文本文件",输入文件名"tStud",然后点击"导出",接着点击"下一步",在"请选择字段分隔符"下面选中"逗号"按钮,将"第一行包含字段名称"选中,接着点击"下一步",确认文件导出的路径无误,点击"完成"按钮。
3、【
简答题】
基本操作:
在考生文件夹下,存在一个数据库文件"samp1.mdb"。试按以下操作要求,完成表的建立和修改:
(1)创建一个名为"tEmployee"的新表,其结构如下:
(2)判断并设置表"tEmployee"的主关键字。
(3)在"聘任日期"字段后添加"借书证号"字段,字段的数据类型为文本,字段大小为10,有效性规则为不能是空值。
(4)将"tEmployee"表中的"职称"字段的"默认值"属性设置为"副教授"。
(5)设置"职工ID"字段的输入掩码为只能输入5位数字形式。
(6)向"tEmployee"表中填入如下内容("借书证号"字段可输入任意非空内容):
[10分]
解析:
本题主要考核点:在一个数据库中添加一个新表、表结构的定义、主键的设置、有效性规则的设置、默认值的设置、向表中输入记录和输入掩码的设置。
本题解题思路:
第一步:打开考生文件夹下的"samp1.mdb"数据库。
第二步:打开数据库菜单选择"新建(N)",在弹出的"新建表"对话框中,点击"设计视图"按钮,在弹出的表设计器中按题面要求依次输入各字段的定义。
第三步:主关键字是每个表中能惟一标识每条记录的字段,可以是一个字段,或是一组字段。由表中字段可知,"职工ID"为该表的主关键字,选中"职工ID"字段行,点击工具栏上的"主键"按钮。然后点击"文件"菜单下的"保存",输入表名"tEmployee",点击"确定"按钮。
第四步:选中"聘任日期"后的空白字段,在"字段名称"中输入"借书证号","数据类型"选择"文本","字段大小"为"10",选中下面的"有效性规则",在右边的框中输入"Is Not Null"。
第五步:选中"职称"字段行,点击"默认值"属性右边的"…"按钮,弹出"表达式生成器",在文本框中输入"副教授",也可以在"默认值"框中直接输入"副教授"。
第六步:选中"职工ID"字段行,"输入掩码"中输入:00000,然后保存该表。
第七步:向"tEmployee"表中输入题面所要求的各字段的内容。
4、【
简答题】
基本操作:
在考生文件夹下,存在一个数据库文件"samp1.mdb" ,里边已经设计好了表对象"tDoctor"、"tOffice"、"tPatient"和"tSubscribe"。试按以下操作要求,完成各种操作:
(1)在"samp1.mdb"数据库中建立一个新表,名为"tNurse",表结构如下表所示:
(2)判断并设置表"tNurse"的主键。
(3)设置"护士名称"字段为必填字段,"工作日期"字段的默认值为系统当前日期的后一天。
(4)设置"年龄"字段的"有效性规则"和"有效性文本"。具体规则为:输入年龄必须在22岁至40岁之间(含22岁和40岁),有效性文本内容为:年龄应在22岁到40岁之间。
(5)将下表所列数据输入到"tNurse"表中,且显示格式应与下表相同。
(6)通过相关字段建立"tDoctor"、"tOffice"、"tPatient"和"tSubscribe"等四表之间的关系,同时使用"实施参照完整性"。
[10分]
解析:
本题主要考核点:在一个数据库中添加一个新表、表结构的定义、主键的设置、有效性规则的设置、默认值的设置、向表中输入记录和建立表间关系。
本题解题思路:
第一步:打开考生文件夹下的"samp1.mdb"数据库。
第二步:打开数据库菜单选择"新建(N)",在弹出的"新建表"对话框中,点击"设计视图"按钮,在弹出的表设计器中按题面要求依次输入各字段的定义。
第三步:主关键字是每个表中能惟一标识每条记录的字段,可以是一个字段,或是一组字段。由表中字段可知,"护士ID"为该表的主关键字,选中"护士ID"字段行,点击工具栏上的"主键"按钮。然后点击"文件"菜单下的"保存",输入表名"tNurse",点击"确定"按钮。
第四步:选中"护士名称"字段行,将该字段的"必填字段"属性设置为"是";选中"工作日期"字段行,点击"默认值"属性右边的"…"按钮,弹出"表达式生成器",在文本框中输入"=Now()+1",也可以在"默认值"框中直接输入"=Now()+1"。
第五步:选中"年龄"字段行,再选中下面的"有效性规则",在右边的框中输入">=22 And <=40",选中下面的"有效性文本",在右边的框中输入"年龄应在22岁到40岁之间"。
第六步:向"tNurse"表中输入题面所要求的各字段的内容。其中"工作日期"字段格式需要选择为"长日期"。
第七步:选择工具栏上的"关系"按钮(或者单击右键,选择"关系"),然后单击菜单上的"显示表"按钮(或单击右键,在弹出的菜单中选择"显示表"),把"tDoctor"、"tOffice"、"tPatient"和"tSubscribe"表添加到关系窗体中,选中"tDoctor"表中的"医生ID"字段,然后拖到"tSubscribe"中的"医生ID"字段,然后在弹出的窗体中选中"实施参照完整性"复选框,然后点击"创建";选中"tOffice"表中的"科室ID"字段,然后拖到"tSubscribe"中的"科室ID"字段,然后在弹出的窗体中选中"实施参照完整性"复选框,然后点击"创建";选中"tPatient"表中的"病人ID"字段,然后拖到"tSubscribe"中的"病人ID"字段,然后在弹出的窗体中选中"实施参照完整性"复选框,然后点击"创建"。
5、【
简答题】
简单应用:
考生文件夹下存在一个数据库文件"samp2.mdb",里面已经设计好两个表对象"tA"和"tB"。试按以下要求完成设计:
(1)创建一个查询,查找并显示所有客人的"姓名"、"房间号"、"电话"和"入住日期"四个字段内容,所建查询命名为"qT1"。
(2)创建一个查询,能够在客人结账时根据客人的姓名统计这个客人已住天数和应交金额,并显示"姓名"、"房间号"、"已住天数"和"应交金额",所建查询命名为"qT2"。
注:输入姓名时应提示"请输入姓名:"
应交金额=已住天数*价格。
(3)创建一个查询,查找"身份证"字段第4位至第6位值为"102"的纪录,并显示"姓名"、"入住日期"和"价格"三个字段内容,所建查询命名为"qT3"。
(4)以表对象"tB"为数据源创建一个交叉表查询,使用房间号统计并显示每栋楼的各类房间个数。行标题为"楼号",列标题为"房间类别",所建查询命名为"qT4"。
注:房间号的前两位为楼号。
[10分]
解析:
本题主要考的是数据库的查询。
本题解题思路:
(1)点击"查询",选择"新建(N)",在弹出的"新建查询"窗体上选择"设计视图",然后在弹出的"显示表"窗体上选择"tA"和"tB"表,然后选择题目中所说的四个字段,以"qT1"保存查询。
(2)选择"新建(N)",在弹出的"新建查询"窗体上选择"设计视图",然后在弹出的"显示表"窗体上选择"tA"和"tB"表,选择"姓名"和"房间号"两个字段,在第三个字段中输入"已住天数:Date()-[入住日期]",在第四个字段中输入"应交金额:[价格]*[已住天数]",在"姓名"字段的"条件"中输入"[请输入姓名:]",最后以"qT2"保存查询。
(3)与第2小题类似,选择题目上所说的三个字段。然后在第四个字段中输入"Mid([身份证],4,3)",在此字段的"条件"中输入"102",并把"显示"中的钩去掉,最后以"qT3"保存查询。
(4)选择"新建(N)",在弹出的"新建查询"窗体上选择"设计视图",然后在弹出的"显示表"窗体上选择"tB"表,然后点击"查询"菜单中的"交叉表查询"菜单。在字段中输入"楼号: Left([房间号],2)","交叉表"中选择"行标题";选择"房间类别"字段,在"交叉表"中选择"列标题";选择"房间类别"字段,"交叉表"中选择"值",并在"总计"中选择"计数",最后以"qT4"保存查询。
6、【
简答题】
简单应用:
考生文件夹下存在一个数据库文件"samp2.mdb",里面已经设计好两个表对象"tNorm"和"tStock"。试按以下要求完成设计:
(1)创建一个查询,查找产品最高储备与最低储备相差最小的数量并输出,标题显示为"m_data",所建查询命名为"qT1"。
(2)创建一个查询,查找库存数量超过10000(不含10000)的产品,并显示"产品名称"和"库存数量"。所建查询名为"qT2"。
(3)创建一个查询,按输入的产品代码查找某产品库存信息,并显示" 产品代码"、"产品名称"和"库存数量"。当运行该查询时,应显示提示信息:"请输入产品代码:"。所建查询名为"qT3"。
(4)创建一个交叉表查询,统计并显示每种产品不同规格的平均单价,显示时行标题为产品名称,列标题为规格,计算字段为单价,所建查询名为"qT4"。
注意:交叉表查询不做各行小计。
[10分]
解析:
本题主要考的是数据库的查询。
本题解题思路:
(1)点击"查询",选择"新建(N)",在弹出的"新建查询"窗体上选择"设计视图",然后在弹出的"显示表"窗体上选择"tNorm"表,然后在第一个字段中输入:m_data:Min([最高储备]-[最低储备]),以"qT1"保存查询。
(2)选择"新建(N)",在弹出的"新建查询"窗体上选择"设计视图",然后在弹出的"显示表"窗体上选择"tStock"表,选择题目中所说的两个字段,然后在"库存数量"字段的"条件"中输入">10000",最后以"qT2"保存查询。
(3)与第2小题类似,选择题目上所说的三个字段,然后在"产品代码"字段的"条件"中输入"[请输入产品代码:]",最后以"qT3"保存查询。
(4)选择"新建(N)",在弹出的"新建查询"窗体上选择"设计视图",然后在弹出的"显示表"窗体上选择"tStock"表,然后点击"查询"菜单中的"交叉表查询"菜单。在字段中选择"产品名称","交叉表"中选择"行标题";选择"规格"字段,在"交叉表"中选择"列标题";选择"单价"字段,"交叉表"中选择"值",并在"总计"中选择"平均值",最后以"qT4"保存查询。
7、【
简答题】
简单应用:
考生文件夹下存在一个数据库文件"samp2.mdb",里面已经设计好四个关联表对象"tDoctor"、"tOffice"、"tPatient"和"tSubscribe"以及表对象"tTemp",同时还设计出窗体对象"fQuery"。试按以下要求完成设计:
(1)创建一个查询,查找姓"王"病人的基本信息,并显示"姓名"、"年龄"、"性别",所建查询名为"qT1"。
(2)创建一个查询,统计年龄小于30岁的医生被病人预约的次数,且显示结果按预约人数降序排序(如下图所示),所建查询名为"qT2"。
(3)创建一个查询,删除表对象"tTemp"内所有"预约日期"为10月的记录,所建查询名为"qT3",并运行该查询。
(4)现有一个已经建好的"fQuery"窗体,如下图所示。运行该窗体后,在文本框(文本框名称为tName)中输入要查询的科室名,然后按下"查询"按钮,即运行一个名为"qT4"的查询。"qT4"查询的功能是显示所查科室的"科室ID"和"预约日期"。请设计"qT4"查询。
[10分]
解析:
本题主要考的是数据库的查询。
本题解题思路:
(1)点击"查询",选择"新建(N)",在弹出的"新建查询"窗体上选择"设计视图",然后在弹出的"显示表"窗体上选择"tPatient"表,选择题目中所说的三个字段,然后在"姓名"字段的"条件"中输入"Like "王*"",最后以"qT1"保存查询。
(2)选择"新建(N)",在弹出的"新建查询"窗体上选择"设计视图",然后在弹出的"显示表"窗体上选择"tDoctor"和"tSubscribe"表,在第一个字段中选择"医生姓名",在第二个字段中输入:预约人数: 医生ID,在第三个字段中选择"年龄",并把"显示"中的钩去掉,单击"视图"菜单中的"总计"命令,将第二个字段的"总计"选择"计数",排序"中选择"降序",然后在"年龄"字段的"条件"中输入"<30",最后以"qT2"保存查询。
(3)选择"新建(N)",在弹出的"新建查询"窗体上选择"设计视图",然后在弹出的"显示表"窗体上选择"tTemp"表,然后点击"查询"菜单中的"删除查询"菜单,在字段中选择"预约日期",并在"条件"中输入"Month([预约日期])=10",运行后,以"qT3"保存查询。
(4)选择"新建(N)",在弹出的"新建查询"窗体上选择"设计视图",然后在弹出的"显示表"窗体上选择"tOffice"和"tSubscribe"表,选择"科室ID"、"预约日期"和"科室名称"字段,并把"科室名称"字段的"显示"中的钩去掉,然后在"科室名称"字段的"条件"中输入"[Forms]![fQuery]![tName].[Value]",最后以"qT4"保存查询。
8、【
简答题】
简单应用:
考生文件夹下存在一个数据库文件"samp2.mdb",里面已经设计好一个表对象"tStud"和一个查询对象"qStud4"。试按以下要求完成设计:
(1)创建一个查询,计算并输出学生的最大年龄和最小年龄信息,标题显示为"MaxY"和"MinY",所建查询命名为"qStud1"。
(2)创建一个查询,查找并显示年龄小于等于25的学生的"编号"、"姓名"和"年龄",所建查询命名为"qStud2"。
(3)创建一个查询,按照入校日期查找学生的报到情况,并显示学生的"编号"、"姓名"和"团员否"三个字段的内容。当运行该查询时,应显示参数提示信息:"请输入入校日期:",所建查询命名为"qStud3"。
(4)更改"qStud4"查询,将其中的"年龄"字段按升序排列。不允许修改"qStud4"查询中其他字段的设置。
[10分]
解析:
本题主要考的是数据库的查询。
本题解题思路:
(1)点击"查询",选择"新建(N)",在弹出的"新建查询"窗体上选择"设计视图",然后在弹出的"显示表"窗体上选择"tStud"表,然后在第一个字段中输入:MaxY:Max([年龄]),再第二个字段中输入:MinY:Min([年龄]),以"qStud1"保存查询。
(2)与第1小题类似,选择题目中所说的三个字段,然后在"年龄"字段的"条件"中输入"<=25",最后以"qStud2"保存查询。
(3)与第1小题类似,选择题目上所说的三个字段,然后再选择"入校日期"字段,在"入校日期"字段的"条件"中输入"[请输入入校日期:]",并把"显示"中的钩去掉,最后以"qStud3"保存查询。
(4)选中查询"qStud4",再选择"设计(D)",然后在"年龄"字段的"排序"中选择"升序",以原查询名保存查询。
9、【
简答题】
综合应用:
考生文件夹下存在一个数据库文件"samp3.mdb",已建立两个关联表对象("档案表"和"工资表")和一个查询对象("qT"),试按以下要求,完成报表的各种操作。
(1)创建一个名为"eSalary"的报表,按表格布局显示查询"qT"的所有信息;
(2)设置报表的标题属性为"工资汇总表";
(3)按职称升序汇总出"基本工资"的平均值和总和。"基本工资"的平均值计算控件名称为"savg"、"总和"计算控件名称为"ssum";
注:请在组页脚处添加计算控件。
(4)在"eSalary"报表的主体节上添加两个计算控件:名为"sSalary"的控件用于计算输出实发工资;名为"ySalary"的控件用于计算输出应发工资。计算公式为:
应发工资:基本工资+津贴+补贴
实发工资:基本工资+津贴+补贴-住房基金-失业保险
[10分]
解析:
本题主要考的是报表的设计。
本题解题思路:
(1)点击"报表",选择"新建(N)",在弹出的"新建报表"窗体上选择"自动创建报表:表格式","请选择该对象数据的来源或查询:"中选择"qT",点击"确定"按钮。切换到报表的"设计视图",选择报表,设置"标题"属性为"工资汇总表"。
(2)在"视图"菜单中选择"排序与分组"子菜单,选择"职称"字段,排序次序为"升序","组属性"的"组页脚"选择"是"。选择一个文本框,放到"职称页脚"中,选择工具栏上的"属性"按钮,在弹出的属性框中设置名称为"savg",并在控件来源属性输入:=Avg([基本工资])。再选择一个文本框,放到"职称页脚"中,选择工具栏上的"属性"按钮,在弹出的属性框中设置名称为"ssum",并在控件来源属性输入:=Sum([基本工资])。
(3)选择一个文本框,放到主体中,选择工具栏上的"属性"按钮,在弹出的属性框中设置名称为"sSalary",并在"控件来源"属性输入:=[基本工资]+[津贴]+[补贴]-[住房基金]-[失业保险]。再选择一个文本框,放到主体中,选择工具栏上的"属性"按钮,在弹出的属性框中设置名称为"ySalary",并在"控件来源"属性输入:=[基本工资]+[津贴]+[补贴]。
(4)将该报表以"eSalary"为文件名保存。
10、【
简答题】
综合应用:
考生文件夹下存在一个数据库文件"samp3.mdb",里面已经设计了表对象"tEmp"、窗体对象"fEmp"、报表对象"rEmp"和宏对象"mEmp"。试在此基础上按照以下要求补充设计:
(1)设置表对象"tEmp"中"年龄"字段的有效性规则为:年龄值在20到50之间(不含20和50),相应有效性文本设置为"请输入有效年龄";
(2)设置报表"rEmp"按照"性别"字段降序(先女后男)排列输出;将报表页面页脚区域内名为"tPage"的文本框控件设置为"页码/总页数"形式页码显示;
(3)将"fEmp"窗体上名为"btnP"的命令按钮由灰色无效状态改为有效状态。设置窗体标题为"职工信息输出";
(4)试根据以下窗体功能要求,对已给的命令按钮事件过程进行补充和完善。在"fEmp"窗体上单击"输出"命令按钮(名为"btnP"),弹出一输入对话框,其提示文本为"请输入大于0的整数值"。
输入 1 时,相关代码关闭窗体(或程序);
输入 2 时,相关代码实现预览输出报表对象"rEmp";
输入 >=3 时,相关代码调用宏对象"mEmp" 以打开数据表"tEmp"。
注意:不允许修改数据库中的宏对象"mEmp";不允许修改窗体对象"fEmp"和报表对象"rEmp"中未涉及的控件和属性;不允许修改表对象"tEmp"中未涉及的字段和属性;已给事件过程,只允许在"*****Add*****"与"****Add******"之间的空行内补充语句、完成设计,不允许增删和修改其它位置已存在的语句。
[10分]
解析:
本题主要考的是窗体的设计、报表的设计、VBA的数据库编程。
本题解题思路如下:
(1)打开考生文件夹下的"samp3.mdb"数据库。
(2)选中表对象"tEmp",点击"设计"按钮,选中"年龄"字段,再选中下面的"有效性规则",点击右边的"..."按钮,弹出"表达式生成器",在文本框中输入">20 And <50",也可以在"有效性规则"框中直接输入">20 And <50",然后在"有效性文本"右边的框中直接输入"请输入有效年龄",然后保存该表。
(3)选中报表对象"rEmp",选择"设计",再选择"视图"菜单中的"排序与分组",在弹出的对话框中选择"性别"字段,排序次序选择"降序"。选中页面页脚区的"tPage"文本框控件,在文本框中输入"=[Page] & "/" & [Pages]"。
(4)打开窗体对象"fEmp"的设计视图,选中"btnP"命令按钮,设置"是否有效"属性为"是",设置窗体的"标题"属性为"职工信息输出"。
(5)提示文本为"请输入大于0的整数值"的语句为k=InputBox("请输入大于0的整数值"),预览输出报表对象"rEmp"的语句为DoCmd.OpenReport "rEmp", acViewPreview。
11、【
简答题】
综合应用:
考生文件夹下存在一个数据库文件"samp3.mdb",里面已经设计了表对象"tEmp"和窗体对象"fEmp"。同时,给出窗体对象"fEmp"上"追加"按钮(名为bt1)和"退出"按钮(名为bt2)的单击事件代码,试按以下要求完成设计。
(1)删除表对象"tEmp"中年龄在25到45岁之间(不含25和45)的非党员职工记录信息;
(2)设置窗体对象"fEmp"的窗体标题为"追加信息";
(3)将窗体对象"fEmp"上名为"bTitle"的标签以特殊效果:阴影显示;
(4)按照以下窗体功能,补充事件代码设计。
在窗体的四个文本框内输入合法的职工信息后,单击"追加"按钮(名为bt1),程序首先判断职工编号是否重复,如果不重复则向表对象"tEmp"中添加职工纪录,否则出现提示;当点击窗体上的"退出"按钮(名为bt2)时,关闭当前窗体。
注意:不允许修改表对象"tEmp"中未涉及的结构和数据;不允许修改窗体对象"fEmp"中未涉及的控件和属性;代码设计只允许在"*****Add*****"与"*****Add*****"之间的空行内补充语句、完成设计,不允许增删和修改其它位置已存在的语句。
[10分]
解析:
本题主要考的是窗体的设计、VBA的数据库编程。
本题解题思路如下:
(1)创建查询,在"显示表"中选择tEmp表进行添加,在"查询"菜单中点击"删除查询",则在查询设计网格中,出现"删除"行。然后从表的字段列表中将所需判断删除条件的字段"年龄"和"党员否"拖拽到设计网格的列中。在网格中的"删除"行中将显示From或Where,在Where显示列的条件中输入题面要求的条件,"年龄"字段的条件是">25 And <45","党员否"字段的条件是"False",点击工具栏上的运行按钮后即可删除满足相应条件的记录。
(2)打开窗体对象"fEmp"的设计视图,设置窗体的"标题"属性为"追加信息",选中"bTitle"的标签,设置"特殊效果"属性为阴影。
(3)判断职工编号是否重复的条件为If ADOrs.EOF = False Then,关闭窗体语句为DoCmd.Close。
12、【
简答题】
综合应用:
考生文件夹下存在一个数据库文件"samp3.mdb",里面已经设计了表对象"tEmp"、窗体对象"fEmp"、报表对象"rEmp"和宏对象"mEmp"。试在此基础上按照以下要求补充设计:
(1)设置表对象"tEmp"中"聘用时间"字段的有效性规则为:1991年1月1日(含)以后的时间、相应有效性文本设置为"输入一九九一年以后的日期";
(2)设置报表"rEmp"按照"性别"字段升序(先男后女)排列输出;将报表页面页脚区域内名为"tPage"的文本框控件设置为"-页码/总页数-"形式的页码显示(如-1/15-、-2/15-、...);
(3)将"fEmp"窗体上名为"bTitle"的标签上移到距"btnP"命令按钮1厘米的位置(即标签的下边界距命令按钮的上边界1厘米),并设置其标题为"职工信息输出";
(4)试根据以下窗体功能要求,对已给的命令按钮事件过程进行补充和完善。在"fEmp"窗体上单击"输出"命令按钮(名为"btnP"),弹出一输入对话框,其提示文本为"请输入大于0的整数值"。
输入 1 时,相关代码关闭窗体(或程序);
输入 2 时,相关代码实现预览输出报表对象"rEmp";
输入 >=3 时,相关代码调用宏对象"mEmp" 以打开数据表"tEmp"。
注意:不允许修改数据库中的宏对象"mEmp";不允许修改窗体对象"fEmp"和报表对象"rEmp"中未涉及的控件和属性;不允许修改表对象"tEmp"中未涉及的字段和属性;已给事件过程,只允许在"*****Add*****"与"****Add******"之间的空行内补充语句、完成设计,不允许增删和修改其它位置已存在的语句。
[10分]
解析:
本题主要考的是窗体的设计、报表的设计、VBA的数据库编程。
本题解题思路如下:
(1)打开考生文件夹下的"samp3.mdb"数据库。
(2)选中表对象"tEmp",点击"设计(D)"按钮,选中"聘用时间"字段,再选中下面的"有效性规则",点击右边的"..."按钮,弹出"表达式生成器",在文本框中输入">=#1/1/1991#",也可以直接在"有效性规则"右边的框中输入">=#1/1/1991#",然后在"有效性文本"右边的框中直接输入"输入一九九一年以后的日期",然后保存该表。
(3)选中报表对象"rEmp",选择"设计(D)",再选择"视图"菜单中的"排序与分组",在弹出的对话框中选择"性别"字段,排序次序选择"升序"。选中页面页脚区的"tPage"文本框控件,在文本框中输入"="-" & [Page] & "/" & [Pages] & "-""。
(4)打开窗体对象"fEmp"的设计视图,选中"bTitle"标签,右击鼠标选择属性,设置其"上边距"为"1厘米",选中窗体,右击鼠标选择属性,设置其"标题"属性为"职工信息输出"。
(5)>=3的条件可以表示为Case Is>=3,预览输出报表对象"rEmp"的语句为DoCmd.OpenReport "rEmp", acViewPreview。
13、【
简答题】
综合应用:
考生文件夹下存在一个数据库文件"samp3.mdb",里面已经设计了表对象"tEmp"、窗体对象"fEmp"、报表对象"rEmp" 和宏对象"mEmp"。试在此基础上按照以下要求补充设计:
(1)设置表对象"tEmp"中"聘用时间"字段的有效性规则为:2006年9月30日(含)以前的时间、相应有效性文本设置为"输入二零零六年九月以前的日期";
(2)设置报表"rEmp"按照"年龄"字段降序排列输出;将报表页面页脚区域内名为"tPage"的文本框控件设置为"页码-总页数"形式的页码显示(如1-15、2-15、...);
(3)将"fEmp"窗体上名为"bTitle"的标签宽度设置为5厘米、高度设置为1厘米,设置其标题为"数据信息输出"并居中显示;
(4)"fEmp"窗体上单击"输出"命令按钮(名为"btnP"),实现以下功能:计算Fibonacci数列第19项的值,将结果显示在窗体上名为"tData"的文本框内并输出到外部文件保存;单击"打开表"命令按钮(名为"btnQ"),调用宏对象"mEmp"以打开数据表"tEmp"。
Fibonacci数列:
调试完毕,必须点击"输出"命令按钮生成外部文件,才能得分。
试根据上述功能要求,对已给的命令按钮事件过程进行补充和完善。
注意:不允许修改数据库中的宏对象"mEmp";不允许修改窗体对象"fEmp"和报表对象"rEmp"中未涉及的控件和属性;不允许修改表对象"tEmp"中未涉及的字段和属性;已给事件过程,只允许在"*****Add*****"与"****Add******"之间的空行内补充语句、完成设计,不允许增删和修改其它位置已存在的语句。
[10分]
解析:
本题主要考的是数据表有效性规则的设置、窗体的设计、报表的设计、VBA的数据库编程。
本题解题思路如下:
(1)打开考生文件夹下的"samp3.mdb"数据库。
(2)选中表对象"tEmp",点击"设计(D)"按钮,选中"聘用时间"字段,再选中下面的"有效性规则",在"有效性规则"右边的框中输入"<=#2006-9-30#",然后在"有效性文本"右边的框中直接输入"输入二零零六年九月以前的日期",然后保存该表。
(3)选中报表对象"rEmp",选择"设计(D)",再选择"视图"菜单中的"排序与分组",在弹出的对话框中选择"年龄"字段,排序次序选择"降序"。选中页面页脚区的"tPage"文本框控件,在文本框中输入"=[Page] & "-" & [Pages]",然后保存该报表。
(4)打开窗体对象"fEmp"的设计视图,选中"bTitle"标签,右击鼠标选择属性,设置其"宽度"为"5厘米","高度"为"1厘米","标题"为"数据信息输出",文本对齐为"居中"。"输出"命令按钮单击事件的第1处需要定义19个变量的数组,语句为Dim f(19) As Integer,第2处是For循环体,循环体是计算Fibonacci数列第19项的值,语句为f(i)=f(i-1)+f(i-2),第3处是将计算结果显示在窗体上名为"tData"的文本框内,语句为tData=f(19)。
(5)选中"打开表"命令按钮(名为"btnQ"),点击工具栏上的"属性"按钮,设置这个命令按钮的单击属性为"mEmp",然后保存该窗体。