必胜高考网 > 计算机类 > 计算机等级 > 资讯 >

2015年计算机二级VFP考试练习及答案解析(4)

时间: 家辉2 资讯

  一、基本操作题(共四小题,第1和2题是7分、第3和4是8分)

  在考生文件夹下已有customers(客户)、orders(订单)、orderitems(订单项)和goods(商品)四个表。

  在考生文件夹下完成如下操作:

  1.创建一个名为"订单管理"的数据库,并将已有的customers表添加到该数据库中。

  2.利用表设计器为customers表建立一个普通索引,索引名为bd,索引表达式为"出生日期"。

  3.在表设计器中为customers表的"性别"字段设置有效性规则,规则表达式为:性别$"男女",出错提示信息是:"性别必须是男或女"。

  4.利用INDEX命令为customers表建立一个普通索引,索引名为khh,索引表达式为"客户号",索引存放在customers.cdx中。然后将该INDEX命令存入命令文件pone.prg中。

  本题主要考核点:将一个自由表添加到数据库中、设置有效性规则、用INDEX命令和表设计器建立表索引。

  解题思路:

  3、建立有效性规则在表设计器中的字段选项卡中设置。在"规则"栏中输入:性别$"男女","提示信息"栏输入:"性别必须是男或女"。

  4、建立普通索引的命令为:INDEX ON 客户号 TAG khh of customers.cdx,然后将此命令保存在pone.prg文件中。

  二、简单应用(2小题,每题20分,计40分)

  1.在考生文件夹下创建表单文件formone.scx,如下图所示,其中包含一个标签Label1、一个文本框Text1和一个命令按钮Command1。然后按相关要求完成相应操作。

  (1)如图所示设置表单、标签和命令按钮的Caption属性。

  (2)设置文本框的Value属性值为表达式Date()。

  (3)设置"查询"按钮的Click事件代码,使得表单运行时单击该按钮能够完成如下查询功能:从customers表中查询指定日期以后出生的客户,查询结果依次包含姓名、性别、出生日期三项内容,各记录按出生日期降序排序,查询去向为表tableone。

  最后运行该表单,查询1980年1月1日以后出生的客户。

  2.向名为"订单管理"的数据库(在基本操作题中建立)添加orderitems表。然后在数据库中创建视图viewone:利用该视图可以从orderitems表查询统计各商品的订购总量,查询结果依次包含商品号和订购总量(即所有订单对该商品的订购数量之和)两项内容,各记录按商品号升序排序。最后利用该视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。

  本题主要考核点:表单文件的创建、控件的属性的修改、SQL语句运用、表单的退出。

  解题思路:

  第1题:

  ①在命令窗口输入命令:CREATE FORM formone,打开表单设计器窗口。

  ②在表单上添加标签、文本框和命令按钮,并进行适当的布置和大小调整。

  ③设置标签、"查询"命令按钮、表单的Caption属性值。

  ④将文本框的Value属性值设置为"=date()"。

  ⑤设置"查询"按钮的Click事件代码:

  SELECT 姓名,性别,出生日期 FROM customers;

  WHERE 出生日期>=ctod(thisform.Text1.Text);

  ORDER BY 出生日期 DESC;

  INTO TABLE tableone.dbf

  ⑥保存表单并运行,在文本框中输入01/01/1980,并单击"查询"命令按钮。

  第2题:打开"订单管理"数据库,单击"数据库"菜单中的"添加表",将orderitems表添加到数据库中,新建"本地视图",添加"orderitems"表到视图中,先选择"商品号"字段,再在"函数与表达式"中输入"SUM(Orderitems.数量) AS 订购总量",单击"添加"按钮,在"排序依据"中选择按"商品号"升序,"分组依据"中选择"商品号",以文件名viewone保存该视图。利用刚创建的视图viewone查询视图中的全部信息,在"添加表或视图"对话框中选择viewone视图,在字段中选择所有字段,设置查询去向为表tabletwo。

  三、综合应用(1小题,计30分)

  在考生文件夹下创建一个顶层表单myform.scx(表单的标题为"考试"),然后创建并在表单中添加菜单(菜单的名称为mymenu.mnx,菜单程序的名称为mymenu.mpr)。效果如下图所示。

  1)菜单命令"计算"和"退出"的功能都通过执行过程完成。

  2)菜单命令"计算"的功能是根据orderitems表和goods表中的相关数据计算各订单的总金额(一个订单的总金额等于它所包含的各商品的金额之和,每种商品的金额等于数量乘以单价),并将计算的结果填入orders表的相应字段中。

  3)菜单命令"退出"的功能是释放并关闭表单。

  最后,请运行表单并依次执行其中的"计算"和"退出"菜单命令。

  解题思路:

  1、建立表单:可通过"文件"菜单下的"新建"命令或用命令CREATE FORM打开表单设计器。

  2、修改表单各属性值,CAPTION="考试"。将表单以myform.scx为文件名保存在考生文件夹下。

  3、建立菜单:可通过"文件"菜单下的"新建"命令或用命令CREATE MEMU打开菜单设计器。点击"显示"菜单下的"常规选项"命令打开"常规选项"对话框,选中"顶层表单"复选框。在菜单设计器中建立各菜单项,菜单名称分别为:计算和退出。在"计算"菜单的结果列中选择"过程",并通过单击"创建"按钮打开一个窗口来添加"计算"菜单项要执行的命令:

  CLOSE DATA

  USE Orders

  GO TOP

  DO WHILE NOT EOF()

  dingdanhao=订单号

  SELECT sum(Orderitems.数量* Goods.单价) FROM orderitems,goods;

  WHERE Orderitems.商品号=Goods.商品号 AND orderitems.订单号=dingdanhao;

  GROUP BY Orderitems.订单号 INTO ARRAY A

  REPLACE 总金额 WITH A[1]

  SKIP

  ENDDO

  在"退出"菜单的结果列中选择"过程",并通过单击"创建"按钮打开一个窗口来添加菜单项要执行的命令:myform.release,用来关闭表单并返回到系统菜单。

  最后点击"菜单"下的"生成"命令,生成mymenu.mpr程序。

  4、将表单myform.scx中的ShowWindow属性设置为"2-作为顶层表单",并在表单的LOAD事件中输入:do mymenu.mpr with this,'mymenu',执行菜单程序。

  5、保存并运行表单,依次执行其中的"计算"和"退出"菜单命令。

55734