计算机等级考试二级VFP机试试题21
二十一套
一、基本操作题(共四个子题,1、2题7分,3、4题8分)
在考生文件夹下完成以下操作:
1。打开“订单管理”数据库,并将表order_detail添加到数据库中。
2。为表order_detail的“单价”字段定义的默认值为NULL。
3。为表order_detail的“单价”字段定义一个约束规则:如果单价大于0,当违反规则时将引发。
消息是:“单价必须大于零”。
4。关闭"订单管理"数据库,然后建立一个自由表customer,其表结构如下:
客户号的字符类型(6)
客户名称的字符类型(16)
地址字符类型(20)
电话字符类型(14)
本问题主要评估点:
在数据库中添加自由表、建立字段的约束规则、设置字段的默认值、建立表的结构等知识点。
解决这个问题的思路:
第一步:打开考生文件夹下的“订单管理”数据库。
第二步:打开数据库菜单,选择“添加表格(A)”。在弹出的“打开”对话框中,选择考生文件夹下的order_detail表,然后点击“确定”,这样order_detail表就会被添加到“订单管理”数据库中。
第三步:在数据库设计器中选择“order_detail”表,选择数据库菜单下的“修改(V)”打开表设计器。单击表设计器中的“单价”行,单击空列中的按钮,确认按钮上将出现一个复选标记。在字段有效性的规则字段中输入:单价> 0,并在信息框中输入。好的。
第四步:关闭数据库,在Visual FoxPro主窗口中按Ctrl+N。系统弹出“新建”对话框,在“文件类型”中选择表格,在弹出的对话框中选择“新建表格”,在弹出的“创建”对话框中选择考生文件夹,在输入表格名称中填写“客户”,然后点击保存。
第四步:在弹出的表格设计器中,根据题目要求输入各个字段的定义,点击【确定】保存表格结构。
二。简单应用(2道小题,每题20分,40分)
在考生文件夹下完成下面的简单申请:
1。列出总金额大于所有采购订单平均值的采购订单(order_list )(根据
客户编号升序排列),并将结果存储在结果表(表结构和order_list表
相同的结构)。
2。使用Visual Foxpro的“快速报告”功能创建满足以下要求的简单报告:
(1)报表的内容是order_detail表的记录(所有记录,横向);
(2)添加“标题带”,然后在这个带中放置一个label控件,显示报纸。
表格的标题是“设备列表”;
(3)将页面脚注区默认显示的当前日期改为显示当前时间;
(4)最后,将建立的报表保存为report1.frx
本问题主要评估点:
SQL查询选择查询、连接查询、查询排序、查询结果目的地等;报表的建立方法等知识点。
解决问题的思路:
第一个问题:为了得到总金额大于平均总金额的所有采购订单的信息,首先要得到总金额的平均值,使用:从order _ list中选择AVG(总金额)放入数组Afield SValue中,将总金额的平均值放入数组变量Afield SValue中;下一步,可以以总金额大于平均总金额为条件,获取总金额> AFieldsValue的采购订单信息。把这个条件放在WHERE子句的后面,ORDER BY子句,ORDER BY customer number,应该用来对查询结果进行排序。要将查询结果放入永久表中,需要使用INTO TABLE子句,并将结果保存到结果表中,因此需要使用INTO TABLE RESULTS。这个问题由两条SQL语句组成:
从order _ list中选择AVG放入数组字段值。
select * from order _ list其中总金额>字段值;
按客户号排序;
到表结果中
第二个问题:
第一步:在Visual FoxPro主窗口中按Ctrl+N,弹出“新建”对话框。在“文件类型”中选择“报表”,然后点击“新建文件”按钮,就会弹出报表设计器。
第二步:点击主窗口“报告”菜单下的“速报(O)”,系统将打开“打开”对话框,选择考生文件夹下的order_detail.dbf表,点击“确定”,系统将打开“速报”对话框,点击“确定”生成报告,报告文件将以文件名命名。
第三步:选择主菜单中“报表”下的“标题/摘要(T)”,弹出“标题/摘要”对话框,在“报表标题”类型中选择“标题带”,点击“确定”按钮,报表将添加一个“标题带”,并打开“报表控件工具栏”
第四步:双击“页面脚注”中显示当前日期的字段控件,打开“报表表达式”,将“表达式”文本框中原来的日期()替换为时间()。单击“确定”
第五步:将报告文件保存在考生文件夹中,文件名为report1.frx
III。综合应用(1题,30分)
首先将order_detail表的所有内容复制到od_bak表中,然后将od_bak表写成如下形式
功能程序:
1。将“订单号”末尾有相同字母的订单和相同订单(“相同零件号”)合并为一个订单。
对于清单,新的“订单号”取原尾号,“单价”取合计,“数量”取合计;
2。结果先按新的“订单号”升序排序,再按“零件号”升序排序;
3。最终记录的处理结果保存在od_new表中;
4。最后,将程序保存为prog1.prg并执行程序。
本问题主要评估点:
程序的建立方法,程序中循环结构的使用,SQL查询语句的使用,记录的修改方法;报表的建立方法等知识点。
解决这个问题的思路:
第一步:在VisualFoxPro主窗口中按Ctrl+N,弹出“新建”对话框。在“文件类型”中选择“程序”,然后点击“新建文件”按钮,会弹出程序编辑窗口。
第二步:在弹出窗口中输入以下代码:
关闭通话
关闭安全
sele * from order_detail进入表od_bak
&&复制一个表来存储结果。
使用OD_BAK
将结构复制到OD_NEW
&&首先获取所有新订单编号和设备编号:
SELECT RIGHT (order number,1) AS new order number,device name,device number
RIGHT(订单号,1)+零件号为NEWNUM
来自BAK OD;
GROUP BY new num;
按新订单号、零件号订购;
转换为光标表格
DO WHILE NOT EOF()
&&获取单价和数量
选择MIN(单价)为,SUM(数量)为总数量;
来自BAK OD;
WHERE RIGHT (order number,1)=CurTable。新订单号和设备号=可查询。设备号;
放入数组AFieldsValue
插入到OD_NEW值中;
(简表。新订单编号,可简化。设备编号,可简化。设备名称,字段值(1,1),字段值(1,2))
跳过
ENDDO
全部关闭
开启通话
打开安全
第三步:点击工具栏“保存”按钮,将程序文件保存在考生文件夹下,文件名为prog1.prg,运行程序。
0条评论