国家二级VF机试(操作题)模拟试卷179 表单设计器怎么做(题后含答案及解析)
全部题型    2. 基本操作题 3. 简单应用题 4. 综合应用题
基本操作题
1. (1)打开表单one,如图2.18所示,通过设置控件的相关属性,使得表单运行时的开始焦点在“打开”命令按钮,并且接下来的焦点的移动顺序是“关闭”和“退出”。    (2)打开表单two,使用“布局”工具栏的“顶边对齐”按钮将表单中的3个命令按钮控件的顶边对齐。    (3)使用SQL语句创建一个名为“分组情况表”的自由表,“分组情况表”有两个字段:“组号”和“组名”,“组号”占两个字符,  “组名”占10个字符。请将该SQL语句存储在three.prg中,否则不得分。    (4)使用SQL语句插入一个记录到“分组情况表”中,插入的内容是,组号:01,组名:通俗唱法。请将该SQL语句存储在four.prg中,否则不得分。
正确答案:(1)①命令窗口执行:MODIFY FORM one,打开表单设计器修改表单。    ②选择表单对象,修改控件对象属性值,见表3—20。    ③单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。    (2)①命令窗口执行:MODIFY FORM two,打开表
单设计器修改表单。    ②右击工具栏的空白区域,选择【布局】快捷菜单命令,打开“布局”工具栏(若表单设计器中未显示该工具栏,则执行该操作)。    ③同时选中表单中的3个按钮,单击“布局”工具栏中的“项边对齐”按钮(第3个图标按钮),保存表单修改。如图3-36所示。    (3)①命令窗口执行:MODIFY COMMAND three,打开程序文件编辑器。输入如下程序代码:    CREATE TABLE分组情况表(组号C(2),组名C(10))    ②在命令窗口执行命令:DO three,执行程序文件。    (4)①在命令窗口执行命令:MODIFY COMMANDfour,打开程序文件编辑器,输入如下程序代码:    INSERT INTO分组情况表VALUES(01通俗唱法)    ②在命令窗口执行命令:DO four,执行程序文件。
解析:本题考查了表单控件常用属性的设置;“布局”工具栏的使用;SQL定义功能和操作功能。    表单设计中,可通过TabIndex属性设置控件获得焦点的先后次序,通过“布局”工具栏可调整表单窗口中被选控件的相对大小和位置。    SQL定义语句CREATE TABLE命令可以创建一个数据表,注意表结构内容要用圆括号括起来。 
简单应用题
2. 在考生文件夹下,打开招生数据库sdb,完成如下简单应用:(1)使用一对多表单向导选
择ksb表和kscib表生成一个名为two的表单。要求从父表ksb中选择所有字段,从子表ksc.ib中选择所有字段,使用“考生号”建立两表之间的关系,样式为阴影式;按钮类型为图片按钮;排序字段为考生号(来自ksb),升序;表单标题为“考生数据输入维护。    (2)在考生文件夹下打开命令文件three.prg,该命令文件用来查询所有成绩都高于或等于平均分的学生的考生号和姓名。并将查询结果存储到表three中。注意,该命令文件在第3行、第6行、第9行有错误,打开该命令文件,直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。
正确答案:(1)    步骤1:命令窗口执行:OPEN DATABAsE sdb,打开SDB数据库。    步骤2:执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在“新建”对话框中选“表单”选项,单击“向导”按钮,  “向导选取”对话框中选“一对多表单向导”项,单击“确定”,启动向导。    步骤3:“步骤1.从父表选择字段”的“数据库和表”下选“kbs表,将“可用字段”全部添加到“选定字段”中,单击“下一步”。    步骤4:“步骤2.从子表选择字段”的“数据库和表”下选“ksc.ib”表,将“可用字段”全部添加到“选定字段”中,单击“下一步”。    步骤5:“步骤3.建立表之间的关系”中系统自动建立两个表的联系,单击“下一步”。    步骤6:“步骤4.选择表单样式”的“样式”下选“阴影式”,在“按钮类型”下“图片按钮”,单击“下一步”。
    步骤7:“步骤5.排序次序”中双击“可用的字段或索引标识”中的“考生号”字段到“选定字段”列表中,再选择“升序”,单击“下一步”。    步骤8:“步骤6.完成”中的“请键入表单标题”下方输入“考生数据输入维护”,单击“完成”按钮。’    步骤9:在“另存为”对话框的“保存表单为:”框中输入表单文件名two,单击“保存”按钮。    (2)    步骤1:命令窗口执行:MODIFY COMMAND three,打开three.prg程序,命令中的命令代码如下:    *该命令文件用来查询所有成绩都高于或等于平均分的学生的考生号和姓名。并将查询结果存储到表THREE中。    *该命令文件在第3行、第6行、第9行有错误,打开该命令文件。    *直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。SELECT AVG(成绩);FROM kscjb;INTO CURSOR tem SELECT考生号,姓名;FROM ksb; WHERE考生号EXISTS ;(SELECT*; FROM kscjb;  WHERE成绩    菜单命令“统计”和“返回”的功能都通过执行过程完成。    菜单命令“统计”的功能是以组为单位求订单金额的和。统计结果包含“组别”、“负责人”和“合计”3项内容,其中“负责人”为该组组长(由employee中的“职务”一项指定)的姓名,“合计”为该组所有职员所签订单的金额总和。统计结果应按“合计”降序排序,并存放在tabletwo表中。    菜单命令“返回”的功能是返回标准的系统菜单。    菜单程序生成后,运行菜单程序并依次执行“统计”和“返回”菜单命令。
正确答案:步骤1:在命令窗口执行命令:CREATE MENU m_ymenu,在弹出的“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。    步骤2:在菜单设计器“菜单名称”列的文本框中输入“考试”,在“结果”下拉框中选择“子菜单”,单击“创建”按钮进入下级菜单设计,在“菜单名称”列的第l、2行文本框中依次输入子菜单名“统计”、“返回”,将“统计”和“返回”子菜单的“结果”都设置为“过程”,单击“统计”子菜单行的“创建”命令按钮,打开过程编辑框编写过程代码。    步骤3:两个子菜单的命令代码如下:    *****“统计”子菜单的过程代码*****SELECT Employee.组别,SUM(Orders.金额)AS合计;FROM  订单管理!employee INNERJOIN订单管理1 0rders ; ON Employee.职员号=Orders.职员号;GROUP BY Employee.组别 ; TNTO CURSOR RESSELECT 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表中职务为“组长”的职员记录(这可以保证一个订单金额总和字段仅与一条职员信息联接,否则将导致查询结果表中会生成多条职员记录与订单金额总和联接,因为同一个“组别”中有多个职员记录);最后将查询结果保存到永久性表中,完成查询。    菜单设计完成后,注意要生成可执行的菜单文件,并执行“统计”菜单命今。 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。