首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在考生文件夹下,打开商品销售数据库cdb,完成如下简单应用: (1)使用一对多报表向导建立名称为p_order的报表。要求从父表顾客表cust中选择所有字段,从子表订单表order中选择所有字段;两表之间采用“顾客号”字段连接;按“顾客号”字段升序排序;报
在考生文件夹下,打开商品销售数据库cdb,完成如下简单应用: (1)使用一对多报表向导建立名称为p_order的报表。要求从父表顾客表cust中选择所有字段,从子表订单表order中选择所有字段;两表之间采用“顾客号”字段连接;按“顾客号”字段升序排序;报
admin
2015-08-20
16
问题
在考生文件夹下,打开商品销售数据库cdb,完成如下简单应用:
(1)使用一对多报表向导建立名称为p_order的报表。要求从父表顾客表cust中选择所有字段,从子表订单表order中选择所有字段;两表之间采用“顾客号”字段连接;按“顾客号”字段升序排序;报表样式为“经营式”,方向为“纵向”;报表标题为“顾客订单表”。然后修改该报表,在页注脚中增加一个标签“制表人:新思路”;该标签水平居中,标签中的“:”为中文的冒号。
(2)修改一个名称为TWO.PRG的命令文件。该命令文件统计每个顾客购买商品的金额合计(应付款),结果存储在临时表1s中。然后用1s中的每个顾客的数据去修改表scust对应的记录。该命令文件有3行语句有错误,打开该命令文件进行修改。
注意:直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。
选项
答案
(1) 步骤1:在命令窗口执行命令:
OPEN DATABASE cdb
,打开cdb数据库。 步骤2:执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“报表”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“一对多报表向导”项,单击“确定”按钮,启动报表向导。 步骤3:在报表向导的“步骤1-从父表选择字段”界面的“数据库和表”下选中cust表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。 步骤4:在报表向导的“步骤2-从子表选择字段”界面的“数据库和表”下选中order表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。 步骤5:在报表向导的“步骤3-为表建立关系”界面中系统自动建立两个表的联系,单击“下一步”按钮。 步骤6:在报表向导的“步骤4-排序记录”界面中双击“可用的字段或索引标识”中的“顾客号”字段到“选定字段”列表中,再选择“升序”,单击“下~步”按钮。 步骤7:在报表向导的“步骤5-选择报表样式”界面的“样式”下选中“经营式”,方向为“纵向”,单击“下一步”按钮。 步骤8:在报表向导的“步骤6-完成”界面中的“报表标题”下方文本框中输入“顾客订单表”,单击“完成”按钮。 步骤9:在“另存为”对话框的“保存报表为:”框中输入表单文件名p_order,单击“保存”按钮。 步骤10:在命令窗口输入命令:MODIFY REPORT p_order,打开报表设计器修改报表。向报表设计器最底端的“页注脚”带区添加一个标签控件,并输入“制表人:新思路”,然后选中标签,在“布局”工具栏中单击“水平居中”命令按钮(工具栏中的倒数第4个按钮),设置标签为水平居中。 (2) 步骤1:在命令窗口执行命令:
MODIFY COMMAND TWO
,打开程序文件,文件中的命令代码如下: 1 CLOSE DBF 2 PRIVATE no,money 3 USE scust 4 *下面的一行语句有错误 5 SELECT顾客号,数量*单价应付款; 6 FROM order JOIN Corftrn ON order.商品号=comm.商品号; 7 GROUP BY顾客号; 8 INTO CURSOR ls 9 SELECT scust 10 *下面的一行语句有错误 11 DO WHILE EOF() 12 no=顾客号 13 SELECT ls 14 LOCAT FOR顾客号=no 15 money=应付款 16 SELECT scust 17 +下面的一行语句有错误 18 REPLACE ALL应付款=money 19 SKIP+1 20 ENDDO 21 CLOSE TABLE 22 RETURN > 修改程序中的错误行,修改后的程序如下: 1 CLOSE DBF 2 PRIVATE no,money 3 USE scust 4 *下面的一行语句有错误 5 SELECT顾客号,sum(数量*单价)应付款; 6 FROM order JOIN COIItm ON order? 商品号=comm.商品号; 7 GROUP BY顾客号; 8 INTO CURSOR ls 9 SELECT scust 10 下面的一行语句有错误 11 DO WHILE!EOF() 12 no=顾客号 13 SELECT ls 14 LOCAT FOR顾客号=no 15 money=应付款 16 SELECT scust 17 *下面的一行语句有错误 18 REPLACE应付款with money 19 SKIP+1 20 ENDDO 21 CLOSE TABLE 22 RETURN 步骤2:保存文件修改,在命令窗口执行命令:DO TWO,执行程序文件。
解析
(1本题考查报表向导以及报表设计器的使用,在报表设计器中添加文字,可以通过“报表控件”工具栏中的“标签”控件进行添加。
(2)本题考查了DO WHILE循环语句;SQL简单的计算查询;visual FoxPro修改表记录语句,程序的功能大致如下:
首先定义两个私有变量,然后通过SQL语句计算每个顾客购买商品的金额合计,将结果保存到一个临时表中;接着通过一个DO循环语句逐条判断scust表中的记录,修改scust表中顾客号与临时表ls表中顾客号对应相等的“应付款”字段值。
根据对程序语句的分析,可以得知:
第一处错误是SQL计算语句错误,要求应付款应该是合计值,输出字段中还缺少sum()函数进行合计。
第二处错误是DO循环条件错误,循环条件应该是没有到记录末尾,因此应使用!eof()。
第三处错误是修改记录的命令错误,应该使用replace…with…命令。
转载请注明原文地址:https://jikaoti.com/ti/WBv0FFFM
本试题收录于:
二级VF题库NCRE全国计算机二级分类
0
二级VF
NCRE全国计算机二级
相关试题推荐
在SQL的数据定义功能中,删除表字段名的命令格式是()。
假设订货管理数据库中有3个表,仓库.DBF、职工.DBF和订购单.DBF,它们的结构分别如下:仓库表(仓库号C(4),城市C(10),面积I(4))职工表(仓库号C(4),职工号C(4),工资Y)订购单表(职工号C(4),供应商号C
假设订货管理数据库中有3个表,仓库.DBF、职工.DBF和订购单.DBF,它们的结构分别如下:仓库表(仓库号C(4),城市C(10),面积I(4))职工表(仓库号C(4),职工号C(4),工资Y)订购单表(职工号C(4),供应商号C
SQL查询语句中,用于记录分组查询的子句是【】。
有如下SQL语句:SELECT出版单位,MIN(价格)FROM图书GROUPBY出版单位查询结果中,第一条记录的值是
为表单建立了快捷菜单mymenu,调用快捷菜单的命令代码DOmymenu.mprWITHTHIS应该放在表单事件中的是
扩展名scx的文件是
INDEX命令无法建立的索引是
两表之间“临时性”联系称为关联,在两个表之间的关联已经建立的情况下,有关“关联”的正确叙述是
有一个学生表文件,且通过表设计器已经为该表建立了若干普通索引。其中一个索引的索引表达式为姓名字段,索引名为XM。现假设学生表已经打开,且处于当前工作区中,那么可以将上述索引设置为当前索引的命令是
随机试题
下列选项中,不属于导航窗体可以使用的布局是()。
JIT又被称为()
调节操纵子转录的反式作因子有
诊断水疝简单有效的方法是
常见不良反应为视物模糊,复视等,但也可引起史蒂文斯-约翰综合征的抗癫痫药是
根据水利部关于病险水库除险加固项目建设管理规定,重点小型项目原则上应在中央财政专项补助资金下达之日起()年内完工并验收。
张三的妻子患有比较严重的先天性心脏病,但是为了换取高额的人身意外险,张三还是希望给他妻子购买一份人寿保险,张三的行为容易诱发( )。
Afterthebirthofmysecondchild,Igotajobatarestaurant.Havingworkedwithanexperienced【C1】______forafewdays.Iwa
未满16周岁的人犯罪,不负刑事责任。()
We’regoingtothebookstoreinJohn’scar.Youcancomewithus______youcanmeetustherelater.
最新回复
(
0
)