2.简单应用题
(1)在考生文件夹下有数据表文件“产品表”,要求考生根据此数据表设计一个按“部门编号”来分组的报表,并用虚线隔开分组记录,报表以“部门_fz”名保存。产品表中的字段如下:
产品表(产品编号,产品名称,部门编号,生产日期,生产数量,产品成本,库存)
(2)在考生文件夹下有数据表文件“设备表”,要求设计一个程序实现如下功能:
① 将表中“设备型号”以“M”开头的“使用部门”改为“生产一间”,并将非进口车床的“使用部门”同样改为“生产一间”。
② 将进口微机的“使用部门”改为“生产二间”。
③ 删除表中“使用部门”字段记录为“办公室”的所有记录。
设备表内容:设备型号、设备名称、出产日期、设备数量、设备单价、使用部门、进口。
要求使用SQL语句设计本题,将程序保存在“设备_SQL.prg”文件中,浏览运行结果。
【参考答案】
(1)具体步骤如下:
① 为“产品表”的“部门编号”建立一个普通索引。
② 在“命令”窗口输入:CREATE REPORT部门_fz,进入报表设计器。
③ 在报表的数据环境中添加数据表文件“产品表”,然后右击产品表,选择“属性”快捷命令,在属性面板中修改表的Order属性值为部门编号。
④ 选择菜单命令“报表”→“数据分组”,在弹出的对话框中输入分组表达式。
⑤ 设置分组表达式后,在报表设计器中增加了“组标头1:部门编号”和“组注脚1:部门编号”两个带区,在数据环境中,将“产品表”中的“部门编号”字段拖到报表的“组标头1:部门编号”区域,其他字段全部拖到报表的“细节”带区。
⑥ 通过“报表控件”工具栏(如果无显示,可以通过菜单命令“显示”→“报表控件工具栏”显示工具栏)为每个字段添加一个相应的标签来显示字段名。
⑦ 在“组注脚1:部门编号”下添加一根直线,选择直线,在“格式”菜单项中单击“绘画笔”→“虚线”命令,将添加的直线设置成虚线。
(2)在“命令”窗口输入:MODIFY COMMAND设备_SQL,进入程序设计窗口,编写如下程序段:
****下面是“设备_SQL.prg”文件的程序内容****
SET TALK OFF
SET SAFETY OFF
UPDATE 设备表SET 使用部门=“生产一间”;
WHERE SUBSTR(ALLTRIM(设备型号),1,1)=“M”;
OR(设备名称=“车床”AND 进口=.F.)
UPDATE 设备表SET 使用部门=“生产二间”;
WHERE 设备名称=“微机”AND 进口=.T.
DELETE FROM 设备表 WHERE 使用部门=“办公室”
BROWSE
USE
SET SAFETY ON
SET TALK ON
【试题解析】
本试题主要考查了报表的设计和SQL语句的简单应用。在(1)小题中,报表的数据源是一个表,记录的物理顺序可能不适合于分组,因为报表布局实际上不排序数据,它只是按它们在数据源中存在的顺序处理数据,因此需要先将表按部门编号建立索引,这样才能达到分组显示的效果。在(2)小题中SQL用来更新数据的语句主要是UPDATE。
3.综合应用题
在考生文件夹下,打开Ecommerce数据库,完成如下综合应用(所有控件的属性必须在表单设计器的属性窗口中设置):
设计一个名称为myforma的表单(文件名和表单名均为myforma),表单的标题为“客户商品订单基本信息浏览”。表单上设计一个包含三个选项卡的页框(pageframe1)和一个“退出”命令按钮(command1)。要求如下:
(1)为表单建立数据环境,按顺序向数据环境添加Article、Customer和OrderItem表。
(2)按从左至右的顺序,三个选项卡的标签(标题)名称分别为“客户表”、“商品表”和“订单表”,每个选项卡上均有一个表格控件,分别显示对应表的内容(从数据环境中添加,客户表为Customer、商品表为Article、订单表为OrderItem)。