1、二级 VISUAL+FOXPRO机试-38 及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.请在考生文件夹下建立一个项目 wy。2将考生文件夹下的数据库 ks4加入到新建的项目 wy中去。3利用视图设计器在数据库中建立视图 view_1,视图包括 gjhy表的全部字段(顺序同 gjhy 中的字段)和全部记录。4从表 hjqk中查询“奖级”为“一等”的学生的全部信息(hjqk 表的全部字段),并按分数的降序存入新表 new1中。(分数:30.00)_二、二 简单应用题(总题数:1,分数:40.00)2.在考生文件夹下,有一个数据库 ca
2、db,其中有数据库表 zxkc和 zx。表结构如下:zxkc(产品编号,品名,需求量,进货日期)zx(品名,规格,单价,数量)在表单向导中选取一对多表单向导创建一个表单。要求:从父表 zxkc中选取字段产品编号和品名,从子表 zx中选取字段规格和单价,表单样式选取“阴影式”,按钮类型使用“文本按钮”,按产品编号升序排序,表单标题为“照相机”,最后将表单存放在考生文件夹中,表单文件名是 form2。2在考生文件夹下有数据库 cadb,其中有数据库表 zxkc和 zx。建立单价大于等于 800,按规格升序排序的本地视图 came_list,该视图按顺序包含字段产品编号、品名、规格和单价,然后使用新
3、建立的视图查询视图中的全部信息,并将结果存入表 camera。(分数:40.00)_三、三 综合应用题(总题数:1,分数:30.00)3.在考生文件夹下有仓库数据库 CHAXUN3包括 3个表文件:zg(仓库号 C(4),职工号 C(4),工资 N(4)dgd(职工号 C(4),供应商号 C(4),订购单号 C(4),订购日期 D,总金额 N(10)gys(供应商号 C(4),供应商名 C(16),地址 C(10)设计一个名为 cx3的菜单,菜单中有两个菜单项“查询”和“退出”。程序运行时,单击“查询”应完成下列操作:检索出工资多于 1230元的职工向北京的供应商发出的订购单信息,并将结果按总
4、金额降序排列存放在 order文件中。单击“退出”菜单项,程序终止运行。(注:相关数据库表文件存在于考生文件夹下)(分数:30.00)_二级 VISUAL+FOXPRO机试-38 答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.请在考生文件夹下建立一个项目 wy。2将考生文件夹下的数据库 ks4加入到新建的项目 wy中去。3利用视图设计器在数据库中建立视图 view_1,视图包括 gjhy表的全部字段(顺序同 gjhy 中的字段)和全部记录。4从表 hjqk中查询“奖级”为“一等”的学生的全部信息(hjqk 表的全部字段),并按分数的降
5、序存入新表 new1中。(分数:30.00)_正确答案:(1启动 Visual FoxPro后,在命令窗口输入命令:CREATE PROJECT wy,新建一个项目管理器。2在项目管理器 wy中,单击“数据”选项卡,然后选中列表框中的“数据库”,单击选项卡右边的“添加”命令按钮,系统弹出“打开”对话框,将考生文件下的 ks4数据库文件:添加到项目管理器中。3在“数据”选项卡中,依次展开“数据库”“ks4”,选中 ks4分支下的“本地视图”,单击项目管理器右边的“新建”命令按钮,在弹出的“新建本地视图”对话框中,单击“新建视图”图标按钮,打开视图设计器,将 gjhy数据表添加到视图设计器中。根据
6、题意,在视图设计器的“字段”选项卡中,将“可用字段”列表框中的字段个部添加到右边的“选定字段”列表框中,完成视图设计,将视图以view_1文件名保存在考生文件夹下。4在“数据”选项卡中选中“查询”,然后单击“新建”命令按钮,单击“新建查询”对话框中的“新建查询”图标按钮,打开查询设计器,将数据表 hjqk添加到查询设计器中。根据题意,在查询设计器的“字段”选项卡中,将“可用字段”列表框中的字段全部添加到右边的“选定字段”列表框中;单击“筛选”选项卡,在“字段名”下拉框中选择“hjqk奖级”字段,在“条件”下拉框中选择“=”,在“实例”文本框中输入“一等”:在“排序依据”选项卡中将“选定字段”列
7、表框中的“hjqk分数”字段添加到右边的“排序条件”中,在“排序选项”中选择“降序”,最后通过菜单命令“查询”“查洵去向”,打开“查询去向”对话框,在对话框中选择“表”,在“表名”文本框中输入用米保存查询结果的数据表文件名 new1。利用菜单命令“查询”“运行查询”,系统将自动保存查询结果到数据表 new1中。)解析:解析 本大题考查的主要是项目管理器中“数据”选项卡里面所包含的 3个重要内容的设计,包括数据库、视图和查询,需要注意的是新建视图文件时,首先应该打开相应的数据库,且视图文件在磁盘中是找不到的,直接保存在数据库中。二、二 简单应用题(总题数:1,分数:40.00)2.在考生文件夹下
8、,有一个数据库 cadb,其中有数据库表 zxkc和 zx。表结构如下:zxkc(产品编号,品名,需求量,进货日期)zx(品名,规格,单价,数量)在表单向导中选取一对多表单向导创建一个表单。要求:从父表 zxkc中选取字段产品编号和品名,从子表 zx中选取字段规格和单价,表单样式选取“阴影式”,按钮类型使用“文本按钮”,按产品编号升序排序,表单标题为“照相机”,最后将表单存放在考生文件夹中,表单文件名是 form2。2在考生文件夹下有数据库 cadb,其中有数据库表 zxkc和 zx。建立单价大于等于 800,按规格升序排序的本地视图 came_list,该视图按顺序包含字段产品编号、品名、规
9、格和单价,然后使用新建立的视图查询视图中的全部信息,并将结果存入表 camera。(分数:40.00)_正确答案:(1利用菜单命令“文件”“新建”,或从常用工具栏中单击新建图标按钮,在弹出的“新建”对话框中选择“表单”单选项,再单击“向导”图标按钮,系统弹出“向导选取”对话框,在列表框中选择“一对多表单向导”。根据向导提示,在步骤一中,选择数据表 zxkc作为父表,从“可用字段”列表框中将“产品编号”和“品名”字段添加到右边的“选定字段”列表框中,用来作为父表的可用字段,如图 4-1所示。*在步骤二中,为子表选定字段,操作方法与父表选取字段的方法一样,将 zx表中的“规格”和“单价”字段添加到
10、“选定字段”列表框中。在步骤三中,系统已经默认设置好进行关联的字段:父表的“品名”和子表的“品名”字段。在步骤四中,选择表单“样式”为“阴影式”,在“按钮类型”选项组中选择“文本按钮”选项。在步骤五中,将“可用宁段或索引标识”列表框中的“产品编号”字段添加到右边的“选定字段”列表框中,并选择“升序”单选项。最后在“标题”文本框中输入“照相机”为表单添加标题,单击“完成”命令按钮,在系统弹出的“另存为”对话框中,将表单以 form2文件名保存在考生文件夹下,退出表单设计向导。2首先在命令窗口输入命令:OPEN DATABASE cadb,打开数据库。利用菜单命令或单击常用工具栏中的“新建”图标按
11、钮,新建一个视图文件,在视图没计器中,将数据库表文件 zxkc 和 zx分别添加到视图设计器中,系统自动建立两表的关联,如图 4-2所示。*根据题意,在“字段”选项卡中,从“可用字段”列表框中选择 zxkc产品编号、zxkc品名、zx规格和 zx单价 4个字段添加到右边的“选定字段”中,接着在“筛选”选项卡中设置查询条件,在“字段名”下拉框中选择“zx单价”字段,在“条件”下拉框中选择“=”,在“实例”文本框中输入“800”:然后在“排序依据”选项卡中设置排序字段,从“可用字段”列表框中选择“zx规格”字段添加到右边的“选定字段”列表框中,在“排序选项”中选择“升序”单选项,将视图文件以 ca
12、me_list名字保存在考生文件夹下。因为视图设计器中没有“查询去向”的问题,因此要将查洵结果保存在数据表中,必须利用查询设计器来完成。新建一个查询文件,将“came_list”视图文件添加到查询设计器中,如图 4-3所示。在查询设计器的“字段”选项卡中,单击“全部添加”命令按钮,将“可用字段”列表框中的字段全部添加到“选定字段”中,然后执行菜单命令“查询”“查询去向”,在“查询去向”对话框中单击“表”图标按钮,在“表名”文本框中输入保存查洵结果的表名 camera,单击“确定”按钮关闭对话框。*执行菜单命令“查询”“运行查询”,查询结果将自动保存到数据表 camera中。)解析:解析 本大题
13、第 1小题考查的主要是利用表单向导建立一个显示关联数据表中记录的表单,其中注意父表和子表的选择;第 2小题考查的主要是视图的建立及数据查询,要注意的是在视图设计中没有查询去向的功能,不能保存查询结果,必须通过查询设计器来完成。三、三 综合应用题(总题数:1,分数:30.00)3.在考生文件夹下有仓库数据库 CHAXUN3包括 3个表文件:zg(仓库号 C(4),职工号 C(4),工资 N(4)dgd(职工号 C(4),供应商号 C(4),订购单号 C(4),订购日期 D,总金额 N(10)gys(供应商号 C(4),供应商名 C(16),地址 C(10)设计一个名为 cx3的菜单,菜单中有两个
14、菜单项“查询”和“退出”。程序运行时,单击“查询”应完成下列操作:检索出工资多于 1230元的职工向北京的供应商发出的订购单信息,并将结果按总金额降序排列存放在 order文件中。单击“退出”菜单项,程序终止运行。(注:相关数据库表文件存在于考生文件夹下)(分数:30.00)_正确答案:(在命令窗口输入命令:CREATE MENU cx3,系统弹出一个“新建菜单”对话框,在对话框中单击“菜单”图形按钮,进入菜单设计器环境。根据题日要求,首先输入两个主菜单名称“查询”和“退出”,接着在“查询”菜单行的“结果”下拉框中选择“过程”选项(用于编写程序),在“退出”菜单行的“结果”下拉框中选择“命令”
15、选项。单击“查询”菜单行中的“创建”按钮,进入程序设计的编辑窗口,输入如下程序段:*“查询”菜单命令的程序设计*SET TALK OFFSET SAFETY OFFSELECT*FROM dgd;WHERE;职工号 IN(SELECT 职工号 FROM zg WHERE 工资1230);AND供应商号 IN(SELECT 供应商号 FROM gys WHERE 地址=“北京“);ORDER BY总金额 DESC;INTO TABLE orderSET SAFETY ONSET TALK ON*在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT选择菜单命令“菜单”“生成”,生成一个菜单文件 cx3.mpr。关闭设计窗口,在命令窗口输入命令:DOcx3.mpr,看到 Visual FoxPro的菜单栏被新建的菜单所代替,单击“退出”菜单命令将恢复系统菜单。执行“查询”菜单命令后,系统自动生成新数据表文件 order.dbf用来保存查询结果。)解析:解析 本大题考查的主要是利用 SQL的嵌套查询来完成多个数据库表之间的记录查找,此处应注意运算符 IN的使用,以及排序短语 ORDER BY的使用:在菜单的设计过程中主要是注意两个菜单命令在“结果”下拉框中应选择的类型。