国家二级VF机试(操作题)模拟试卷17(共27题)_第1页
国家二级VF机试(操作题)模拟试卷17(共27题)_第2页
国家二级VF机试(操作题)模拟试卷17(共27题)_第3页
国家二级VF机试(操作题)模拟试卷17(共27题)_第4页
国家二级VF机试(操作题)模拟试卷17(共27题)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家二级VF机试(操作题)模拟试卷17(共9套)(共27题)国家二级VF机试(操作题)模拟试卷第1套一、基本操作题(本题共1题,每题1.0分,共1分。)1、(1)使用SQL语句计算每个歌手的最高分、最低分和平均分,并将结果存储到result.dbf表中(包含“歌手姓名”、“最高分”、“最低分”和“平均分”4个字段),要求结果按“平均分”降序排序。注意:按“歌手姓名”分组,每个歌手的最高分、最低分和平均分由评分表中的“分数”字段计算得出。(2)修改一个名称为three.prg的命令文件。该命令文件用来查询平均成绩大于等于75分以上的每个“女”同学的学号、姓名、平均成绩和选课门数,结果按选课门数降序排序输出到表three中。该命令文件在第2行、第3行、第4行、第5行有错误(每行只有一处必须修改的错误,不出错的地方不要做任何修改),打开该命令文件,直接在错误处修改并保存。注意:修改时,不可改变sql语句的结构和短语的顺序,不允许增加或合并行。标准答案:(1)在命令窗口执行如下SQL命令语句执行查询:(2)在命令窗口执行命令:MODIFYCOMMANDthree,打开three.prg程序,经修改后代码如下(此处省略原错误程序代码):知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、在考生文件夹下,打开学生数据库SDB,完成如下简单应用:(1)使用查询设计器设计一个名称为two的查询,查询每个同学的学号(来自student表)、姓名、课程名和成绩。查询结果先按课程名升序、再按成绩降序排序,查询去向是表,表名是two。设计完成后,运行该查询。(2)修改一个名称为three.prg的命令文件。该命令文件用来查询平均成绩大于等于75分以上的每个“女”同学的学号、姓名、平均成绩和选课门数,结果按选课门数降序排序输出到表three中。该命令文件在第2行、第3行、第4行、第5行有错误(每行只有一处必须修改的错误,不出错的地方不要做任何修改),打开该命令文件,直接在错误处修改并保存。注意:修改时,不可改变sql语句的结构和短语的顺序,不允许增加或合并行。标准答案:(1)步骤1:命令窗口执行:OPENDATABASEsdb,打开数据库环境。步骤2:命令窗口执行:CREATEQUERYtwo,打开查询设计器,在“添加表或视图”中,分别双击student、sc和course表,添加到查询设计器中,添加的表会自动在查洵设计器中建立联系。步骤3:“字段”选项k的“可用字段”中,依次双击“student.学号”、“student.姓名”、“course.课程名”、“sc.成绩”,将它们添加到“选定字段”列表中。步骤4:在“排序依据”选项卡内双击“选定字段”列表框中的“course.课程名”添加到“排序条件”列表框中,“排序选项”选“升序”;双击“选定字段”中的“sc成绩”,添加到“排序条件”中,“排序选项”选“降序”。步骤5:执行【查询】→【查询去向】菜单命令,在“查询去向”对话框中单击“表”按钮,在“表名”中输入文件名two,单击“确定”按钮。步骤6:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。(2)步骤1:命令窗口执行:NODIFYCONNANDthree,打开three.prg程序,命令代码如下:1OPENDATABASEsdb2SELECT学号,姓名,AVG(成绩)AS平均成绩,COUNT(成绩)AS选课门数;3FROHstudentJOINscOFstudent.学号=sc.学号;4WHERE性别="女"ANDAVG(成绩)>=75;5GROuPBY学号;6ORDERBY4desc:7INTOTABLEthree修改程序中的错误行,修改后的程序如下:1OPENDATABASEsdb2SELECTstudent.学号,姓名,AVG(成绩)平均成绩,COUNT(成绩)选课门数;&&在“学号”段前加前缀“student”,指明“学号”来student表3FROMstudentJOINscONstudent.学号=sc.学号;&&内联接查询中联接条件使用ON短语4WHERE性别="女";5GROUPBYstudent.学号HAVINGAVG(成绩)>=75;&&having短语用来指定分组的条件6ORDERBY4desc;7INTOTABLEthree步骤2:单击“常用”工具栏中的“保存”按钮,将程序文件保存到考生文件灾下。知识点解析:(1)本题主要考查的是查询设计器的使用,首先要判断查询数据源包括哪些数据表,将数据表添加到查询设计器后,再根据题目要求从每个表中选取字段,设置查询条件等完成查询。本题操作时要注意3个表的添加顺序,要按照student表、sc表和course表的顺序进行添加,否则会导致两个表之间无法建立联系,或是导致查询出错。(2)本题主要考查SQL的联接查询和分组计算查询。联接查询要判断查询输出字段来自哪个表,再正确设置联接条件。在使用内联接时,联接条件应使用ON短语。当FRON之后的多个关系中含有相同的属性名时,须用关系前缀指明属性所属的关系,本查询中用到student和sc表中都含有“学号”字段,故应写为“stud.学号”。“平均成绩大于等于75”是分组条件,使用HAVING短语。三、综合应用题(本题共1题,每题1.0分,共1分。)3、设计名为formbook的表单(控件名为foml,文件名为formbook)。表单的标题设为“图书情况统计”。表单中有一个组合框(名称为Comb01)、一个文本框(名称为Textl)和两个命令按钮“统计”(名称为Commandl)和“退出”(名称为Command2)。如图3-19所示。运行表单时,组合框中有三个条目“清华”、“北航”、“科学”(只有三个出版社名称,不能输入新的)可供选择,在组合框中选择出版社名称后,如果单击“统计”命令按钮,则文本框显示出“图书”表中该出版社图书的总数。单击“退出”按钮关闭表单。注意:完成表单设计后要运行表单的所有功能。标准答案:步骤1:命令窗门执行:CREATEFORMform-book,打开表单设计器新建表单。从“表单控件”工具栏中向表单添加一个组合框、一个文本框及两个命令按钮控件。步骤2:选择表甲删’象,修改刘’象属性值,见表4-25。步骤3:编写各个命令按钮的Click事件代码如下:*****“统计”按钮的Click事件代码*****1SELECTCOUNT(*)FROMBOOKWHERE出版社=THISFORM.COMB01.DISPLAYVALUE;2INTOARRAYTEMP3THISFORM.TEXTl.VALUE=TEMP(1)*****“退出”按钮的C1ick事件代码*****THISFORM.RELEASE步骤4:单击“常用”工具栏中的“运行”按钮查看结果,将表单文什保存到考生文件夹下。知识点解析:本大题考查了表单及控件的常用属性和方法的设置;SQL简单查询。本题的关键是“统计”命令按钮的Click事件的编写,这里求总数用count()函数,组合框当前值用Value属性表示,将求出的总数存放到数组中,再将数组中的值赋给文本框的value值(即文本框中显示的内容)。国家二级VF机试(操作题)模拟试卷第2套一、基本操作题(本题共1题,每题1.0分,共1分。)1、(1)建立数据库ordersmanage.dbc。把自由表employee.dbf和orders.dbf添加到数据库中。(2)打开表单dh.scx,设置标签控件中英文字母的字号为18,保存表单。(3)打开表单dh.scx,为命令按钮“隐藏”添加代码,使表单运行时,单击此按钮隐藏表单上标签控件label1;保存并运行该表单。(4)利用报表向导建立一对多报表,以employee表为父表,选择其中“职工号”、“姓名”和“性别”字段;以orders表为子表,选择其全部字段。报表样式为“简报式”,表之间的关联通过“职工号”字段实现,排序方式为按“职工号”降序,报表标题为“职工订单”。报表其他参数取默认值。最后将生成的报表保存为empord.frx。标准答案:【操作步骤】(1)①命令窗口执行:MODIFYDATABASEordersmanage,打开数据库设计器。②在数据库设计器中右击,选择【添加表】,在“打开”对话框中双击“employee”表添加到数据库中,同样的方法将“orders”表添加到数据库中。(2)①命令窗口执行:MODIFYFORMdh,打开表单设计器修改表单。②修改标签(Label1)的FontSize属性值为:18,保存表单修改。(3)①接上一小题,编写“隐藏”命令按钮Click事件代码如下:THISFORM.LABEL1.VISIBLE=.E.②保存表单修改,并运行表单查看修改结果。(4)①命令窗口执行:OPENDATABASEordersmanage,打开ordersmanage数据库环境。②执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在“新建”中选“报表”选项,单击“向导”按钮,在“向导选取”中选“一对多报表向导”项,单击“确定”按钮,启动报表向导。③“步骤1-从父表选择字段”的“数据库和表”中选“employee”表,双击“可用字段”中的“职工号”、“姓名”和“性别”字段,添加到“选定字段”中,单击“下一步”。④在报表向导的“步骤2-从子表选择字段”界面的“数据库和表”下选中“orders”表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。⑤“步骤3-为表建立关系”中系统自动建立两个表的联系,单击“下一步”。⑥“步骤4-排序记录”中双击“可用的字段或索引标识”中的“职工号”字段到“选定字段”列表中,再单击“降序”单选项,单击“下一步”。⑦“步骤5-选择报表样式”选中“样式”列表中的“简报式”,单击“下一步”。⑧“步骤6-完成”中的“报表标题”下方文本框中输入“职工订单”,单击“完成”按钮。⑨在“另存为”对话框的“保存报表为:”框中输入报表文件名empord,单击“保存”按钮。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)打开程序文件progerr.prg,按文件中给出的功能要求改正其中的错误,以文件名prognew.prg重新保存该文件并运行程序。(2)建立顶层表单,表单文件名为myform.sex,表单控件名为myform,表单标题为“顶层表单”。为顶层表单建立菜单mymenu。菜单栏如图2—24所示(无下拉菜单),单击“退出”菜单时,关闭释放此顶层表单,并返回到系统菜单(在过程中完成)。标准答案:(1)【操作步骤】步骤1:命令窗口执行:MODIFYCOMMANDprogerr,打开progerr程序文件,文件中的命令代码如下:*本题目需要在基本操作题的基础上完成。本程序在表orders.dbf的基础上完成如下功能:*(1)创建视图viewes,视图内容为按职工号统计订单金额(每个职工经手的订单总金额),统计结果包括:职工号、总金额;*(2)从视图viewes中查询订单总金额在30000以上(含30000)的职工信息(职工号,总金额),查询结果按总金额降序排序并存入表newtable.dbf。1OPENDATABASEORDERSMANAGE2CREATEviewsAS;3SELECT职工号,SUM(金额)AS总金额;4FROMORDERS;5GROUPBY职工号6SELECT*FROMORDERS;7WHERE总金额>=30000;8ORDERBY总金额DESC;修改程序中的错误行,修改后的程序如下:1OOPENDATABASEORDERSMANAGE2CREATEVIEWviewsAS;&&命令格式错误,建立视图命令要使用CREATEVIEW……3SELECT职工号,SUM(金额)AS总金额;4FROMORDERS;5GROUPBY职工号6SELECT*FROMviews;&&从视图views中查找,不是从orders表查询,是第二处错误7WHERE总金额>=30000;8ORDERBY总金额DESC;9INTOTABLEnewtable&&将结果保存在表中步骤2:执行【文件】→【另存为】菜单命令,在弹出的“另存为”对话框的“保存文档为:”文本框中输入新的文件名:prognew,单击“保存”命令保存文件。步骤3:命令窗口执行:DOprognew.prg,执行程序。(2)【操作步骤】步骤1:命令窗口执行:CREAYlEMENUmymenu,在“新建菜单”中单击“菜单”按钮。在菜单设计器“菜单名称”中依次输入“文件”、“编辑”和“退出”3个主菜单名。步骤2:选择“退出”菜单命令的“结果”项为“过程”,单击“过程”后面的“创建”按钮打开过程编辑器,编写过程代码并输入命令语句:myform.RELEASE。步骤3:执行【显示】→【常规选项】菜单命令,在“常规选项”中勾选“顶层表单”复选框,然后单击“确定”保存修改。步骤4:执行【菜单】→【生成】菜单命令,在弹出的对话框中单击“是”按钮,弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件,关闭菜单设计器。步骤5:命令窗口执行:CREATEFORMmyform,打开表单设计器。选中表单,在“属性”窗口中修改表单(myform)的属性值,见表3—27。步骤6:编写表单的Load事件代码如下:DOmymenu.mprWITHTHIS,"TTT"步骤7:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、打开表单文件sapp,并完成如下操作(不得有多余操作):①将“课程”表添加到表单的数据环境中。②使列表框List1中的数据项为“课程”表中的课程名(课程.课程名)。③单击列表框中的数据项时,统计选修了所选课程的学生人数(从“考试成绩”表),并将结果存储在以课程名命名的表中,表中只有一个字段“人数”。④添加一个命令按钮Command1,单击该按钮时关闭表单。说明:完成该程序后必须运行,并且分别统计选修了“数据库”和“操作系统”课程的学生人数。标准答案:【操作步骤】步骤1:命令窗口执行:OPENDATABASE学生管理,打开“学生管理”数据库环境。步骤2:命令窗口执行:MODIFYFORMsapp,修改sapp表单。右击表单选择【数据环境】,在表单数据环境中单击右键选择【添加】,在“添加表或视图”对话框中双击“课程”,将表添加到数据环境中。步骤3:修改列表框(List1)的“RowSourceType”属性值为:6.字段;再修改“RowSource”属性值为:课程.课程名。步骤4:列表框(List1)Click事件代码如下:*****列表框(List1)的Click事件代码*****1aa=课程.课程名2SELECTCOUNT(*)AS人数FROM考试成绩;3WHERE考试成绩.课程编号=课程.课程编号;5INTOTABLE&aa步骤5:通过“表单控件”工具栏向表单添加一个命令按钮,编写按钮的Click事件代码:THISFORM.RELEASE。步骤6:单击“常用”工具栏中的“运行”按钮查看结果,并分别单击“数据库”和“操作系统”,生成表文件。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第3套一、基本操作题(本题共1题,每题1.0分,共1分。)1、(1)利用快捷菜单设计器创建一个弹出式菜单one,菜单有两个选项:“增加”和“删除”.两个选项之间用分组线分隔。(2)创建一个快速搬表app_report,报表中包含了“评委表”中的所有字段。(3)建立一个数据库文件“大奖赛.dbc”,并将“歌手表”、“评委农”和“评分表”3个自由表添加到该数据库中。(4)使用SQL的语句ALTERTABLE命令为“评委表”的“评委编号”字段增加有效性规则:“评委编号”的最左边两位字符是11(使用LEFT函数),并将该SQL涪句存储在three.prg中,否则不得分。标准答案:【操作步骤】(1)①命令窗口执行:CREATEMENuone,在“新建菜单”中单击“陕捷菜单”按钮,打开快捷菜单漩计器。②在菜单设计器“菜单名称”列的文本框中输入3个菜单项名“增加”、“、一”和“删除”。执行【菜单】→【生成】菜单命令,生成一个可执行的菜单史件。(2)①命令窗口执行:USE评委表。②命令窗口执行:CREATEREPORTappreport,打扦报表设计器.执行【报表】→【快速报表】菜单命令,在“快速报表”刘话框中单击“确定”按钮新建快速报表,预览和保存报表设计。(3)①命令窗口执行:MODUFYDATABASE大奖赛,新建数据库并打开数据库设计器。②在数据库设计器中右击鼠标,选择【添加表】,在“打开”对话框中双击“歌手表”添加到数据库中:同样的方法,再将“评委表”和“评分表”添加到数据库中。(4)①命令窗口执行:MODIFYCOMMANDthree,打开程序文件编辑器中输入如下程序代码:ALTERTABLE评委表ALTER评委编号SETcHECKLEFT(评委编号,2)=11”②命令窗口执行:DOthree,执行程序文件。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)在考生文件夹下创建表单文件formone.SCX,如图3-28所示,其中包含一个标签Label1、一个文本框Text1和一个命令按钮Commandl,然后按相关要求完成相应操作,①如图3.28所示设置表单、标签和命令按钮的Caption属性。②设置文本框的Value属性值为表达式Date()。③设置“查询”按钮的click事件代码,使得表单运行时单击该按钮能够完成如下查询功能:从customers表中查询指定日期以后出生的客户,查询结果依次包含“姓名”、“性别”、“出生日期”3项内容.各记录按“出生日期”降序排序,查询去向为表tableone。最后运行该表单,查询1980年1月1日以后出生的客户。(2)向名为“订单管理”的数据库(在基本操作题中建立)添加orderitems表。然后在数据库中创建视图viewone:利用该视图可以从orderitems表查询统计各商品的订购总量,查询结果依次包含“商品号”和“订购总量”(即所有订单对该商品的订购数量之和)两项内容,各记录按“商品号”升序排序。最后利用该视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。标准答案:(1)【操作步骤】步骤1:命令窗口执行:CREATEFORMform。ne,打开表单设计器新建表单。步骤2:向表单添加一个标签、一个文本框和一个命令按钮控件。选择表单对象,修改对象属性值,见表4.33。步骤3:编写“查询”命令按钮的的Click事件代码:SELECT姓名,性别,出生日期;FROMcustomers;WHERECustomers.出生日期>thisform.textl.valme;ORDERBY出生日期DESC;INTOTABLEtablennedbf步骤4:单击“常用”工具栏的“运行”按钮保存并运行表单,文本框中输入“01/01/1980”后单击“查询”按钮。(2)【操作步骤】步骤1:命令窗口执行:MODIFYDATABASE单管里。在数据库设计器中右击,选择【添加表】,在“打开”对话框中双击orderitems表添加到数据库中。步骤2:在命令窗口执行如下SQL命令语句建立视图:OPENDATABASE订单管理CREATEVIEWviewoneAS;SELECTOrderitems.商品号,SUM(Orderitems.数量)AS订购总量;FROM订单管理.iorderitems;GROUPBYOrderitems.商品号;ORDERBYOrderitems.商品号(注意:以上SQL语句查询语句部分是通过视图设计器生成,也町以在视图设计器中建立。)步骤3:在命令窗口执行如下SQL语句保存查询结果:SELECT*FROMviewoneINTOTABLEtabletwo知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下创建一个下拉式菜单myimenu.mnx,并生成菜单程序mymenu.mrr。运行该菜单程序时会在当前VFP系统菜单的末尾追加一个“考试”子菜单,如图3一11所示。菜单命令“计算”和“返回”的功能都通过执行过程完成。菜单命令“计算”的功能是从xuesheng表和chengii表中找出所有满足如下条件的学生:其在每门课程上的成绩都大丁等十所有同学在该门课程上的平均分。并把这些学牛的学号和姓名保存在表table2中(表中只包含学号和姓名两个字段),表table2中各记录应该按“学号”降序排序。提示:各门课程的平均分可用下面SQL语句获得:selectavg(数学),avg(英语),avg(信息技术)fromchengjiintoarfaytmp,菜单命令“返回”的功能是恢复标准的系统菜单。菜单程序生成后,运行菜单程序并依次执行“计算”和“返回”菜单命令。标准答案:【操作步骤】步骤1:在命令窗口执行命令:CREATEMENUmymenumnx,在弹出的“新建菜单”对话框中单击“菜单”,图标按钮,打开菜单设计器。步骤2:在菜单设计器“菜单名称”列的文本框中输入“考试”,“结果”下拉框中选择为“子菜单”,单击“创建”,按钮进入下级菜单设计,在“菜单名称”列的第1、2行文本框中依次输入子菜单名“计算”、“返回”,将两个子菜单的“结果”都设置为“过程”,分别单击两个子菜单行的“创建”命令按钮,打开过程编辑框编写过程代码。步骤3:两个子菜单的过程代码如下:*****“计算”子菜单的过程代码*****selectavg(数学),avg(英语),avg(信息技术);fromchengjiintoarraytttselectxuesheng.学号,姓名;fromxueshengJoinchengji;ollxuesheng.学号=chengji.学号;where数学>=ttt(1);and英语>=ttt(2);and信息技术>=ttt(3);orderbyxuesheng.学号desc;intotabletable2****“返回”子菜单的过程代码*****SETSYSMENUNOSAVESETSYSMENUTODEFAULT步骤4:执行【显示】→【常规选项】菜单命令,在“位置”区域选中“追加”单选项,则新建立的子菜单会在当前VisualFoxPro系统菜单后显示。步骤5:执行【菜单】→【生成】菜单命令,在弹出的VisualFoxPro对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,单击“牛成”按钮生成一个可执行的菜单文件。步骤6:在命令窗口执行命令:DOmymenu.mpr,运行菜单,并执行“统计”菜单命令。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第4套一、基本操作题(本题共1题,每题1.0分,共1分。)1、(1)利用快捷菜单设计器创建一个弹出式菜单one,菜单有两个选项:“增加”和“删除”,两个选项之间用分组线分隔。(2)创建一个快速报表app_report,报表中包含了“评委表”中的所有字段。(3)建立一个数据库文件“大奖赛.dbc”,并将“歌手表”、“评委表”和“评分表”3个自由表添加到该数据库中。(4)使用SQL的语句ALTERTABLE命令为“评委表”的“评委编号”字段增加有效性规则:“评委编号”的最左边两位字符是11(使用LEFT函数),并将该SQL语句存储在three.prg中,否则不得分。标准答案:(1)①命令窗口执行:CREATEMENUone,在“新建菜单”中单击“快捷菜单”按钮,打开快捷菜单设计器。②在菜单设计器“菜单名称”列的文本框中输入3个菜单项名“增加”、“\—”和“删除”。执行【菜单】→【生成】菜单命令,生成一个可执行的菜单文件。(2)①命令窗口执行:USE评委表。②命令窗口执行:CREATEREPORTappreport,打开报表设计器,执行【报表】→【快速报表】菜单命令,在“快速报表”对话框中单击“确定”按钮新建快速报表,预览和保存报表设计。(3)①命令窗口执行:MODIFYDATABASE大奖赛,新建数据库并打开数据库设计器。②在数据库设计器中右击鼠标,选择【添加表】,在“打开”对话框中双击“歌手表”添加到数据库中:同样的方法,再将“评委表”和“评分表”添加到数据库中。(4)①命令窗口执行:MODIFYCOMMANDthree,打开程序文件编辑器中输入如下程序代码:ALTERTABLE评委表ALTER评委编号SETCHECKLEFT(评委编号,2)="11"②命令窗口执行:DOthree,执行程序文件。快捷菜单设计;创建简单报表;使用数据库;SQL表结构修改。知识点解析:本题考查了快捷菜单的设计;快速报表的创建;数据库的基本操作;字段有效性规则的设置。快捷菜单仅包括一个弹出式菜单,其他设计基本上都与下拉菜单的设计一致。在报表设计器中可通过菜单命令启动建立快速报表的功能,建立快速报表前应先指定报表的数据源。SQL的表结构修改语句:ALTERTABLE<表名>ALTERIADD<字段名>SETCHECK<表达式>可以设置表中指定字段的有效性规则。二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)建立一个文件名和表单名均为two的表单,然后为表单two建立一个名为quit的新方法(单击选择表单后,从“表单”菜单中选择“新建方法程序”命令),并在该方法中写一条语句Thisform.release:最后向表单中添加一个命令按钮(Commandl),并在该命令按钮的Click事件中写一条调用新方法quit的语句。(2)使用SQL语句计算每个歌手的最高分、最低分和平均分,并将结果存储到result.dbf表中(包含“歌手姓名”、“最高分”、“最低分”和“平均分”4个字段),要求结果按“平均分”降序。注意:按“歌手姓名”分组;每个歌手的最高分、最低分和平均分由评分表中的“分数”字段计算出。标准答案:(1)步骤1:命令窗口执行:CREATEFORMtwo,打开表单设计器新建表单。步骤2:执行【表单】→【新建方法程序】菜单命令,在“新建方法程序”对话框的“名称”文本框中输入“quit”,单击“添加”按钮新增方法,然后关闭对话框。步骤3:在“属性”窗口中双击quit方法,打开用户自定义过程代码框输入:THISFORM.RELEASE。步骤4:通过“表单控件”工具栏向表单添加一个命令按钮(Commandl),双击命令按钮,编写该按钮的Click事件代码:THISFORM.QUIT。步骤5:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。表单的事件、方法和属性。(2)在命令窗口执行如下SQL命令语句执行查询:SELECT歌手表.歌手姓名,MAX(评分表.分数)AS最高分,;MIN(评分表.分数)AS最低分,AVG(评分表.分数)AS平均分;FROM大奖赛!歌手表INNERJOIN大奖赛!评分表;ON歌手表,歌手编号=评分表.歌手编号;GROUPBY歌手表,歌手姓名;ORDERBY4DESC;INTOTABLEresult(注意:以上SQL查询语句是通过查询设计器生成,大家也可以直接在查询设计器中完成查询。)SQL分组与计算查询。知识点解析:(1)本题考查的是表单方法的创建。在VisualFoxPro中,用户首先应打开“新建方法程序”对话框定义新方法名:然后在“属性”面板中定义找到该方法并编写该方法的功能代码:方法建立完毕后,用户可以像调用表单中其他方法一样调用新建的方法。(2)本题主要考查了SQL分组与计算查询。本题在输出字段中除“歌手姓名”字段是表中原有的字段外,最高分、最低分和平均分都需要根据“分数”字段生成,分别使用计算函数MAX()、MIN()和AVG()。由于是求每个歌手的最高分、最低分和平均分,可以根据“歌手姓名”字段进行分组计算。也可以借助查询设计器生成本题的SQL语句。三、综合应用题(本题共1题,每题1.0分,共1分。)3、①建立一个表单名和文件名均为myform的表单。表单的标题是“评委打分情况”,表单中有两个命令按钮(Commandl和Command2)和两个单选钮(Optionl和Option2)。Commandl和Command2的标题分别是“生成表”和“退出”,Optionl和Option2的标题分别是“按评分升序”和“按评分降序”。②为“生成表”命令按钮编写程序,程序的功能是根据简单应用题生成的result.dbf表按指定的排序方式生成新的表,单选钮选择“按评分升序”时,依次按“最高分”、“最低分”和“平均分”3个字段升序排序生成表six_a,单选钮选择“按评分降序”时,依次按“最高分”、“最低分”和“平均分”3个字段降序排序生成表six_d。③运行表单,选择“按评分升序”单选钮,单击“生成表”命令按钮;再选择“按评分降序”单选钮,单击“生成表”命令按钮(注意:必须执行)。标准答案:步骤1:命令窗口执行:CREATEFORMmyform,新建表单。向表单添加一个选项按钮组和两个命令按钮控件。步骤2:选择表单对象,修改对象属性值,见表4—31。步骤3:编写各个命令按钮的Click事件代码如下:*****“生成表”按钮的Click事件代码*****IFthisform.optiongroupl.optionl.value=1SELECT*FROMresult;ORDERBY最高分,最低分,平均分;INTODBFsixaELSESELECT*FROMresult;ORDERBY最高分DESC,最低分DESC,平均分DESC;INTODBFsixdENDIF*****“退出”按钮的Click事件代码*****THISFORM.RELEASE步骤4:单击“常用”工具栏中的“运行”按钮查看结果,按照题目要求生成两个数据表文件,保存表单文件。表单的事件、方法和属性;基本型控件;SQL简单查询;程序基本结构。知识点解析:本大题考查了表单及控件的常用属性和方法的设置:IF条件语句:SQL简单的联接查询。本题修改选项组单选按钮的标题属性值时,要注意选项组处于“编辑”状态。查询时需要判断被选定的是哪个单选项来执行相应的功能。选项组中获得当前被选中单选项的返回值属性是Value,可以通过IF条件语句判断。SQL程序中对多个字段排序时,各字段间要用逗号隔开,升序使用ASC短语(可省略),降序使用DESC短语。国家二级VF机试(操作题)模拟试卷第5套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考试文件夹下完成下列操作:(1)新建一个名为“学校”的数据库文件,将自由表“教师表”、“职称表”和“学院表”添加到该数据库中。(2)在“学校”数据库文件中,为“职称表”建立主索引,索引表达式为“职称级别”,索引名为indexone。(3)使用报表向导为“职称表”建立一个报表myreport,选定“职称表”的全部字段,按“职称级别”字段降序排序,其他选项选择默认值。(4)修改test.prg中的语句,该语句的功能是将“职称表”中所有职称名为“教授”的记录的“基本工资”存储于一个新表prof.dbf中,新表中包含“职称级别”和“基本工资”两个字段,并按“基本工资”升序排列。最后运行程序文件test.prg。标准答案:【操作步骤】(1)单击常用工具栏“新建”按钮或选择菜单栏“文件”一“新建”命令,新建一个数据库,在弹出的对话框中输入文件名“学校”。在打开的数据库设计器中,右键单击数据库空白处,选择“添加表”命令,将考生文件夹下的“教师表”、“职称表”和“学院表”添加到数据库中。(2)在“数据库设计器一学校”中,右键单击“职称表”,选择“修改”命令,在打开的表设计器中,单击“索引”选项卡,输入索引名称“职称级别”,类型设为“主索引”,表达式为“职称级别”。单击“确定”按钮保存对表的修改。(3)单击常用工具栏“新建”按钮,新建一个报表,使用报表向导新建报表。在步骤1-字段选取中,将“职称表”的全部字段添加到选定字段中。其他步骤默认,直接单击下一步。在步骤5-排序记录选项卡下,设置按“职称级别”降序排列。在步骤6-完成中,单击“完成”按钮。然后单击常用工具栏“保存”按钮,输入报表名称“myreport”。(4)单击常用工具栏“打开”按钮,打开考生文件夹下的程序文件“test.prg”,根据题目要求将“select职称级别,基本工资from职称表where职称名=”教授”todbfprof.dbfgroupby基本工资”修改为“select职称级别,基本工资from职称表where职称名:”教授”intodbfprof.dbfOrderby基本工资”。然后单击常用工具栏的“运行”按钮,运行程序。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、在考生文件夹下完成下列操作:(1)请修改并执行程序temp.prg,该程序的功能是:根据“教师表”和“职称表”计算每位教师的“应发工资”,每个教师的“应发工资”等于:与“职称级别”相符的“基本工资”+“课时”×80×职称系数,教授的职称系数为1.4,副教授的职称系数为1.3,讲师的职称系数为1.2,助教的职称系数为1.0,计算结果存储于自由表salary.dbf中,salary.dbf中的字段包括姓名、系号和应发工资,并按系号降序排列,系号相同时按应发工资升序排列。注意,只能修改标有错误的语句行,不能修改其他语句行。(2)创建一个新类MyCheckBox,该类扩展VisualFoxpro的CheckBox基类,新类保存在考生文件夹下的myclasslib类库中。在新类中将Value属性设置为1。创建一个表单MyForm,然后在表单中添加一个基于新类MyCheckBox的复选框,如图所示。标准答案:(1)【操作步骤】打开考生文件夹下的程序文件“temp.prg”,根据题目要求修改SQL语句如下:第一处错误:create职称系数表(职称名c(6),职称系数f(10,2))修改为:createtable职称系数表(职称名c(6),职称系数f(10,2))第二处错误:insertinto职称系数表value(”教授”,1.3)修改为:insertinto职称系数表value(”副教授”,1.3)第三处错误:FROM职称系数表,教师表;修改为:FROM职称表,职称系数表,教师表;第四处错误:OR职称表.职称名=职称系数表.职称名;修改为:AND职称表.职称名=职称系数表.职称名;保存对程序的修改并运行。(2)【操作步骤】步骤1:通过“新建”对话框新建一个“类”文件。步骤2:在弹出的“新建类”对话框中,输入“类名”MyCheckBox,在“派生于”下拉列表中选择checkbox,单击“存储于”文本框后的按钮,在打开的“另存为”对话框选择考生文件夹,输入文件名myclasslib,单击“确定”按钮。步骤3:打开“类设计器”窗口,进入类设计器环境,将Value属性为1。然后关闭类设计器。步骤4:通过“新建”对话框新建一个表单,在表单设计器中,单击表单控件工具栏中“查看”按钮,选择“添加”命令,在弹出的对话款中打开“myclassib”。然后在表单控件工具栏中单击“checkbox”按钮,向表单添加一个复选框按钮。单击常用工具栏的“保存”按钮,保存表单为“myform”。知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下完成下列操作:(1)建立一个文件名和表单名均为formtest的表单,表单中包括一个标签(Label1)、一个列表框(List1)、一个表格(Grid1)。(2)在表单的数据环境中添加“学院表”和“教师表”。(3)通过属性窗口将标签的标题设为“系名”。(4)列表框用于显示系名,通过属性窗口将列表框(List1)的RowSource和RowSourceType属性指定为“学院表.系名”和6。(5)表格用于显示所有教师的相关信息,通过属性窗口将表格(Gridl)的RecordSource和RecordSourceType属性指定为“select职工号,姓名,课时from教师表intocursortmp”和4。(6)为列表框(Listl)的Dbclick事件编写程序。程序的功能是:表单运行时,用户双击列表框中的选项时,将所选系教师的“职工号”、“姓名”和“课时”三个字段的信息存人自由表two.dbf中,表中的记录按“职工号”降序排列。(7)运行表单,在列表框中双击“信息管理”。标准答案:【操作步骤】步骤1:通过“新建”对话框新建一个表单,向表单添加一个标签、一个列表框和一个表格控件,适当调整各控件的大小及位置。步骤2:在表单空白处单击鼠标右键,选择“数据环境”命令,将“学院表”和“教师表”添加到数据环境中。步骤3:在表单设计器窗口下,将标签(Label1)控件的caption属性修改为“系名”。将列表框(List1)控件的RowSource属性设为“学院表.系名”,RowSourceType属性改为“6”。步骤4:在表单设计器下,将表格(Grid)控件的RecordSource属性设为“select职工号,姓名,课时from教师表intocursortmp”,RecordSoureeType属性设为“4”。步骤5:双击列表框控件(List1),编写其Dblclick事件代码如下:Thisform.Grid1.RecordSource=”SELECT职工号,姓名,课时.FROM学院表,教师表;WHERE学院表.系号=教师表.系号;AND系名=ALIXRIM(Thisform.List1.Value)INTOtabletwo.dbf;orderby职工号DESC”步骤6:保存表单并命名为“formtest”,然后单击常用工具栏的“运行”按钮,运行表单。根据题目要求,在列表框中双击“信息管理”。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第6套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下,有一表单文件myform.scx。打开该表单文件,然后在表单设计器环境下完成如下操作:(1)在属性窗口中将表单设置为不可移动的,并将其标题设置为“表单操作”。(2)为表单新建一个名为mymethod的方法,方法代码为:wait"mymethod"window。(3)设置Ok按钮的Click事件代码,其功能是调用表单的mymethod方法。(4)设置Cancel按钮的Click事件代码,其功能是关闭当前表单。标准答案:(1)①在命令窗口执行命令:MODIFYFORMmyform,打开表单设计器修改表单。②选中表单,在“属性”面板中修改表单(Form1)的。Movable属性值为:.F,修改Caption属性值为:表单操作。(2)①接上一小题操作,执行【表单】→【新建方法程序】菜单命令,在弹出的“新建方法程序”对话框的“名称”文本框中输入“mymethod”,单击“添加”按钮新增方法,然后关闭对话框。如图3.23所示。②接着在“属性”窗口中双击此方法,打开用户自定义过程代码框输入:wait"mymethod"window。(3)接上一小题操作,双击“Ok”命令按钮,编写该按钮的Click事件代码:THISFORM.Mymethod。(4)①接上一小题操作,双击“Cancel”命令按钮,编写该按钮的Click事件代码:THISFORM.RELEASE。②单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。知识点解析:表单及控件的常用属性及方法的设置。在VisualFoxPro中,用户可以自定义方法,首先应打开“新建方法程序”对话框定义新方法名;然后在“属性”面板中定义找到该方法并编写该方法的功能代码;方法建立完毕后,用户可以像调用表单中其他方法一样调用新建的方法。另外,要将表单设置为不可移动的,可以通过表单的Movable属性进行设置。二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)打开表单myform4.4,把表单(名称为Form1)标题改为“欢迎您”,将文本“欢迎您访问系统”(名称为labell的标签)的字号改为25,字体改为黑体。再在表单上添加“关闭”(名称为Command1)命令按钮,单击此按钮关闭表单。最后保存并运行表单。(2)设计一个表单MYFORM4,表单中有两个命令按钮“查询”(名称为Command1)和“退出”(名称为Command2)。①单击“查询”按钮,查询bookauth数据库中出版过三本以上(含三本)图书的作者信息,查询信息包括:作者姓名,所在城市:查询结果按作者姓名升序保存在表newview4中。②单击“退出”按钮关闭表单。注意:完成表单设计后要运行表单的所有功能。标准答案:(1)步骤1:命令窗口执行:MODIFYFORMMYFORM4-4,打开表单设计器。向表单添加一个命令按钮控件。步骤2:修改对象属性值,见表3-31。步骤3:双击命令按钮,编写其Click事件代码。*****“关闭”按钮的Click事件代码*****THISFORM.RELEASE步骤4:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。(2)步骤1:命令窗口执行:MODIFYFORMmyform4,打开表单设计器。向表单添加两个命令按钮控件。步骤2:修改对象属性值,见表3.32。步骤3:编写各个命令按钮的Click事件代码。*****“查询”按钮的C1ick事件代码*****1SELECTAuthors.作者姓名,Authors.所在城市;2FROMauthors,books;3WHEREAuthors.作者编号=Books.作者编号;4GROUPBYAuthors.作者姓名HAVINGCOUNT(Books.图书编号)>=3;5ORDERBYAuthors.作者姓名;6INTOTABLENEWVIEW4*****“退出”按钮的Click事件代码*****THISFORM.RELEASE步骤4:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。知识点解析:(1)本题考查了表单和常用控件的属性;表单事件代码的编写。关闭和释放表单的方法是RELEASE。(2)本题考查了表单事件代码的编写,SQL查询。根据题意,查询用了authors和books两张表,连接查询,按“作者姓名”分组,计算图书数量用COunt()函数。三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下,对“雇员管理”数据库完成如下综合应用:①建立一个名称为VIEW1的视图,查询每个雇员的部门号、部门名、雇员号、姓名、性别、年龄和EMAIL。②设计一个名称为form2的表单,表单上设计一个页框,页框(PageFrame1)有“部门”(Pagel)和“雇员”(Page2)两个选项卡,在表单的右下角有一个“退出”命令按钮,如图2.30所示。要求如下:.表单的标题名称为“商品销售数据输入”。.单击选项卡“雇员”时,在选项卡“雇员”中使用“表格”方式显示view1视图中的记录(表格名称为grdView1)。.单击选项卡“部门”时,在选项卡“部门”中使用“表格”方式显示“部门”表中的记录(表格名称为“grd部门”)。.单击“退出”命令按钮时,关闭表单。要求:将视图view1和表“部门”添加到数据环境,并将视图view1和表“部门”从数据环境直接拖拽到相应的选项卡自动生成表格。标准答案:步骤1:在命令窗口执行命令:OPENDATABASE雇员管理,打开“雇员管理”数据库。步骤2:在命令窗口执行命令:CREATEVIEWVIEW1AS;SELECT雇员.部门号,部门.部门名,雇员.雇员号,雇员.姓名,雇员.性别,雇员.年龄,雇员.email;FROM雇员管理!雇员,雇员管理!部门;WHERE雇员.部门号=部门.部门号步骤3:在命令窗口执行命令:CREATEFORMFORM2,打开表单设计器新建表单。从“表单控件”工具栏中向表单添加一个页框和一个命令按钮控件。步骤4:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表3—34。步骤5:右击表单选择【数据环境】快捷菜单命令打开表单数据环境,继续在表单数据环境中单击右键选择【添加】快捷菜单命令,在“添加表或视图”对话框中依次双击view1视图和“部门”表,将其添加到数据环境中。步骤6:右击“页框”控件,选择【编辑】快捷菜单命令,让页框处于编辑状态,再将数据环境中的viewl视图和“部门”表分别拖到“雇员”和“部门”页面中(注意:在操作过程中,当独立的页面被选中时,页框处于编辑状态,在页框四周会出现蓝色边框;另外;表单设计器窗口应为“还原”状态,而非最大化窗口,否则将遮盖表单数据环境内容,无法将表拖到页面中)。这时,在“雇员”和“部门”页面中会分别自动生成表格grdView1和grd部门。步骤7:双击“退出”命令按钮,编写命令按钮的Click事件代码如下:THISFORM.RELEASE。步骤8:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。知识点解析:本题的第1小题主要考查了利用SQL命令建立视图。利用SQL命令建立视图的基本命令格式为:CREATEVIEW<视图名>AS。建立视图的SQL语句可以通过视图设计器生成。第2小题主要考查了表单及控件的常用属性的设置:表单数据环境。通过拖放表单数据环境中的表到表单中,可快速建立表格及表格与数据表的联系,要注意的是在向每个页面中添加表格数据对象时,注意页面要处于编辑状态下(每个页面都可单独选定,将表从数据环境中拖放到要求的页面中),否则添加的表格对象只是停留在页框上方,该表格实际是包含在表单中而非添加到页框的页面中。国家二级VF机试(操作题)模拟试卷第7套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下,打开一个公司销售数据库selldb,完成如下操作:(1)为各部门分年度季度销售金额和利润表s_t创建一个主索引和普通索引(升序),主索引的索引名为no,索引表达式为“部门号+年度”;普通索引的索引名和索引表达式均为“部门号”。(2)在ST表中增加一个名为“备注”的字段、字段数据类型为“字符”、宽度为30。(3)使用SQL的ALTERTABLE语句将s_t表的“年度”字段的默认值修改为“2004.”,并将该SQL语句存储到命令文件one.prg中。(4)通过“部门号”字段建立s_t表和dept表间的永久联系,并为该联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“忽略”。标准答案:(1)①在命令窗口执行命令:MODIFYDATABASEselldb,打开selldb数据库设计器。②右击数据库设计器中的s_t表,选择【修改】快捷菜单命令,打外s_t表设计器,选中“索引”选项卡,在“索引名”下方的文本框中输入“no”,在“索引”选项卡中将“类型”选择为“主索引”,在表达式下方的文本框中输入“部门号-+年度”,建立主索引。如图4-18所示。③接着在“字段”选项卡中选中“部门号”,然后在“索引”列中选择“升序”,建立“部门号”字段的普通索引,单击“确定”按钮保存表结构修改。(2)继续打开s_t表设计器,在表设计器“字段”选项卡的“字段名”列的最后一个空白文本框中输入字段名“备注”,在“类型”下拉框中选择“字符型”,在“宽度”文本框中输入“30”,保存表结构修改。(3)①在命令窗口执行命令:MODIFYCOMMANDone,打开程序文件编辑器。②在编辑器中输入SQL查询代码:ALTERTABLEs_tALTER年度C(4)DEFAuLT"2004"。③在命令窗口执行命令:DOne.prg,执行程序文件。(4)①在数据库设计器中拖动DEPT表“索引”下方的主索引“部门号”到s_t表中“索引”下方的普通索引“部门号”是,为两个表建立联系。②选中两个表之间的关联线(被选中的连线会变粗),首先执行【数据库】→【清理数据库】菜单命令,清空数据表中带有删除标记的记录,然后执行【数据库】→【编辑参照完整性】菜单命令。③在打开的“参照完整性”对话框的表格中,选择“更新”下的单元格内容为“级联”;“删除”下的单元格内容为“限制”;“插入”下的单元格内容为“忽略”。单击“确定”按钮保存参照完整性的修改。如图4-19所示。知识点解析:本题考查表索引的建立、表结构的修改、SQL定义语句及参照完整性的建立。根据多个字段建立索引表达式时,需要在表设计器“索引”选项卡的“表达式”中进行设置,该索引表达式可以直接输入,也可以打开“表达式生成器”建立。参照完整性是针对两个表进行设置的,因此建立参照完整性前要先建立两个表的关联,且有一个表中必须建立关联字段的主索引(或候选索引),另一个表要建立普通索引,建立两个表联系后要先清理数据库,然后再设置参照完整性。表结构的修改可在相应的表设计器中进行操作即可;SQL定义语句也只需要熟记命令格式,设置表默认值语句的基本格式:ALTERTABLE<表名>ALTER<字段名><类型><(宽度)>DEFAuLT<默认值>。二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)编写程序three.prg完成下列操作:根据“外汇汇率”表中的数据产生rate表中的数据。要求:将所有“外汇汇率”表中的数据插入rate表中并且顺序不变,由于“外汇汇率”中的“币种1”和“币种2”存放的是外币名称,而rate表中的“币种1代码”和“币种2代码”应该存放外币代码,所以插入时要做相应的改动,“外币名称”与“外币代码”的对应关系存储在“外汇代码”表中。注意:程序必须执行一次,保证rate表中有正确的结果。(2)使用查询设计器建立一个查询文件four.qpr。查询要求:从外汇账户中查询“日元”和“欧元”的记录。查询结果包括了外币名称、钞汇标志、金额,结果按“外币名称”升序排序,在“外币名称”相同的情况下按“金额”降序排序,并将查询结果存储于表five.dbf中。标准答案:(1)步骤1:命令窗口执行:MODIFYCOMMANDthree,打开程序文件编辑器,输入如下程序代码(以下程序足通过查询设计器牛成):1SELECT外代码.外币代和AS币种1代码;2外汇代码a.外币代码AS币种2代码,外汇汇率.买入价,外汇汇率.卖出价;3FROM外汇!外汇代码INNERJOIN外汇!外汇汇率;4INNERJOIN外汇!外汇代码外汇代码a;ON外汇汇率.币种2=外汇代码a.外币名称;6ON外汇代码.外币名杨=外汇汇率.币种;7INTOARRAYarrl8INSERTINTORATE.DBFFROMARRAYarrl步骤2:命令窗口执行:DOthree.prq,执行程厅文件。(2)步骤2:命令窗口执行:CREATEQUERYfour,打开查询设计器,在“添加表或视图”对话框中,分别双击“外汇代码”表和“外汇账户”表,添加到查询设计器中。步骤3:添加后,弹出“联接条什”对话框,自动查找两个表中相匹配的字段进行联接,单击“确定”设置联系。步骤4:依次双击“外汇代码”表中的“外币名称”和“外汇账户”表中的“钞汇标志”、“金额”字段,添加到“字段”选项卡的“选定宁段”列表中。步骤5:在“筛选”选项卡的“字段名”下拉列表中选择“外汇代码.外币名称”字段,在“条件”下拉框中选择“=”,在“实例”框中输入“日元”,在“逻辑”下拉框中选择“OR”;接着在第二行接着输入查询条件,在“’字段名”下拉列表中选择“外汇代码.外币名称”字段,在“条件”下拉框中选择“=”,在“实例”框中输入“欧元”。步骤6:在“排序依据”选项卡内双击“选定字段”列表框中的“外汇代码.外币名称”字段,将字段添加到“排序条什”列表框中,在“排序选项”中选择“升序”单选项;以同样的力‘法冉设置“外汇账户.金额”字段的降序。步骤7:执行【查询】→【查询去向】菜单命令,在弹出的“查询去向”对话框中单击“表”图标按钮,接着在“表名”中输入文件名“five”,单击“确定”按钮。步骤8:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。知识点解析:(1)本题考查的是SQL超链接查询。设计SQL代码的关键是建立“外汇代码”表中“外币代码”与“外汇汇率”表中“币种1”和“币种2”的联系。由于输出结果的“币种1”和“币种2”需要用相应的“外币代码”表示,“外汇代码”表中的“外币代码”只能利用一次,即替换“币种1”或“币种2”中的币种名称,这样没有被替换的币种仍然是中文币种名称,因此需要将“外汇代码”表利用两次,两个表中的“外币代码”分别替换“外汇汇率”表中“币种1”和“币种2”的中文币种名,被两次引用的表名要在原表名后再加“a”进行区分。三个表的联接条件分别是“外汇代码.外币名称=外汇汇率.币种1”和“外汇汇率.币种2=外汇代码a.外币名称”。查询输出的字段名可以通过AS短语重新指定名称。另外,查询结果要求保存到数据库表,因此要将结果保存到数组中,然后再通过数组将记录插入到表中。(2)本题考查的是在查询设计器中新建查询的操作。操作过程中要注意确认查询输出的字段来源于哪个表;查询条件在“筛选”选项卡中设置;排序在“排序依据”选项卡中设置;查询去向可通过执行【查询】→【查询去向】菜单命令,在“查询去向”对话框中进行操作。三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下有一个名为myform的表单,表单中包括一个列表框和两个命令按钮。请在该表单中完成如下操作:①在表单设计器环境下设置列表框的数据源(ROWSourlce)和数据源类型(RowSourceType)两个属性。设置RowSourceType属性为3,在RowSource属性中使用SQL的SELECT…INTOCuRSOR…语句根据“国家”表中“国家名称”字段的内容在列表框中显示“国家名称”(注意:不要使用命令指定这两个属性)。②为“生成表”命令按钮编写程序。程序的功能是根据表单运行时列表框中选定的国家名称,将“获奖牌情况”表中相应国家的所有记录存入以该国家名称命名的自由表中,自由表中包含“运动员名称”、“项目名称”和“名次”三个字段,并按照“名次”升序排列。提示:假设从列表框中选择的围家名称存放在变量gm中,那么在SQLSELECT语句中使用短语intotable&.gm就可以将选择的记录存入以该国家名命名的自由表中。③运行表单,分别生成存有“中国”、“日本”、“美国”、“俄罗斯”4个国家获奖情况的4个自由表。标准答案:步骤1:命令窗口执行:MODIFYFORMmvform,打开表单设计器修改表单。步骤2:选中表单中的列表框(Listl),存属性面板中修改其RowSourceType属性值为:3-SQL语句;同时指定RowSource属性值为:SELECT国家名称FROM国家INTOCURSORmylist步骤3:双出“生成表”命令按钮,编写Click事件代码。代码如下:*****“生成表”按钮的Click事什代码*****1gm="SS"2gm=THISFORM.LIsTl.VALuE3SELECT运动员名称,项目名称,名次;4FROM获奖牌情况,国家WHERE国家.国家名称=gmj5AND获奖牌情况.国家代码=国家.国家代码;6ORDERBY名次INTODBF&gm步骤4:单击“常用”工具栏中的“运行”按钮禽看结果,分别选中列表框中的“中国”、“日本”、“美国”和“俄罗斯”4个条目生成对应的表,将表单文件保存到考生文件夹。知识点解析:本大题考查了表单及控件的常用属性和方法的设置;SQL简单联接查询。本题关键是SQL查询语句中怎样将列表框中被选中的“国家名称”内容命名为表名。解决此问题的方法就是先定义一个变量等于列表框中的被选定的条目值,然后使用宏替换函数(&)将变量值替换出来。本题进查询的两个表是“国家”表和“获奖牌情况”表通过“国家代码”联接,利用ORDERBY对查询结果排序,利用INTODBF(或INTOTABLE)将结果输出到数据表中。国家二级VF机试(操作题)模拟试卷第8套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下,打开“宾馆”数据库,完成如下操作:(1)打开“客户”表,给“性别”字段增加约束:性别只能为“男”或“女”,默认值为:”女”,表达式为:性别$“男女”。(2)为“入住"表创建一个主索引,主索引的索引名为fkkey,索引表达式为:客房号+客户号。(3)根据各表的名称、字段名的含义和存储的内容建立表之间的永久联系,并根据要求建立相应的普通索引,索引名与建索引的字段名相同,升序排序。(4)使用SQL的SELECT语句查询“客户”表中性别为“男”的“客户号”、“身份证”、“姓名”和“工作单位”字段及相应的记录值,并将结果存储到名为taba的表(注意,该表不需要排序)。请将该语句存储到名为one.prg的文件中。标准答案:【操作步骤】(1)①命令窗口执行:MODIFYDATABASE宾馆,打开数据库设计器。②右击数据库设计器中的“客户”表,选择【修改】,打开“客户”表设计器,选中“字段”选项卡中的“性别”字段,在“字段有效性”的“规则”文本框中输入:性别$..男女”,在“默认值”文本框中输入:”女”,保存表修改。(2)右击数据库设计器中的“入住”表,选择【修改】,打开“入住”表设计器,选中“索引”选项卡,在“索引名”下方的文本框中输入“fkkey”,“索引”选项卡中将“类型”选择“主索引”,在表达式下方的文本框中输入“客房号+客户号”,建立主索引。(3)①选中“入住”表单击“修改”按钮,在表设计器的“字段”选项卡中选中“客户号”,在“索引”列的下拉框选择“升序”为表建立普通索引,选中“客房号”字段名,在“索引”列的下拉框选择“升序”排序方式,单击“确定”按钮保存表结构修改。②参照“入住”表的操作,为“客房”表建立“类型号”字段的普通索引。③数据库设计器中,拖动“客户”表“索引”下方的主索引“客户号”到“入住”表中“索引”下方的普通索引“客户号”上,为两个表建立联系。④以同样的方法建立其他三个表之间的联系,拖动过程中是由主索引字段向普通索引字段进行拖动,且一定要拖到相应的普通索引字段上才可以松开鼠标。(4)①命令窗口执行:MODIFYCOMMANDone,打开程序文件编辑器编写视图定义代码如下:SELECT客户号,身份证,姓名,工作单位FROM客户;WHERE性别=“男”INTOTABLEtaba②命令窗口执行:DOone,执行文件。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)使用查询设计器设计完成:查询“吴”姓读者(客户名第一个字为“吴”)订购图书情况,查询结果包括客户名、订单号、图书名、单价、数量和签订日期字段的值,要求按客户名升序排序,并运行该查询将查询结果存储在表文件appone,查询文件也保存为appone。(2)使用SQL语句查询每个读者订购图书的数量和金额(数量×单价),查询结果包括客户名、订购总册数和金额,查询按金额降序排序,查询结果存储在apptwo.dbf表文件,最后将SQL语句保存在apptwo.prg命令文件。标准答案:(1)【操作步骤】步骤1:在命令窗口执行命令:CREATEQUERY,新建一个查询。步骤2:在弹出的“添加表或视图”对话框里面,单击“其他”按钮,弹出“打开”对话框,在考生目录找到goods.DBF文件,单击“打开”按钮,完成goods表的添加。步骤3:重复步骤2,继续添加表orderitem和order,并通过图书号以及订单号来设置三个表之间的联系,添加完成之后如图4.26所示。步骤4:在查询设计器里面“字段”选项卡中依次选择Order.客户名、Order.订单号、Goods.图书名、Goods.单价、Orderitem.数量和Order.签订日期,然后单击“添加”按钮,把字段添加到查询中,添加完成后如图4.27所示。步骤5:在“筛选”选项卡中选择“Order.客户名”,条件选择“like”,实例输入“吴%”,如图4.28所示。步骤6:在“排序依据”选项卡中添加“Order.客户名”,如图4.29所示。步骤7:在查询设计器工具栏上选择“查询去向”按钮,弹出“查询去向”对话框。输出去向选择“表”,表名输入“appone”,如图4—30所示。步骤8:保存查询,文件名输入“appone”。(2)【操作步骤】步骤1:创建数据库可以使用菜单完成,选择“文件”菜单下面的“新建”子菜单,弹出“新建对话框”对话框,在对话框里面选择“程序”单选按钮。步骤2:在“新建”对话框里面单击“新建文件”按钮,打开程序编辑界面。步骤3:在程序编辑界面输入SOL语句:select客户名,sum(数量)订购总册数,sum(单价*数量)余额;fromgoods,orderitem,order;whereqoods.图书号=0rderitem.图书号andorderi七em.订单号=order.订单号;groupby客户名。rderby金额desc;intodbfapptwo9步骤4:单击菜单工具栏“保存”按钮弹出“另存为”对话框,输入文件名apptwo,单击“保存”按钮保存文件。步骤5:运行程序。知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、使用报表设计器建立一个报表,具体要求如下:①报表的内容(细节带区)是orderlist表的订单号、订购日期和总金额。②增加数据分组,分组表达式是“orderlist.客户号”,组标头带区的内容是“客户号”,组注脚带区的内容是该组订单的“总金额”合计。③增加标题带区,标题是“订单分组汇总表(按客户)”,要求是三号字、黑体,括号是全角符号。④增加总结带区,该带区的内容是所有订单的总金额合计。最后将建立的报表文件保存为report1.frx文件。提示:在考试的过程中可以使用“显示一预览”菜单查看报表的效果。标准答案:【操作步骤】步骤1:命令窗口执行:CREATEREPORTREPORT1,打开报表设计器。步骤2:右击报表选择【数据环境】,在报表数据环境中单击右键选择【添加】,在“添加表或视图”对话框中双击orderlist表,将表添加到报表数据环境中。步骤3:右击报表数据环境中的orderlist表,选择【属性】,在报表属性面板中修改“Order”属性值为“客户号”,该操作是为了让记录能按“客户号”索引排序的数据。步骤4:从报表数据环境的orderlist表中,依次拖动“订单号”、“订购日期”和“总金额”字段到报表设计器的细节带区,再通过“报表控

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论