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

下载本文档

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

文档简介

国家二级VF机试(操作题)模拟试卷9(共9套)(共27题)国家二级VF机试(操作题)模拟试卷第1套一、基本操作题(本题共3题,每题1.0分,共3分。)1、(1)在考生文件夹下新建一个名为“供应”的项目文件。(2)将数据库“供应零件”加入到新建的“供应”项目中。(3)通过“零件号”字段为“零件”表和“供应”表建立永久性联系,其中,“零件”表是父表,“供应”表是子表。(4)为“供应”表的“数量”字段设置有效性规则:数量必须大于0并且小于9999;错误提示信息是“数量超范围”(注意:规则表达式必须是“数量>0.and.数量<9999”)。标准答案:(1)启动VisualFoxPro6.0,按照题目的要求新建一个名为“供应”的项目文件,如图3.1所示。(2)按照题目的要求,将“供应零件”数据库添加到项目“供应”中,如图3.2所示。(3)步骤1:按照题目的要求为“零件”表建立主索引,如图3.3所示。步骤2:用同样的方法为“供应”表建立普通索引,如图3.4所示。步骤3:在数据库设计器中从主索引拖曳到普通索引,建立联系,如图3.5所示。(4)按照题目的要求为“供应”表中的“数量”字段设置字段有效性规则,如图3.6所示。知识点解析:本大题主要考查的知识点是:新建项目、将数据库添加到项目中、为表建立永久联系以及为表中字段设置有效性规则。【解题思路】通过项目管理器可以完成数据库及数据库表的相关操作。项目的建立可以采用工具栏的命令按钮的方式来实现,通过项目管理器中的命令按钮可以将数据库添加到项目中,添加和修改数据库中的数据表可以通过数据库设计器来完成,修改表中字段有效性可以在表设计器中完成。其中,“规则”是逻辑表达式,“信息”是字符串表达式,“默认值”的类型则视字段的类型而定。2、在考生文件夹下完成如下简单应用:(1)用SQL语句完成下列操作:列出所有与“红”颜色零件相关的信息(供应商号、工程号和数量),并将查询结果按数量降序存放于表supply_temp中。(2)新建一个名为menu_quick的快捷菜单,菜单中有两个菜单项“查询”和“修改”。并在表单myform的RightClick事件中调用快捷菜单menu_quick。标准答案:(1)【操作步骤】步骤1:新建程序文件,并在程序文件窗口中输入符合题目要求的程序段,如图3.7所示。步骤2:以query1为文件名保存并运行程序,如图3.8所不。也可以先按照题目的要求通过查询设计器建立查询,然后打开查询设计器工具栏中的工具按钮将其中的SQL语句复制到指定的程序文件中,操作过程如图3.9所示。一般来说,简单的SQL查询语句都可以通过查询设计器来实现,且比较简单,建议考生掌握这种方法的使用。(2)【操作步骤】步骤1:按照题目的要求新建一个快捷菜单,如图3.10所示。步骤2:为快捷菜单添加菜单项,保存后生成可执行文件menu_quick.mpr,如图3.11所示。步骤3:打开表单myform,按照题目的要求编写表单的RightClick事件代码“d0menu_quick.mpr”,如图3.12所示。步骤4:保存并运行表单,如图3.13所示。知识点解析:本大题主要考查的知识点是:用SQL语句创建查询、表单快捷菜单的建立以及如何通过表单调用菜单。【解题思路】打开本题涉及的数据表,分析字段来源,然后完成SQL语句的编写。通过菜单设计器完成快捷菜单的创建,通过在表单的“RightClick”事件中添加“DO菜单名称”代码来实现快捷菜单的调用。3、设计一个名为mysupply的表单,表单的控件名和文件名均为mysupply。表单的形式如下图所示。表单标题为“零件供应情况”,表格控件为Grid1,命令按钮“查询”为Command1、“退出”为Command2,标签控件1.qhel1和文本框控件Text1(程序运行时用于输入工程号)。运行表单时,在文本框中输入工程号,单击“查询”命令按钮后,表格控件中显示相应工程所使用的零件的零件名、颜色和重量(通过设置有关“数据”属性实现),并将结果按“零件名”升序排序存储到pp.dbf文件。单击“退出”按钮关闭表单。完成表单设计后运行表单,并查询工程号为“J4”的相应信息。标准答案:步骤1:新建一个表单,并按题目要求修改表单的属性,如图3.14所示。步骤2:在表单中添加一个表格控件、两个命令按钮控件、一个标签控件和一个文本框控件,并按照题目的要求设置各控件的属性,如图3.15所示。步骤3:编写两个命令按钮的Qick事件代码,如图3.16所示。******“查询”按钮的Click事件代码:******&&选择查询字段,通过as短语指定显示字段SELECT零件,零件名,零件,颜色,零件,重量;&&指定字段来源FROM供应,零件&&设置查询条件WHERE零件.零件号=供应.零件号AND供应,工程号=THISFORM.TEXTl.VALUE;&&查询结果按零件名升序排列ORDERBY零件名;&&将查询结果存储到pp.dbf中INTODBFPP&&设置表格的数据来源THISFORM.GRIDl.RecordSource=“PP”*************************“退出”按钮的Click事件代码******THISFORM.RELEASE*******************步骤4:保存表单名为mysupply,并按要求运行表单,如图3.17所示。知识点解析:本大题主要考查的知识点是:通过表单设计器创建表单、表单控件及其属性的修改和通过SQL语句实现查询。【解题思路】按照题目的要求建立表单,并向表单中添加控件,然后修改控件的相关属性,最后为命令按钮编写事件代码。表单的Name属性用于设置表单的名称,Caption属性用于设置表单的标题;标签的caption属性用于设置标签的标题;命令按钮的calption属性用于设置命令按钮的标题;表格控件的RecordSource属性用于设置表格的数据来源。在作答本题的过程中还用到了“设置表单的数据环境”的知识点,为表单建立数据环境,可以方便地设置控件与数据之间的绑定关系,并且数据环境中的对象(表、视图或表间的关联)会随着表单的运行而打开和建立,随着表单的关闭而关闭或释放。国家二级VF机试(操作题)模拟试卷第2套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下已有customers(客户)、orders(订单)、orderitems(订单项)和goods(商品)四个表。(1)创建一个名为“订单管理”的数据库,并将已有的customers表添加到该数据库中。(2)利用表设计器为customers表建立一个普通索引,索引名为bd,索引表达式为“出生日期”。(3)在表设计器中为customers表的“性别”字段设置有效性规则,规则表达式为:性别$"男女",出错提示信息是:“性别必须是男或女”。(4)利用INDEX命令为customers表建立一个普通索引,索引名为khh,索引表达式为“客户号”,索引存放在customers.cdx中。然后将该INDEX命令存入命令文件pone.prg中。标准答案:(1)①命令窗口执行:MODIFYDATABASE订单管理,新建数据库并打开数据库设计器。②在数据库设计器中右击,选择【添加表】,在“打开”对话框中双击customers表添加到数据库中。(2)在数据库设计器中右击customers表,选择【修改】,打开表设计器,“字段”选项卡中选“出生日期”,“索引”列中选择“升序”,“索引”选项卡中,修改“索引名”为“bd”。(3)接上题,在customers表设计器的“字段”选项卡中选中“性别”,“字段有效性”的“规则”文本框中输入:性别$"男女",在“信息”文本框中输入:”性别必须是男或女”,单击“确定”按钮保存表结构的修改。(4)①命令窗口执行:MODIFYCOMMANDpone,新建程序文件并打开程序编辑器。输入命令:INDEXON客户号TAG_khh。②单击“常用”工具栏中的“运行”保存并运行程序。使用数据库;索引;域完整性。知识点解析:本题考查了数据库的建立和数据库设计器的使用:索引的建立:字段有效性规则的设置。在表设计器中对字段建立有效性规则和设置默认值注意先选中需要建立有效性规则的字段。在表设计器的“字段”选项卡中,可以通过选择“排序”下拉框中的“排序”下拉框中的“升序”或“降序”为指定的字段建立一个索引名与索引表达式相同的普通索引,在“索引”选项卡中可修改索引名或索引类型。也可以用命令建立索引,后缀名为.CDX的索引是复合索引,本题要求建立的customer.cdx索引文件与customers表同名,属于结构符合索引,建立结构符合索引的命令格式是:INDEXON索引关键字TAG索引名。二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)在考生文件夹下创建表单文件formone.scx,如图3-26所示,其中包含一个标签Labell、一个文本框Textl和一个命令按钮Commandl。然后按相关要求完成相应操作。①如图3-26所示,设置表单、标签和命令按钮的Caption属性。②设置文本框的Value属性值为表达式Date()。③设置“查询”按钮的Click事件代码,使得表单运行时单击该按钮能够完成如下查询功能:从customers表中查询指定日期以后出生的客户,查询结果依次包含“姓名”、“性别”、“出生日期”3项内容,各记录按“出生日期”降序排序,查询去向为表tableone。最后运行该表单,查询1980年1月1日以后出生的客户。(2)向名为“订单管理”的数据库(在基本操作题中建立)添加orderitems表。然后在数据库中创建视图viewone:利用该视图可以从orderitems表查询统计各商品的订购总量,查询结果依次包含“商品号”和“订购总量”(即所有订单对该商品的订购数量之和)两项内容,各记录按“商品号”升序排序。最后利用该视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。标准答案:(1)步骤1:命令窗口执行:CREATEFORMformone,打开表单设计器新建表单。步骤2:向表单添加一个标签、一个文本框和一个命令按钮控件。选择表单对象,修改对象属性值,见表4—39。步骤3:编写“查询”命令按钮的的Click事件代码:SELECT姓名,性别,出生日期;FROMcustomers;WHERECustomers.出生日期>thisform.textl.value;ORDERBY出生日期DESC;INTOTABLEtableone.dbf步骤4:单击“常用”工具栏的“运行”按钮保存并运行表单,文本框中输入“01/01/1980”后单击“查询”按钮。基本型控件;SQL简单查询。(2)步骤1:命令窗口执行:MODIFYDATABASE订单管理。在数据库设计器中右击,选择【添加表】,在“打开”对话框中双击orderitems表添加到数据库中。步骤2:在命令窗口执行如下SQL命令语句建立视图:OPENDATABASE订单管理CREATEVIEWviewoneAS;SELECTOrderitems.商品号,SUM(Orderitems.数量)AS订购总量;FROM订单管理!orderitems;GROUPBYOrderitems.商品号;ORDERBYOrderitems.商品号(注意:以上SQL语句查询语句部分是通过视图设计器生成,也可以在视图设计器中建立。)步骤3:在命令窗口执行如下SQL语句保存查询结果:SELECT*FROMviewoneINTOTABLEtabletwoSQL分组与计算查询。知识点解析:(1)本题主要考查了表单及控件的常用属性的设置:SQL简单查询。由于文本框中值的默认数据类型是文本型,要将Value值设置为表达式date(),应在“属性”面板中写成“=date()”,这样,文本框初始显示的就是当期日期,并且文本框类型也变为日期型。(2)本题主要考查的是数据库设计器的使用;利用SQL命令定义视图和SQL分组计算查询。根据题意,应该按“商品号”分组,用SUM()函数求订购数量之和。三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下创建一个顶层表单myform.scx(表单的标题为“考试”),然后创建并在表单中添加菜单(菜单的名称为mymenu.mnx,菜单程序的名称为mymenu.mpr)。效果如图3-7所示。①菜单命令“计算”和“退出”的功能都通过执行过程完成。②菜单命令“计算”的功能是根据orderitems表和goods表中的相关数据计算各订单的总金额(一个订单的“总金额”等于它所包含的各商品的金额之和,每种商品的“金额”等于“数量*单价”),并将计算的结果填入orders表的相应字段中。③菜单命令“退出”的功能是释放并关闭表单。最后,请运行表单并依次执行其中的“计算”和“退出”菜单命令。标准答案:步骤1:命令窗口执行:CREATEFORMmyform,打开表单设计器新建表单。设置表单(forml)的Caption属性为“考试”。步骤2:命令窗口执行:CREATEMENUmymenu,在“新建菜单”对话框中单击“菜单”按钮,打开菜单设计器。步骤3:在菜单设计器“菜单名称”列的文本框中依次输入“计算”和“退出”两个主菜单名,将两个菜单项的“结果”都设置为“过程”,分别单击两个过程后面的“创建”按钮打开过程编辑器,编写过程代码。步骤4:两个过程代码如下:*****“计算”菜单命令的过程代码*****CLOSEALLUSEorders&&以orders表为当前表DOWHILENOTEOF()SELECTSUM(Orderitems.数量*Goods.单价)ZJE;FROM订单管理!orderitemsINNERJOINgoods;ONOrderitems.商品号=Goods.商品号;WHEREOrderitems.订单号=Orders.订单号;GROUPBYOrderitems.订单号;INTOARRAYTEMPREPLACE总金额WITHTEMPSKIPENDDO*****“退出”菜单命令的过程代码*****myform.release步骤5:执行【显示】→【常规选项】菜单命令,在“常规选项”对话框中勾选“顶层表单”复选框,单击“确定”按钮,保存修改。步骤6:执行【菜单】→【生成】菜单命令,在弹出的对话框中单击“是”按钮,弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件(mymenu.mpr)。步骤7:命令窗口执行:MODIFYFORMmyform,打开表单设计器。选中表单,设置表单(forml)的ShowWindow属性值为“2.作为顶层表单”。步骤8:编写表单的LOAD事件代码如下:DOmymenu.mprWITHTHIS,.T.步骤9:单击“常用”工具栏中的“运行”查看结果,保存表单文件,并分别执行“计算”和“退出”菜单命令。为顶层表单添加菜单;SQL分组与计算查询。知识点解析:本题主要考查了表单及常用控件的属性的设置、SQL分组计算查询、菜单的建立、顶层表单的设置、DOWHILE循环语句。本题的重点是如何建立顶层表单和“计算”菜单项过程的编写。为顶层表单添加下拉式菜单,应先在“菜单设计器”中按要求设计下拉式菜单,然后做两个设置:一是在“显示”菜单下的“常规选项”对话框中选择“顶层表单”复选框,说明该菜单应用在顶层菜单中,二是将表单的showwindow属性值设置成“2—作为顶层表单”,使其成为顶层表单。在顶层表单中运行菜单,格式为:DO<文件名>WITHThis[,"<菜单名>"]其中文件名指定被调用的菜单程序文件,扩展名.mpr不能省略。This表示当前表单对象的引用。通过<菜单名>可以为被添加的下拉式菜单的条形菜单指定一个内部名字,可以省略。在顶层表单的菜单中关闭表单,应该引用表单的名称(NAME值),并使用Release方法关闭表单:<表单名称>.Release。“计算”菜单项过程的编写思路大概是:先以orders表为当前表,利用DOWHILE循环语句对每条记录进行处理。DOWHILE语句的功能是:从orderitems表和goods表中求出和orders表当前记录“订单号”相同的订单的总金额,并把该值保存在数组中,再用REPLACE命令将orders表当前记录的“总金额”字段值修改为数组中的值,即该订单的总金额。注意:在通过orderitems表和goods表查询某订单的总金额时,应该以“订单号”分组,用SUM()函数求各商品的金额之和。然后将记录指针指向orders表的下一条记录,重新进行判断和处理,直到将orders表中的每一条记录都处理完毕。国家二级VF机试(操作题)模拟试卷第3套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下有一表单文件formone,scx,其中包含一个命令按钮。打开该表单文件,然后在表单设计器环境下完成如下操作:(1)将表单的标题设置为“基本操作”;将表单的最大化按钮设置为无效。(2)在表单的数据环境中添加数据表customers.dbf。(3)将命令按钮设置为“默认”按钮,即在表单激活的情况下,不管焦点在哪个控件上,都可以通过按。Enter键来选择该命令按钮。(4)在命令按钮的上方添加一个基于用户自定义类mytextbox的控件(不需要做任何设置)。类mytextbox存储在考生目录下的类库文件myclasslib.vcx中。提示:在表单控件工具栏中单击“查看类”按钮添加类库。标准答案:【操作步骤】(1)打开表单formone.sex文件,设置表单和控件属性,如表4-6所示。(2)①单击“显示”菜单下的“数据环境”子菜单,弹出“添加表或视图”对话框,如图4.16所示。②在弹出的对话框里面,单击“其他(O)…”按钮,在打开文件窗口中选择customers.dbf,如图4.17所示。③单击“确定”按钮,返回到“添加表或视图”窗口,接着关闭“添加表或视图”对话框,完成将数据表customers.dbf添加到数据环境中。(3)在“属性”面板的下拉框中选择命令按钮(Commandl)对象,在“全部”选项卡中修改Default属性值为T。(4)①选中“工具”菜单下的“选项”命令,弹出“选项”对话框,选择“控件”选项卡,选中“可视类库”单选按钮。②单击“添加”按钮弹出“打开”对话框中,选择考生目录下的类库文件myclasslib.vcx,如图4.18所示,单击“打开”按钮完成类库文件的添加,回到“选项”对话框后单击“确定”按钮关闭“选项”对话框。③单击“表单控件”工具栏上的“查看类”按钮,然盾选择myelasslib。④单击“表单控件”工具栏上的mytextbox控件,在命令按钮的上方添加一个mytextbox的控件。【考点链接】表单属性的设置、数据环境的设置、命令按钮属性的设置、使用自定义类库。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)用SQL语句完成下列操作:列出“林诗因”、持有的所有外币名称(取自rateexchange表)和持有数量(取自currencys1表),并将检索结果按持有数量升序排序存储于表ratetemp中,同时将所使用的SQL,语句存储于新建的文本文件rate.txt中。(2)使用一对多报表向导建立报表。要求:父表为rateexchange,子表为currencys1,从父表中选择字段:“外币名称”;从子表中选择全部字段;两个表通过“外币代码”建立联系;按“外币代码”降序排序;报表样式为“经营式”,方向为“横向”,报表标题为:外币持有情况;生成的报表文件名为currency._.report。标准答案:(1)【操作步骤】步骤1:命令窗口执行:MODIFYFILERATE,打开文本文件编辑器。输入如下程序代码(以下程序是通过查询设计器生成):SELECTRateexchanqe.外币名称,currencys1.持有数量;FROMRATE!currencyslINNERJOINRATE!rateexchange;ONcurrencvs1.外币代码=Rateexchange.外币代码;WHEREcurrencysl!姓名=“楂诗因”ORDERBYcurrericvs1.持有数量;INTOTABLEratetemD.dbf步骤2:命令窗口执行:DORATE.TXT,执行程序。(2)【操作步骤】步骤1:命令窗口执行:OPENDATABASERATE,打开rate数据库环境。步骤2:执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在“新建”中选“报表”选项,单击“向导”按钮,弹出“向导选取”对话框,选中“一对多报表向导”项,单击“确定”按钮,启动报表向导。步骤3:“步骤1-从父表选择字段”的“数据库和表”下选rateexchange表,双击“外币名称”字段添加到“选定字段”中,单击“下一步”。步骤4:“步骤2-从子表选择字段”的“数据库和表”下选currencysl表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。步骤5:“步骤3-为表建立关系”中系统自动建立两个表的联系,单击“下一步”按钮。步骤6:在报表向导的“步骤4-排序记录”界面中双击“可用的字段或索引标识”中的“外币代码”字段到“选定字段”列表中,并单击“降序”选项,单击“下一步”按钮。步骤7:“步骤5.选择报表样式”中选“样式”列表中的“经营式”,在“方向”中选择“横向”单选项,单击“下一步”按钮。步骤8:“步骤6.完成”中的“报表标题”下方文本框中输入“外币持有情况”,单击“完成”按钮。步骤9:在“另存为”对话框的“保存报表为:”框中输入报表文件名currency_report,单击“保存”按钮。【考点链接】创建简单报表。知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、对考生文件夹下的数据库“图书借阅”中的表完成如下操作:①为表loans增加一个字段“姓名”,字段类型为“字符型”,宽度为8。编写程序modipro.prg实现以下功能:②根据borrows表的内容填写表loans中“姓名”的字段值。③查询表loans中2008年2月3日的借书记录,并将查询结果输入表rqtable中。运行该程序。标准答案:【操作步骤】步骤1:命令窗口执行如下两条命令打开loans表结构。USEloans&&打开loans表MODIFYSTRUCTURE&&打开表设计器步骤2:在表设计“字段”选项卡的“字段名”列的最后一个空白文本框中输入字段名“姓名”,“类型”中选择“字符型”,“宽度”文本框中输入“8”,保存表结构修改。步骤3:命令窗口执行:MODIFYCOMMANDMODIPROG,打开程序文件编辑器,输入如下程序代码(以下SQL查询语句是通过查询设计器生成):SELECT借书证号,姓名FROMBORROWSINTOCURSORTEMPDOWHILENOTEOF()UPDATELOANSSETLOANS.姓名=TEMP.姓名;WHERELOANS.借书证号=TEMP.借书证号SKIPENDDOSELECT*FROMLOANSWHERE借书日期={^2008—02—03);INTOTABLERQTABLE步骤5:执行命令:DOMODIPROG.PRG,执行程序。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第4套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下,打开test_db数据库,完成如下操作:(1)为表sell建立一个主索引,索引名为:PK,索引表达式为:部门号+年度+月份。(2)将自由表datatest、model、tabc和pass添加到当前打开的数据库中。(3)在当前数据库中创建表test(部门号,年份,销售额合计),其中:部门号为字符型,宽度为2;年份为字符型,宽度为4;销售额合计为数值型,宽度为8(其中小数2位)。(4)使用报表向导建立一个简单报表,要求选择表sell中所有字段(其他不做要求),报表文件名为two。标准答案:(1)①在令窗口执行命令ODIFYDATABASEtest_db,打开test_db数据库设计器。②右击数据库设计器中的sell表,选择【修改】打开sell表设计器,选中“索引”选项卡,“索引名”输入“PK”,“索引”选项卡中将“类型”选择为“主索引”,表达式下方输入“部门号+年度+月份”,建立主索引。(2)在数据库设计器中右击,选择【添加表】,在“打开"中双击datatest表添加到数据库中,以同样的方法将model、tabc和pass表添加到数据库中。(3)①在数据库设计器中右击,选择【新建表】,在“新建表”中单击“新建表”按钮,在弹出的“创建”对话框的“输入表名”中输入test,单击“保存”打开表设计器。②根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击“确定”按钮。系统弹出“现在输入数据记录吗?”,单击“否”按钮。(4)①执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在“新建”中选“报表”,单击“向导”按钮,“向导选取”对话框中选“报表向导”项,单击“确定”按钮,启动报表向导。②“步骤1-字段选取”的“数据库和表”下选中sell表,将“可用字段”全部添加到“选定字段”中。③由于本题不再要求其他操作,可直接单击“完成”按钮跳至向导最后一个界面。单击“完成”按钮,在“另存为”的“保存报表为:”框中输入报表文件名two,单击“保存”。知识点解析:本题考查了表索引的建立;数据库的基本操作;数据表的建立;报表向导的使用。根据多个字段建立索引表达式时,可在表设计器“索引”选项卡的“表达式”中进行设置,或可以直接输入,也可以打开“表达式生成器”建立。二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)在数据库“住宿浏览”中使用一对多表单向导生成一个名为zsform的表单。要求从父表“宿舍”中选择所有字段,从子表“学生”表中选择所有字段,使用“宿舍号”字段建立两个表之间的关系,样式为“边框式”;按钮类型为“图片按钮”;排序字段为“宿舍号”(升序);表单标题为“住宿浏览”。(2)编写modiprog程序,要求实现用户可任意输入一个大于0的整数,程序输出该整数的阶乘。如用户输入的是5,则程序输出为“5的阶乘为:120”。标准答案:(1)步骤1:在命令窗口执行命令:OPENDATABASE住宿浏览,打开数据库环境。步骤2:执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“表单”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“一对多表单向导”项,单击“确定”按钮,启动表单向导。步骤3:在表单向导的“步骤1-从父表中选定字段”界面的“数据库和表”下选中“宿舍”表,将“可用字段”中的所有字段添加到“选定字段”中,单击“下一步”按钮。步骤4:在表单向导的“步骤2-从子表中选定字段”界面的“数据库和表”下选中“学生”表,将“可用字段”中的所有字段添加到“选定字段”中,单击“下一步”按钮。步骤5:在表单向导的“步骤3-建立表之间的关系”界面系统自动建立两个表的联系,单击“下一步”按钮。步骤6:在表单向导的“步骤4-选择表单样式”界面中选中“样式”列表中的“边框式”,再在“按钮类型”选项中选中“图片按钮”,单击“下一步”按钮。步骤7:在表单向导的“步骤5.排序次序”界面中双击“可用的字段或索引标识”中的“宿舍号”字段到“选定字段”列表中,单击“下一步”按钮。步骤8:在表单向导的“步骤6-完成”界面中的“请键入表单标题”下方文本框中输入“住宿浏览”,单击“完成”按钮。步骤9:在“另存为”对话框的“保存表单为:”框中输入表单文件名zsform,单击“保存”按钮。(2)步骤1:住命令窗口执行命令:MODIFYCOMMANDMODIPROG,打开程序文件编辑器。步骤2:在编辑器中输入如下程序代码:1INPUT"请输入一个整数:"TON2JC=13FORI=1TON4JC=JC*I5ENDFOR.6?N7??"的阶乘为:"8??JC步骤3:在命令窗口执行命令:DOMODIPROG.PRG,执行程序文件。知识点解析:(1)本题考查的是一对多表单向导的使用。在启动向导前,可以先打开数据库环境,这样在启动向导添加数据表时,可在向导界面中直接选中所需的数据表,本题是根据两个表进行操作的,在启动向导时候注意选择“一对多表单向导”,其他的操作只需根据向导提示在各界面中完成即可。(2)本题重要考查的是FOR循环语句设计。根据题意,程序功能代码设计大致如下:首先利用INPUT命令从键盘获得一个整数并赋给变量工(该变量名可任意定义),然后定义个一个初始变量并赋值为1;接着,利用FOR循环语句开始循环计算,该循环的起始值为1,结束值为从键盘输入的整数值,步长为1,循环体的功能是计算阶乘的表达式:JC=JC*I,其中,“JC”为前面定义的初始变量,I为循环增量;循环结束后输出变量N和JC的值。注意:FOR循环中,循环增量的值在每次循环结束后自动加1,不需要通过表达式指出。三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下创建一个下拉式菜单mymenu.mllx,并生成菜单程序enu.mpr。运行该菜单程序时会在当前VFP系统菜单的末尾追加一个“考试”子菜单,如图2.13所示。菜单命令“统计”和“返回”的功能都通过执行过程完成。菜单命令“统计”的功能是统计2007年有关客户签订的订单数。统计结果依次包含“客户名”和“订单数”两个字段,其中客户名即为客户的姓名(在customers表中)。各记录按订单数降序排序、订单数相同按客户名升序排序,统计结果存放在tabletwo表中。菜单命令“返回”的功能是恢复标准的系统菜单。菜单程序生成后,运行菜单程序并依次执行“统计”和“返回”菜单命令。标准答案:步骤1:在命令窗口执行命令:CREATEMENUmymenu,在弹出的“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。步骤2:在菜单设计器“菜单名称”列的文本框中输入“考试”主菜单名,“结果”下拉框中选择为“子菜单”,单击“创建”按钮进入下级菜单设计,在“菜单名称”列的第l、2行文本框中依次输入子菜单名“统计”和“返回”,将这2个子菜单的“结果”都设置为“过程”,分别单击2个过程后面的“创建”按钮打开过程编辑器,编写过程代码。步骤3:两个过程代码如下:>“统计”菜单命令的过程代码:1SELECTCustomers.姓名as客尸名,count(*)as订单数;2FROMcustomersINNERJOINOrders;3ONcustomers.客户号=Orders.客户号;4WHEREyear(Orders.签订日期)=2007;5GROUPBYCustomers.姓名;6ORDERBY2DESC,Customers.姓名;7TNTOTABLEfahletwo.Dhf>“返回”菜单命令的过程代码:1SETSYSMENUNOSAVE2SETSYSMENUTODEFAULT步骤4:执行【显示】→【常规选项】菜单命令,在弹出的“常规选项”对话框中选择“位置”中的“追加”单选钮,然后单击“确定”按钮,保存修改。步骤5:执行【菜单】→【生成】菜单命令,在弹出的VisualFoxPro对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,在“输出文件”对话框中修改输出的文件名为:enu.mpr,单击“生成”按钮生成一个可执行的菜单文件。步骤6:在命令窗口执行命令:DOenu.mpr,运行菜单程序,依次执行“统计”和“返回”菜单命令。知识点解析:本题主要考查了菜单设计器的使用;SQL分组计算查询。本题的关键是“统计”菜单项的过程设计部分,是一个SQL分组计算查询语句,查询的两个表文件是customers和orders表,查询条件中要通过year()函数获得具体的年份值,分组条件为customers的姓名字段,利用ORDERBY短语指定排序方式,最后通过INTOTABLE短语指定输出去向。国家二级VF机试(操作题)模拟试卷第5套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下的数据库rate中完成下列操作:(1)将自由表rateexchange和currencys1添加到rate数据库中。(2)为表。rateexchange建立一个主索引,为表currencysl建立一个普通索引(升序),两个索引的索引名和索引表达式均为“外币代码”。(3)为表currencys1设定字段的有效性规则:“持有数量<>O”,错误提示信息是:“持有数量不能为0”。(4)打开表单文件testform,该表单的界面如图3-25所示,请修改“登录”命令按钮的有关属性,使其在运行时可以使用。标准答案:(1)①命令窗口执行:MODIFYDATABASERATE,打开数据库设计器。②在数据库设计器中右击,选择【添加表】,在“打开”对话框中双击rateexchang表添加到数据库中,以同样的方法将currencysl表添加到数据库中。(2)①右击数据库设计器中的rateexchang表,选择【修改】,打开rateexchang表设计器,“字段”选项卡中选中“外币代码”,“排序”列中选择“升序”,在“索引”选项卡中修改“索引类型”为主索引,建立“外币代码”字段的主索引,单击“确定”按钮保存表结构修改。②参照rateexchang表的操作建立currencysl表“外币代码”字段的普通索引。(3)右击数据库设计器中的currencysl表,选择【修改】,打开表设计器,在“字段”中选“持有数量”,在“字段有效性”的“规则”文本框中输入:持有数量<>0,在“信息”框中输入:”持有数量不能为0”,单击“确定”保存。(4)①命令窗口执行:MODIFYFORMTEST-FORM,打开表单设计器修改表单。②选中“登录”命令按钮,在“属性”面板修改其Enabled属性值为:.T.,保存表单修改。知识点解析:本题考查了数据库的基本操作;表索引的建立;字段有效性规则的设置;表单控件属性值修改。在表设计器的“字段”选项卡中,可以通过选择“排序”下拉框中的“升序”和“降序”为指定的字段建立一个索引名与索引表达式相同的普通索引,在“索引”选项卡中可修改索引名或类型。只有数据库表才能建立字段有效性,“默认值”、“规则”和“信息”的设置均属于字段有效性规则范围,在输入各有效性规则的值时要注意对应的数据类型。二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)建立表单,如图3-2所示。表单文件名和表单控件名均为formtest,表单标题为“考试系统”,表单背景为灰色(BackColor=192,192,192),其他要求如下:①表单上有“欢迎使用考试系统”(Labell)8个字,其背景颜色为灰色(BackColm=192,192,192),字体为楷体,字号为24,字的颜色为桔红色(ForeColor=255,128,0);当表单运行时,“欢迎使用考试系统”8个字向表单左侧移动,移动由计时器控件Timerl控制,间隔(inter"val属性)是每200毫秒左移10个点(提示:在Timm’l控件的Timer事件中写语句:Thisform.Labell.Left=Thisform.Labell.Left-10),当完全移出表单后,又会从表单右侧移入。②表单有一个命令按钮(Commandl),按钮标题为“关闭”,表单运行时单击此按钮关闭并释放表单。(2)在“学生管理”数据库中利用视图设计器建立一个视图svJew,该视图包含3个字段“课程编号”、“课程名”和“选课人数”。然后利用报表向导生成一个报表creport,该报表包含视图sview的全部字段和内容。标准答案:(1)步骤1:在命令窗口执行命令:CREATEFORMformtest,打开表单设计器新建表单。从“表单控件”工具栏中依次向表单添加一个标签、一个计时器和一个命令按钮。步骤2:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表4-8。步骤3:双击计时器(Timerl),编写该控件的Timer事件代码,代码如下:步骤4:双击“关闭”命令按钮,编写命令按钮的Click事件代码:THISFORM.RELEASE。步骤5:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。(2)步骤1:在命令窗口执行命令:OPENDATABASE学生管理,打开数据库环境。步骤2:继续在命令窗口执行命令:CREATEVIEW,打开视图设计器。在“添加表或视图”对话框中依次双击“课程”表和“考试成绩”表,将表添加到视图设计器中,添加两个表后,系统弹出“联接条件”对话框,自动查找两个表中相匹配的字段进行联接,单击“确定”按钮设置两个表的联系。步骤3:在视图设计器中双击“课程”表中“课程编号”和“课程名”字段,添加到“选定字段”中;然后在“字段”选项卡的“函数和表达式”下的文本框中输入表达式:COUNT(考试成绩.学号)AS选课人数,再单击“添加”按钮,将其添加到“选定字段”列表中。如图4—16所示。步骤4:在“分组依据”选项卡中双击“可用字段”列表框中的“课程编号”字段到“分组字段”选项卡中。步骤5:单击“常用”工具栏中的“运行”按钮查看结果,将视图以文件名sview保存。步骤6:执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“报表”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“报表向导”项,单击“确定”按钮,启动报表向导。步骤7:在报表向导的“步骤1-字段选取”界面的“数据库和表”下选中sview视图文件,将“可用字段”中的字段全部添加到“选定字段”中。步骤8:由于本题不再要求其他操作,可以直接单击“完成”按钮跳至向导最后一个界面。继续单击“完成”按钮,在“另存为”对话框的“保存报表为:”文本框中输入报表文件名creport,单击“保存”按钮。知识点解析:(1)本题考查的是表单的基本设计。除了掌握表单控件的常用属性、事件和方法之外,本题还需要掌握以下几个关键的知识点进行操作:表单控件在表单中移动方向的控制,这主要通过控件的Left属性控制,该属性表示控件的左边界在表单中的位置。Left值越大,表示该控件离表单的左边界越远,因此,要控制控件在表单中向右移动,可以通过逐渐增加Left值来实现,反之,如果控件向左移动,可以通过逐渐减小Left值来实现。注意:表单控件没有右边界属性。由于控件没有右边界属性,因此控件在表单中的水平位置只能通过左边界定位,当控件的Left值为0时,控件的左边界与表单的左边界刚好重叠,当Left值等于表单宽度(width)时,与表单右边界重合,而本题要求控件从表单左边进入,即要求控件的右边界与表单左边界重合,因此,需要用0减去控件本身的宽度(width),此时控件右边界才刚好与表单左边界重合,标签的移动过程如图4一15所示。计时器Interval属性的含义,通过该属性值中数值的大小,控制表单控件变化的时间间隔,其中,1000表示1秒,数值越大,时间间隔越小。通过IF条件语句判断控件边界与表单边界的位置关系。(2)本题考查的是视图设计器的使用及报表向导的使用,由于视图只能保存在数据库中,因此要先打开用于保存视图的数据,本题中要注意判断视图中的字段均来自哪个表。另外,在视图设计器中输入计算表达式时,可直接在视图设计器“字段”选项卡的“函数和表达式”下的文本框中输入表达式,同时也可以通过打开“表达式生成器”对话框进行输入,要为输入的表达式指定一个新的视图字段名,可以通过AS短语指定。用于计数的函数为COUNT(),该函数容易与求和函数SUM()混淆。建立视图后,可在报表向导“步骤1-字段选取”界面的“数据库和表”中看到刚建立的视图文件,然后根据向导提示完成操作即可。三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下设计名为linform的表单(表单的控件名和文件名均为linform),表单的标题为“零件供应情况查看”。表单中有一一个表格控件和两个命令按钮“查询”和“退出”。运行表单时单击“查询”命令按钮后,表格控件中显示“供应”表中“工程号”为“JC44.”所使用的零件的“零件名”、“颜色”和“重量”。并将结果放到表“JC44”中。单击“退出”按钮关闭表单,如图3—9所示。标准答案:步骤1:在命令窗口执行命令:CREATEFORMLINFORM,打开表单设计器新建表单。步骤2:从“表单工具栏”中依次向表单添加一个表格控件和两个命令按钮控件。在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值。见表4一13。步骤3:设置表单的数据环境为“供应”表和“零件”表,具体格式可见以前的题目。步骤4:双击命令按钮,编写各个命令按钮的Click事件代码。各按钮代码如下:*****“查询”按钮的click事件代码****CT1THISFORM.GRIDl.RECORDSOURCE="SELECT零件.零件名,零件.颜色,零件.重量;2FROM零件供应!供应INNERJOIN零件供应!零件;3ON供应.零件号=零件.零件号;4WHERE供应.工程号=-JC44’;5INTOTABlEjC44.dbf”*****“退出”按钮的click事件代码*****THISFORM.RELEASE步骤5:单击“常用”工具栏中的“运行”按钮运行表单,单击“查询”命令按钮,然后单击“退出”命令按钮结束。知识点解析:本题主要考查了表单及控件的常用属性和方法的设置;SQL联接查询。对本题操作时,首先根据题意新建表单,添加控件并修改其相关属性。本题操作时,可以将表格的数据源类型属性RecordSourceType设置为“4-SQL”,在“查询”按钮的click事件中用查询语句指定表格的数据源RecordSource。国家二级VF机试(操作题)模拟试卷第6套一、基本操作题(本题共1题,每题1.0分,共1分。)1、1.打开考生文件夹下的数据库College,物理删除该数据库中的temp表,然后将3个自由表“教师表”、“课程表”和“学院表”添加到该数据库中。2.为“课程表”和“教师表”分别建立主索引和普通索引,字段名和索引名均为“课程号”,并为两个表建立一对多的联系。3.使用SQL语句查询“教师表”中工资大于4500的教师的全部信息,将查询结果按职工号升序排列,查询结果存储到文本文件one.txt中,SQL语句存储于文件two.prg中。4.使用报表向导为“学院表”创建一个报表three,选择“学院表”的所有字段,其他选项均取默认值。标准答案:(1)打开College数据库,用鼠标右键单击表temp,选择“删除”命令,在弹出的对话框中选择“删除”按钮;用鼠标右键单击数据库设计器空白处,通过快捷菜单中的“添加”命令将自由表“教师表”、“课程表”和“学院表”添加到数据库中。(2)在数据库设计器中用鼠标右键单击表,通过快捷菜单中的“修改”命令打开表设计器,按要求分别为“课程表”和“教师表”建立主索引和普通索引,在数据库设计器中从主索引拖曳到普通索引以建立两表间的联系。(3)新建一个程序,写入下列代码。&&选择查询字段SELECT*;&&指定字段来源FROM教师表;&&设置查询条件WHERE教师表.工资>4500;&&查询结果按职工号升序排列ORDERBY教师表.职工号;&&将查询结果存储到one.txt中TOFILEone.txt保存程序名为“two.prg”,并单击系统菜单中的运行按钮,运行程序。(4)通过报表向导新建一个报表,添加“学院表”作为报表的数据源,将所有字段添加到选定字段,最后输入报表名“three”。知识点解析:在数据库设计器中通过鼠标右键单击表完成删除、添加和修改表的操作。新建程序,在程序中完成SQL语句的编写。通过“报表向导”建立报表。二、简单应用题(本题共1题,每题1.0分,共1分。)2、在考生文件夹下完成如下简单应用:1.使用SQL语句完成下面的操作:根据“国家”和“获奖牌情况”两个表统计每个国家获得的金牌数(“名次”为1表示获得一块金牌),结果包括“国家名称”和“金牌数”两个字段,并且先按“金牌数”降序排列,若“金牌数”相同再按“国家名称”降序排列,然后将结果存储到表temp中。最后将该SQL语句存储在文件three.prg中。2.建立一个文件名和控件名均为myform的表单,如下图所示。表单中包括一个列表框(List1)、一个选项组(Optiongroupl)和一个“退出”命令按钮(Command1),这三个控件名使用系统默认的名称。相关控件属性按如下要求进行设置:表单的标题为“奖牌查询”,列表框的数据源使用SQL语句根据“国家”表显示国家名称,选项组中有3个按钮,标题分别为金牌(Option1)、银牌(Option2)和铜牌(Option3)。标准答案:(1)新建程序three.prg,然后输入以下命令语句。********three.prg中的代码********&&选择查询字段,通过AS短语制定显示字段SELECT国家.国家名称,COUNT(获奖牌情况.名次)AS金牌数;&&指定字段来源FROM国家.获奖牌情况;&&设置查询条件WHERE国家.国家代码=获奖牌情况.国家代码;AND获奖牌情况.名次=1;&&GROUPBY子句用于按国家名称分组GROUPBY国家.国家名称;&&查询结果按金牌数降序排列,金牌数相等时按国家名称降序排列ORDERBY2DESC,国家.国家名称DESC;&&将查询结果存储到temp.dbf中INTOTABLEtemp.dbf***************************************保存并运行程序。(2)新建一个表单,按题目要求添加一个列表框、一个选项组和一个命令按钮,并修改其属性如下:表单的Name属性为myform,Caption属性为“奖牌查询”;列表框的RowSourceType属性为“3一SQL语句”,Rowsource属性为“SELECT国家姓名FORM国家INTOcursorLSB”;选项组的ButtonCount属性为3;单选钮1的Caption属性为“金牌”;单选钮2的Caption属性为“银牌”;单选钮3的caption3属性为“铜牌”;命令按钮的Caption属性为“退出”。保存表单为myfrom,运行以查看表单的设计结果。知识点解析:新建一个查询,按要求完成查询后查看SQL语句并复制到程序中运行程序;新建一个表单,按要求添加控件并修改控件的属性。三、综合应用题(本题共1题,每题1.0分,共1分。)3、设计一个名为form_book的表单,表单的控件名为forml,文件名为form_book,表单的标题为“图书情况统计”。表单中有一个组合框(名称为Combol)、一个文本框(名称为Text1)、两个命令按钮“统计”和“退出”(名称为Command1和Command2)。运行表单时,组合框中有3个条目“清华”、“北航”、“科学”(只有3个出版社名称,不能输入新的)可供选择,在组合框中选择出版社名称后,如果单击“统计”命令按钮,则文本框显示出“book”表中该出版社图书的总数。单击“退出”按钮关闭表单。注意:完成表单设计后要运行表单的所有功能。标准答案:步骤1:在命令窗口输入命令“CreateFormform_book”,建立表单。步骤2:从表单控件工具栏中以拖曳的方式在表单中添加一个组合框、一个文本框和两个命令按钮,并修改各控件的属性,如图3.69所示,为表单添加数据环境“book”表。步骤3:双击命令按钮,写入命令按钮的Click事件代码。如图3.70所示。******“统计”命令按钮的Click事件代码******SELECTCOUNT(*)FROMBOOK;WHERE出版社=THISFORM.COMBO1.VALUE;INTOARRAYTEMPTHISFORM.TEXTl.VALUE=Temp(1)*************************************************“退出”命令按钮的Click事件代码******ThiSForm.Release*******************************************步骤4:保存并运行表单,如图3.71所示。知识点解析:若要设置组合框中的显示条目为某些固定的值,则需先将组合框的RowSourceType属性设置为“1”,同时将RowSource属性设置为这些值,且之间要用逗号隔开。国家二级VF机试(操作题)模拟试卷第7套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下完成如下操作:(1)新建一个名为“图书管理”的项目。(2)在项目中建立一个名为“图书”的数据库。(3)将考生文件夹下的所有自由表添加到“图书”数据库中。(4)在项目中建立查询book_qu:查询价格大于等于10的图书(book表)的所有信息,查询结果按价格降序排序。标准答案:(1)命令窗口执行:CREATEPROJECT图书管理,新建一个项目管理器。(2)项目管理器中,选中“数据”选项卡内的“数据库”项,单击“新建”按钮,在“新建数据库”中单击“新建数据库”按钮,在弹出的“创建”中的“数据库名”中输入“图书”,单击“保存”新建数据库并打开数据库设计器。(3)在数据库设计器中右击,选择【添加表】,在“打开”对话框中双击book表添加到数据库中。以同样的方法将bo~ows表和loans表也添加到数据库中。(4)①在项目管理器中,选中“数据”选项卡内的“查询”项,单击“新建”按钮,在“新建查询”对话框中单击“新建查询”按钮,打开查询设计器,在“添加表或视图”对话框中,双击book表,将表添加到查询设计器中。②据题目要求,在“字段”选项卡的“可用字段”中,将全部字段都添加到“选定字段”列表中。③“筛选”选项卡内的“字段名”下拉列表框中选择“book.价格”,在“条件”下拉列表框中选择“>=”,在“实例”下拉列表框中输入:10。④“排序依据”选项卡内双击“选定字段”中的“价格”,将其添加到“排序条件”中,“排序选项”中选“降序”。⑤最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件以文件名bookqu保存到考生文件夹下。知识点解析:本题考查了项目管理器建立和使用;在项目管理器中建立数据库和查询。二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)根据考生文件夹下的xxx表和jjj表建立一个查询chaxun,查询“工作单位”是“复旦大学”的所有教师的“姓名”、“职称”、“联系电话”,要求查询去向是表,表名是cx1.dbf,并执行该查询(“姓名”、“职称”取自表jjj,“联系电话”取自表xxx)。(2)建立表单form1,表单中有两个命令按钮,按钮的名称分别为query和close,标题分别为“查询”和“关闭”。标准答案:(1)步骤1:在命令窗口执行命令:CREATEQUERYchaxun,打开查询设计器。在“添加表或视图”对话框中单击“其他”按钮,然后在弹出的“打开”对话框中双击xxx表,将表添加到查询设计器中,以同样的方法将jjj表也添加到查询设计器中。步骤2:添加两个表后,系统弹出“联接条件”对话框,自动查找两个表中相匹配的字段进行联接,单击“确定”按钮设置两个表的联系。如图3.9所示。步骤3:依次双击jjj表中的“姓名”、“职称”字段和xxx表中的“联系电话”字段,添加到“字段”选项卡的“选定字段”列表中;然后在“筛选”选项卡的“字段名”下拉列表中选择“xxx.工作单位”字段,在“条件”下拉框中选择“=”,在“实例”框中输入“复旦大学”。步骤4:执行【查询】→【查询去向】菜单命令,在弹出的“查询去向”对话框中单击“表”图标按钮,接着在“表名”中输入文件名cx1,单击“确定”按钮。如图3—10所示。步骤5:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。(2)步骤1:在命令窗口执行命令:CREATEFORMform1,打开表单设计器新建表单。从“表单控件”工具栏中依次向表单添加两个命令按钮控件。步骤2:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表3.2。知识点解析:(1)本题考查的是在查询设计器中新建查询的操作。操作过程中要注意确认查询输出的字段来源于哪个数据表,设置查询条件是在“筛选”选项卡中进行,查询去向可通过执行【查询】→【查询去向】菜单命令,在“查询去向”对话框中进行操作,本题属于一个比较简单的查询操作。(2)本题考查的是表单的创建及表单和控件最常见属性的修改,新建表单可以通过打开“新建”对话框进行操作,也可以直接通过命令完成;向表单添加控件可以通过选择“表单控件”工具栏中的按钮完成,而属性的修改可以在“属性”面板中进行。三、综合应用题(本题共1题,每题1.0分,共1分。)3、当order_detail表中的单价修改后,应该根据该表的“单价”和“数量”字段修改order_list表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下:①根据order_detail表中的记录重新计算order_list表的总金额字段的值。②一条order_list,记录可以对应几条order_detail记录。③在编程前应保证在基础操作中正确地建立了order_list表,在简单应用中为该表追加了记录(注意:只能追加一次)。④最后将order_list表中的记录按总金额降序排序存储到od_new表中。(表结构与order_list表完全相同)⑤将程序保存为progl.prg文件。标准答案:步骤1:在命令窗口执行命令:MODIFYCOMMANDprog1,新建程序并打开程序编辑器。步骤2:在程序编辑器中输入如下程序代码:CLOSEDATABASEUSEORDER_LISTSELECT订单号,SUM(单价*数量)ASAA;FROMORDER_DETAIL;GROUPBY订单号ORDERBY订单号;INTOCURSORFFSELECTORDER_LISTDOWHILE!EOF()SELEFFLOCATEFOR订单号=ORDER_LIST.订单号SELEORDER_LISTREPLACE总金额WITHFF.AASKIPENDDOSELECT*FROMORDER_LISTORDERBY总金额DESCINTODBFOD_NEW步骤3:单击“常用”工具栏中的“运行”按钮运行程序。知识点解析:本题主要考查的是程序文件的建立、DOWHILE循环结构和SQL分组计算查询。本题的基本解题思路是:以order_list表为当前表,通过SQL分组与计算查询从order_detail表中按订单号分组计算每组订单的总金额,并按订单号排序,将结果保存到临时表中。接着通过dowhile循环逐条处理order_list中订单号与,临时表中订单号相同的记录,利用replace命令修改order_list的总金额字段值等于临时表中对应的总金额字段值。最后用SQL简单查询将order_list表中的记录保存到表ODNEW中。国家二级VF机试(操作题)模拟试卷第8套一、基本操作题(本题共1题,每题1.0分,共1分。)1、(1)增加“标题带区”,然后在该带区中放置一个标签控件,该标签控件显示报表的标题“器件清单”;将页注脚区默认显示的当前日期改为显示当前的时间。(2)报表文件名为reportaccount,然后在报表设计器中修改该报表,在报表标题带区的右端利用OLE对象插入文件picttlre.gif。标准答案:(1)步骤1:通过“报表控件”工具栏向报表的“标题”带区添加一个标签控件,并输入标签标题:器件清单,并适当地调整标签的位置。步骤2:在“页注脚”带区中,双击“DATE()”域控件,在弹出的“报表表达式”对话框中的“表达式”框中将“DATE()”改为“TIME()”,单击“确定”按钮,预览和保存报表修改。(2)步骤1:在命令窗口执行命令:MODIFYREPORTreportaccunt,打开reportaccount报表设计器。步骤2:在“报表控件”工具栏中单击“图片/ActiveX绑定控件”按钮,然后在报表标题带区的右端单击并拖动鼠标拉出图文框,弹出“报表图片”对话框,选中对话框“图片来源”下的“文件”选项,接着单击后面的表达式按钮,弹出“打开”对话框,选中要插入的图片picture.gif,单击“确定”按钮,返回“报表图片”对话框,继续单击“确定”按钮关闭对话框,可以看到报表设计器的“标题”区域增加了一个图片。步骤3:单击常用工具栏中的“保存”按钮。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)打开表单myform4.4,把表单(名称为Forml)标题改为“欢迎您”,将文本“欢迎您访问系统”(名称为labell的标签)的字号改为25,字体改为黑体。再在表单上添加“关闭”(名称为Comnaandl)命令按钮,单击此按钮关闭表单。最后保存并运行表单。(2)设计一个表单MYFORM4,表单中有两个命令按钮“查询”(名称为Commandl)和“退出”(名称为Command2)。①单击“查询”按钮,查询bookauth数据库中出版过三本以上(含三本)图书的作者信息,查询信息包括:作者姓名,所在城市;查询结果按作者姓名升序保存在表new—view4.中。②单击“退出”按钮关闭表单。注意:完成表单设计后要运行表单的所有功能。标准答案:(1)步骤1:命令窗口执行:MODIFYFORMMYFORM4-4,打开表单设计器。向表单添加一个命令按钮控件。步骤2:修改对象属性值,见表4—34。步骤3:双击命令按钮,编写其Click事件代码。*****“关闭”按钮的Click事件代码*****THISFORM.RELEASE步骤4:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。(2)步骤1:命令窗口执行:MODIFYFORMmyform4,打开表单设计器。向表单添加两个命令按钮控件。步骤2:修改对象属性值,见表4-35。步骤3:编写各个命令按钮的Click事件代码。*****“查询”按钮的Click事件代码*****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、首先利用表设计器在考生文件夹下建立表table3,表结构如下:民族字符型(4)数学平均分数值型(6,2)英语平均分数值型(6,2)然后在考生文件夹下创建一个下拉式菜单mymenu.mnx,并生成菜单程序mymenu_mpr。运行该菜单程序时会在当前VFP系统菜单的末尾追加一个“考试”子菜单,如图3-5所示。菜单命令“计算”和“返回”的功能都通过执行过程完成。菜单命令“计算”的功能是根据xuesheng表和chengii表分别统计汉族学生和少数民族学生在“数学”和“英语”两门课程上的平均分,并把统计数据保存在表table3中。表table3的结果有两条记录:第1条记录是汉族学生的统计数据,“民族”字段填“汉”;第2条记录是少数民族学生的统计数据,“民族”字段填“其他”。菜单命令“返回”的功能是恢复标准的系统菜单。菜单程序生成后,运行菜单程序并依次执行“计算”和“返回”菜单命令。标准答案:步骤1:在命令窗口执行命令:CREATEtable3,打开数据表设计器新建表。步骤2:根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击“确定”按钮,此时系统会弹出一个对话框询问“现在输入数据记录吗?”,本题不需要录入数据,单击“否”按钮。步骤3:在命令窗口执行命令:CREATEMENUmvmenu,在弹出的“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。步骤4:在菜单设计器“菜单名称”列的文本框中输入“考试”,“结果”下拉框中选择为“子菜单”,单击“创建”按钮进入下级菜单设计,在“菜单名称”列的第1、2行文本框中依次输入子菜单名“计算”、“返回”,将两个子菜单的“结果”都设置为“过程”,分别单击两个子菜单行的“创建”命令按钮,打开过程编辑框编写过程代码。步骤5:两个子菜单的过程代码如下:*****“计算”子菜单的过程代码*****1CLOSEDATABASEALL2SELECTAVG(数学),AVG(英语)FROMXUESHENG;3JOINCHENGJIONXUESHENG.学号=CHENGJI.学号;4WHERE民族="汉"INTOARKAYTMPl5SELECTAVG(数学),AVG(英语)FROMXUESHENG;6JOINCHENGJIONXUESHENG.学号=CHENGJI.学号;7WHERE民族<>"汉"INTOARRAYTMP28SEIJECT09USETABLE310APPENDBLANK11REPLACE民族WITH"汉",数学平均分WITHTMPl(1),英语平均分WITHTMPl(2)12APPENDBLANK13REPLACE民族WITH"其他",数学平均分WITHTMP2(1),英语平均分WITHTMP2(2)14CLOSEDATAALL****“返回”子菜单的过程代码冰*****SETSYSMENUNOSAVESETSYSMENUTODEFAULT步骤6:执行【显示】→【常规选项】菜单命令,在“位置”区域选中“追加”单选项,则新建立的子菜单会在当前VisualFoxPro系统菜单后显示。步骤7:执行【菜单】→【生成】菜单命令,在弹出的VisualFoxPro对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件。步骤8:在命令窗口执行命令:DOmymenu.mpr,运行菜单,并执行“计算”菜单命令。知识点解析:本大题考查了表的基本操作;菜单的建立

温馨提示

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

评论

0/150

提交评论