问答题 在考生文件夹下创建一个下拉式菜单mymenu.mnx,并生成菜单程序mymenu.mpr。运行该菜单程序时会在当前Visual FoxPro系统菜单的“帮助”子菜单之前插入一个“考试”子菜单,如图2.36所示。
【正确答案】正确答案:步骤1:在命令窗口执行命令: CREATE MENU m_ymenu ,在弹出的“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。 步骤2:在菜单设计器“菜单名称”列的文本框中输入“考试”,在“结果”下拉框中选择“子菜单”,单击“创建”按钮进入下级菜单设计,在“菜单名称”列的第l、2行文本框中依次输入子菜单名“统计”、“返回”,将“统计”和“返回”子菜单的“结果”都设置为“过程”,单击“统计”子菜单行的“创建”命令按钮,打开过程编辑框编写过程代码。 步骤3:两个子菜单的命令代码如下: *****“统计”子菜单的过程代码***** SELECT Employee.组别,SUM(Orders.金额)AS合计; FROM 订单管理!employee INNER JOIN订单管理1 0rders ; ON Employee.职员号=Orders.职员号; GROUP BY Employee.组别 ; TNTO CURSOR RES SELECT Res.组别,Employee.姓名AS 负责人,Res.合计; FROM Res,Employee; WHERE Res.组别=Employee.组别; AND Employee.职务="组长"; ORDER BY Res.合计DESC; INTO TARLE tahbletwo.dhf *****“返回”子菜单的命令代码***** SET SYSMENU NOSAVE SET SYSMENU TO DEFAULT 步骤4:执行【显示】→【常规选项】菜单命令,在“位置”区域选中“在…之前”单选项,然后在该选项后面出现的下拉框中选择“帮助(H)”,则新建立的子菜单会在当前Visual FoxPro系统菜单的“帮助"菜单命令前显示。 步骤5:执行【菜单】→【生成】菜单命令,在弹出的Visual FoxPro对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件。 步骤6:在命令窗口执行命令: DO mymenu.napr ,运行菜单,并执行“统计”菜单命令。
【答案解析】解析:本大题考查菜单的建立及使用;SQL简单联接查询和分组计算查询。 表的建立和菜单的建立都属于比较基本的操作,注意向系统菜单追口菜单项时,应在菜单设计器中打开“常规选项”对话框进行设置。本题的关键是菜单命令中SQI,查询、插入和更新语句的设计。编写程序代码基本思路如下: 首先利用SQL计算查询,统计每组的订单金额总和,将结果保存到临时表中,其中,利用SUM()函数可以计算订单金额总和,利用GROUP BY短语按“组别”字段分组计算。 接着,对新生成的临时表与Emp1表进行联接查询,两个表的联接字段为“组别”(注意:该字段要作为临时表的输出字段,此处才可以进行联接),同时,通过WHERE短语筛选Empl表中职务为“组长”的职员记录(这可以保证一个订单金额总和字段仅与一条职员信息联接,否则将导致查询结果表中会生成多条职员记录与订单金额总和联接,因为同一个“组别”中有多个职员记录);最后将查询结果保存到永久性表中,完成查询。 菜单设计完成后,注意要生成可执行的菜单文件,并执行“统计”菜单命今。