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

下载本文档

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

文档简介

国家二级VF机试(操作题)模拟试卷24(共9套)(共27题)国家二级VF机试(操作题)模拟试卷第1套一、基本操作题(本题共1题,每题1.0分,共1分。)1、(1)建立数据库bookauth.dbc,把表books.dbf和authors.dbf添加到该数据库。(2)为authors表建立主索引,索引名“pk”,索引表达式“作者编号”。(3)为books表分别建立两个普通索引,一个索引名为“rk”,索引表达式为“图书编号”:另一个索引名和索引表达式均为“作者编号”。(4)建立authors表和books表之间的永久联系。标准答案:【操作步骤】(1)①命令窗口执行:MODIFYDATABASEBOOKAUTH,打开数据库设计器。②在数据库设计器中右击,选择【添加表】,在“打开”对话框中双击“BOOKS”表添加到数据库中,同样的方法将“.AUTHORS”表添加到数据库中。(2)右击数据库设计器中的“ALITHORS”表,选择【修改】,打开表设计器,“字段”选项卡中选“作者编号”,“索引”列中选“升序”,索引选项卡中“索引名”设置为“PK”,“类型”设置为“主索引”,单击“确定”按钮保存。(3)右击数据库设计器中的“BOOKS”表,选择【修改】,打开表设计器,“字段”选项卡中选“图书编号”字段,“索引”下拉框选择“升序”,“索引”选项卡中将“索引名”设置为“:RK”:同样的方法为“作者编号”字段建索引,单击“确定”按钮保存表结构修改。(4)拖动“AUTHORS”表“索引”下方的主索引“PK”到“BOOKS”表中“索引”下方的普通索引“作者编号”上,为两个表建立联系。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)歌手比赛分为四个组,“歌手表”中的“歌手编号”字段的左边两位表示了该歌手所在的组号。考生文件夹下的程序文件five.prg的功能是:根据“歌手表”计算每个组的歌手人数,将结果填入表one.dbf,表one.dbf中有两个字段:“组号”和“歌手人数”。程序中有3处错误,请修改并执行程序。注意:只能修改标有错误的语句行,不能修改其他语句,数组名A不允许修改。(2)建立一个数据库文件“歌手大奖赛.dbc”,并将“歌手表”、“评委表”和“评分表”3个自由表添加到该数据库中。使用视图设计器建立视图songerview,该视图根据“歌手表”、“评委表”和“评分表”建立,视图中的字段项包括:“评委姓名”、“歌手姓名”、“分数”,视图中的记录按“歌手姓名”升序、“分数”降序排列。标准答案:(1)【操作步骤】步骤1:在命令窗口执行命令:MODIFYCOMMANDfive,打开程序文件,文件中的命令代码如下:&&根据”歌手表”计算每个组的歌手人数CLOSEDATAUSEoneGOTOPWHILE.NOT.EOF()&&错误zuhao=组号SELECTCOUNT(*)FROM歌手表WHERE歌手表.歌手编号=zuha0INTOARRAYA&&错误REPLACE歌手人数INTOA&&错误SKIPENDDO修改程序中的错误行,修改后的程序如下:CLOSEDATAUSEoneGOTOPDOWHILENOTEOF()zuhao=组号SELECTCOUNT(*)FROM歌手表WHERELEFlT(歌手表.歌手编号,2)=zuhaoINTOARRAYAREPLACE歌手人数WHTHA[1]SKTPENDDO步骤2:保存文件修改,在命令窗口执行命令:DOfive,执行程序文件。(2)【操作步骤】步骤1:在命令窗口执行命令:MODIFYDATABASE歌手大奖赛,新建并打开数据库设计器。右击鼠标,选择【添加表】,在“打开”对话框中双击“歌手表”添加到数据库中;同样的方法,将“评委表”和“评分表”添加到数据库中。步骤2:在数据库设计器中右击,选择【新建本地视图】打开视图设计器,在“新建本地视图”中单击“新建视图”按钮,在“添加表或视图”中依次双击“歌手表”、“评分表”和“评委表”(按顺序添加),添加到视图设计器中。步骤3:双击“评委表”中的“评委姓名”字段,“歌手表”中的“歌手姓名”字段和“评分表”中的“分数”字段,将3个字段添加到“选定字段”中。步骤4:“排序依据”选项卡中双击“选定字段”列表框中的“歌手表,歌手姓名”字段,添加到“排序条件”列表框中;再双击“选定字段”中的“评分表.分数”字段添加到“排序条件”列表框中,“排序选项”中选择“降序”;以songerview名保存视图。知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下,打开招生数据库sdb,完成如下综合应用:①创建文件名为form的表单,将表单标题改为:录取研究生。②在表单中设计“录取”和“退出”两个按钮。两个按钮功能分别如下:在“录取”按钮(Commandl)中,编写程序,查询总成绩大于或等于330分的考生的“考生号”、“姓名”、“性别”、“单位”和该生的“政治成绩”、“外语成绩”、“高数成绩”(即高等数学成绩)、“专业课成绩”、“总成绩”,并将结果按“总成绩”降序排序存储到表four中。表four(需要自己创建或生成)的字段名为:“考生号”、“姓名”、“性别”、“单位”、“政治成绩”、“外语成绩”、“高数成绩”、“专业课成绩”、“总成绩”(各成绩字段的类型为N(5,1),其他字段的类型与原表中一致)。单击“退出”按钮(Command2)时,关闭表单。③表单设计完成后,运行表单,单击“录取"按钮进行统计,然后单击“退出”按钮关闭表单。注:在考试科目代码表dm中存储了各考试科目与考试科目名对应关系。标准答案:【操作步骤】步骤1:在命令窗口执行命令:CREATEFORMform,打开表单设计器新建表单。向表单添加两个命令按钮。步骤2:选择表单对象,修改属性值,见表4.44。步骤3:双击命令按钮,编写各个命令按钮的Click事件代码如下:*****“录取”按钮的Click事件代码*****0PENDATABASESDBSELECTKSB.考生号,姓名,性别,单位,SUM(成绩)总成绩FROMKSB,KSCJB;WHEREKSB.考生号=KSCJB.考生号GROUPBYKSB.考生号;HAVINGSUM(成绩)>=330INTOCURSORTEMP1SELECT考生号,姓名,性别,单位FROMTEMP1;ORDERBY总成绩DESCINTOTABLEFOURALTERTABLEFOURADD政治成绩N(5,1)ALTERTABLEFOURADD外语成绩N(5,1)ALTERTABLEFOURADD高数成绩N(5,1)ALTERTABLEFOURADD专业课成绩N(5,1)ALTERTABLEFOURADD总成绩N(5,1)SELECT考生号,考试科目名,成绩FROMKSCJB,DMWHEREKSCJB!考试科目=DM.考试科目;INTOCURSORTEMP2SELECTFOURDOWHILENOTEOF()SELECT成绩FROMTEMP2WHER考生号=FOUR.考生号AND考试科目名="政治”,INTOARRAYA1REPLACE政治成绩WITHA1SELECT成绩FROMTEMP2WHER考生号=FOUR.考生号AND考试科目名="外语”;INTOARRAYA2REPLACE外语成绩WITHA2SELECT成绩FROMTEMP2WHER考生号=FOUR.考生号AND考试科目名="高等数学”;INTOARRAYA3REPLACE高数成绩WITHA3SELE成绩FROMTEMP2WHER考生号=FOUR.考生号AND考试科目名=“专业课”;INTOARRAYA4REPLACE专业课成绩WITHA4REPLACE总成绩WITH政治成绩+外语成绩+高数成绩+专业课成绩SKIPENDDOCLOSEDATABASE*****“退出”按钮的Click事件代码*****THISFORM.RELEASE步骤4:单击“常用”工具栏中的“运行”按钮运行表单,单击“录取”进行计算,单击“退出”关闭表单。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第2套一、基本操作题(本题共1题,每题1.0分,共1分。)1、(1)打开“订货管理”数据库,并将表order_list添加到该数据库中。(2)在“订货管理”数据库中建立表customer,表结构描述如下:客户号字符型(6)客户名字符型(16)地址字符型(20)电话字符型(14)(3)为新建立的customer表创建一个主索引,索引名和索引表达式均是“客户号”。(4)将表order_detail从数据库中移出,并永久删除。标准答案:(1)命令窗口执行:MODIFYDATABASE订货管理,打开数据库设计器。右击数据库设计器选择【添加表】,在“打开”对话框中双击orderlist表添加到数据库中。(2)①右击数据库设计器,选择【新建表】,在“新建表”对话框中单击“新建表”按钮,在“创建”对话框的“输入表名”框输入“customer”,单击“保存”打开表设计器。②在表设计器中逐行输入每个字段的字段名,设置字段类型和宽度,单击“确定”按钮,系统询问“现在输入数据记录吗?”,单击“否”。(3)右击数据库设计器中的customer表,选择【修改】,打开customer表设计器,在“字段”选项卡中选“客户号”,“索引”列中选“升序”,在“索引”选项卡中修改“索引类型”为主索引,建立“客户号”字段的主索引,单击“确定”按钮保存表结构修改。(4)右击数据库设计器中的order_detail表,选择【删除】,在弹出的对话框中单击“删除”按钮永久删除。使用数据库;索引。知识点解析:本题考查数据库及表基本操作;建立索引。向数据库中添加表在数据库设计器中完成。在表设计器的“字段”选项卡中可通过选择“排序”下拉框中的“升序”和“降序”为指定的字段建立一个索引名与索引表达式相同的普通索引,“索引”选项卡中可改变索引名或索引类型。二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)将customerl表中的全部记录追加到customer表中,然后用SQLSELECT语句完成查询:列出目前有订购单的客户信息(即有对应的orderlist记录的customer表中的记录),同时要求按“客户号”升序排序,并将结果存储到results表中(表结构与customer表结构相同)。(2)打开并按如下要求修改forml表单文件(最后保存所做的修改)。①在“确定”命令按钮的Click事件(过程)下的程序有两处错误,请改正。②设置Text2控件的有关属性,使用户在输入口令时显示“*”(星号)。标准答案:(1)步骤1:命令窗口执行:SELECT*FROMcustomerlINTOARRAYtempINSERTINTOcustomerFROMARRAYtemp将customerl表中的记录全部复制到customer表中。步骤2:在命令窗口执行命令:SELECTDISTINCTCustomer.*;&&DISTINCT短语的功能是消除查询结果中相同的记录FROM订货管理!customerINNERJOIN订货管理!orderlist;ONCustomer.客户号=Orderlist.客户号;ORDERBYCustomer.客户号;INTOTABLEresults.dbfSQL简单查询;查询的建立与使用。(2)步骤1:命令窗口执行:MODIFYFORMforml,打开表单设计器修改表单。步骤2:“确定”按钮的Click事件中代码如下:&&功能:如果用户输入的用户名和口令一致,则在提示信息后关闭该表单&&否则重新输入用户名和口令********ERROR*******************IFTHISFORM.TEXTl=THI:SFORM.TEXT2WAIT"欢迎使用……"WINDOWTIMEOUT1*******ERROR*******************THISFORM.CLOSEELSEWAIT"用户名或口令不对,请重新输入……"WINDOWTIMEOUT1ENDIF修改后的代码如下:IFTHISFORM.TEXTl.VALUE=THISFORM.TEXT2.VALUE&&原代码语句中缺少指定VALUE属性WAIT"欢迎使用……"WINDOWTIMEOUT1THISFORM*RELEASE&&关闭表单的短语是RELEASE.而不是CLOSEELSEWAIT"用户名或口令不对,请重新输入……"WINDOWTIMEOUT1ENDIF步骤3:修改文本框(TEXT2)控件PasswordChar属性值为:*。步骤4:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。表单的事件、方法和属性;基本型控件。知识点解析:(1)本题考查SQL联接查询。Customer(客户表)和Order_list(订单表)的联接条件为两个表中“客户号”相等的记录,表示在Customer表中的客户在Order_list表中有订购记录:由于一个客户可能对应多条订购记录,需要使用DISTINCT短语消除结果中重复的记录。排序用ORDERBY,降序为DESC,默认升序(ASC),将查询结果保存到表中使用INTOTABLE短语。还可以通过查询设计器中生成SQL代码。(2)本题主要考查了表单属性及方法。文本框中显示的数据值可通过Value属性获得,本题源程序中,第一处错误是缺少该属性。例如,“THISFORM.TEXT1”只能表示表单中的一个控件。第二处错误是对表单常用方法的考查。用来释放和关闭表单的方法是Release,而并非Close。三、综合应用题(本题共1题,每题1.0分,共1分。)3、使用报表设计器建立一个报表,具体要求如下:①报表的内容(细节带区)是order-list表的订单号、订购日期和总金额。②增加数据分组,分组表达式是“orderlist.客户号”,组标头带区的内容是“客户号”,组注脚带区的内容是该组订单的“总金额”合计。③增加标题带区,标题是“订单分组汇总表(按客户)",要求是三号字、黑体,括号是全角符号。④增加总结带区,该带区的内容是所有订单的总金额合计。最后将建立的报表文件保存为reportl.frx文件。提示:在考试的过程中可以使用“显示→预览”菜单查看报表的效果。标准答案:步骤1:命令窗口执行:CREATEREPORTREPORT1,打开报表设计器。步骤2:右击报表选择【数据环境】,在报表数据环境中单击右键选择【添加】,在“添加表或视图”对话框中双击orderlist表,将表添加到报表数据环境中。步骤3:右击报表数据环境中的orderlist表,选择【属性】,在报表属性面板中修改“Order”属性值为“客户号”,该操作是为了让记录能按“客户号”索引排序的数据。步骤4:从报表数据环境的order_list表中,依次拖动“订单号”、“订购日期”和“总金额”字段到报表设计器的细节带区,再通过“报表控件”工具栏向报表的“页标头”中添加3个名为“订单号”、“订购日期”和“总金额”的标签控件,调整标签与细节带区字段的位置。步骤5:执行【报表】→【数据分组】菜单命令,弹出“数据分组”对话框,单击“表达式”行的表达式生成器按钮,在其中的“字段”列表中双击“order_list.客户号”字段,单击“确定”返回“数据分组”表达式,单击“确定”关闭对话框,可看到添加了“组标头”和“组注脚”两个带区。步骤6:调整组标头的显示区域(向下拖动“组标头”栏),将order_list表中的“客户号”字段拖到该区域,并添加一个名为“客户号:”的标签控件。步骤7:调整组注脚的显示区域,通过“报表控件”工具栏向报表的“组注脚”添加一个域控件,系统弹出“报表表达式”对话框,单击“表达式”行的表达式生成器按钮,在“表达式生成器”对话框的“字段”列表中双击“order_list.总金额”字段,单击“确定”按钮返回“报表表达式”对话框;单击“格式”行中的表达式按钮弹出“格式”对话框,选中“数值型”选项,单击“确定”按钮返回“数据分组”表达式;在“报表表达式”对话框中单击“计算”按钮,在“计算字段”对话框中选中“总和”,单击“确定”按钮返回“数据分组”表达式,单击“确定”按钮关闭对话框,可看到“组注脚”区域增加了一个“总金额”域控件。为该字段添加名为“总金额:”的标签。步骤8:执行【报表】→【标题/总结】菜单命令,在“标题/总结”对话框中分别勾选“标题带区”和“总结带区”复选框,单击“确定”按钮可看到报表设计器中添加了“标题”和“总结”带区。步骤9:执行【报表】→【默认字体】菜单命令,在“字体”对话框中选“字体”为“黑体”,“字号”为“三号”;接着再向报表的“标题”带区添加一个标签控件,输入标签标题为:订单分组汇总表(按客户);再按照“步骤7”的操作,为“总结”带区添加一个“总金额”的域控件和一个“总金额:”的标签。单击“常用”工具栏中的“预览”按钮可浏览报表设计效果。创建分组报表。知识点解析:本大题考查的是分组报表的设计。建立分组报表的关键包括以下几点:在数据环境中要指定索引项便于记录分组,这是最关键的步骤,可以通过报表“属性”面板中的“Order"属性指定,注意指定前要先向数据环境中添加表。指定索引项后,在“数据分组”对话框中设置“数据分组”表达式是:order_list.客户号。将表中字段按要求放到报表各个带区之后,再利用域控件计算总金额数值,注意本题有两个计算“总金额”的地方,一个是每组的总金额,另一个是全部记录的总金额,注意两个总金额所处的带区位置不要弄错;另外,设置域控件格式时,格式应为“数值型”,计算方式为“总和”,分别在“格式”对话框和“计算字段”对话框中进行设置。最后,设置报表标签格式可以通过【报表】→【默认字体】菜单命令打开“字体”对话框进行设置,注意,应先设置标签的字体格式,然后再向报表设计器中添加标签,该字体格式的设置对已存在的标签文字无效。国家二级VF机试(操作题)模拟试卷第3套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下完成下列操作:(1)建立名称为CDB的商品销售数据库。然后将考生文件夹下的顾客表CUST、订单表ORDER和商品表COMM三个自由表添加到数据库CDB中。(2)分别为表CUST、ORDER和COMM创建主索引,CUST表主索引的索引名和索引表达式均为“顾客号”;COMM表主索引的索引名和索引表达式均为“商品号”;ORDER表主索引的索引名为“PK_CC”,索引表达式为“顾客号+商品号”;分别为ORDER表的“顾客号”和“商品号”建立普通索引(升序),索引名与字段名相同。(3)通过字段“顾客号”建立表ORDER与表CUST之间的永久联系,通过字段“商品号”建立表ORDER与表COMM之间的永久联系。然后为以上建立的永久联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。(4)在商品销售数据库CDB中使用SQL的CREATETABLE语句创建数据库表:销售明细表(顺序号、日期、商品号、商品名、金额),其中:顺序号为字符型,宽度为6;日期为日期型;商品号为字符型,宽度为6;商品名为字符型,宽度为10;金额为数值型,宽度为10(其中小数2位);表的主关键字为“顺序号”。将创建表的SQL语句存放在文件ONE.PRG中。标准答案:(1)【操作步骤】步骤1:单击常用工具栏中的“新建”按钮,打开“新建”对话框,选择“数据库”,单击“新建文件”按钮,打开“创建”对话框,输入数据库文件名“CDB”,单击“保存”按钮,即完成创建数据库。步骤2:在“数据库设计器”窗口中单击鼠标右键,在弹出的快捷菜单中选择“添加表……”,依次添加CUST、ORDER、COMM三个表。(2)【操作步骤】步骤1:在表CUST。中单击鼠标右键,在弹出的快捷菜单中选择“修改”,打开表设计器,选择“索引”选项卡,索引名输入“顾客号”,索引表达式选择“顾客号”,索引类型选择为“主索引”后,单击“确定”按钮保存修改,完成建立CUST表的主索引。步骤2:按同样方式建立另外两表的索引。(3)【操作步骤】步骤1:将鼠标指向表CUST的主索引“顾客号”,按下鼠标左键不放,拖拽鼠标至ORDER表的顾客号索引处,松开鼠标即完成创建CUST与ORDER之间的永久性联系。步骤2:再按同样方法建立表COMM与ORDER之间的永久性联系;然后选择“数据库”菜单下的“清理数据库”选项,再选择“编辑参照完整性规则”菜单,按题目要求设置。(4)【操作步骤】步骤1:建立程序ONE.PRG,输入以下SQL语句。CREATETABLE销售明细表(顺序号C(6)PRIMARYKEY,日期D,商品号C(6),商品名C(10),金额N(10.2))步骤2:保存并执行程序。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、在考生文件夹下,打开该CDB数据库,完成如下简单应用:(1)使用一对多表单向导选择CUST表和ORDER表生成一个名为ONE的表单。要求从父表CUST中选择所有字段,从子表ORDER中选择所有字段,使用“顾客号”建立两表之间的关系,样式为“阴影式”;按钮类型为“图片按钮”;排序字段为“顾客号”,升序;表单标题为“顾客订购商品维护”。(2)使用查询设计器设计一个名称为VIEW_C的查询,统计查询所有顾客购买商品应付款的情况。查询结果包括顾客号、顾客名、地址和付款金额四个字段(注意:每件商品的“金额”是由COMM表中该商品的单价*ORDER表中该商品的订购数量计算得到,每个顾客的付款金额则是顾客购买商品金额的合计),各记录按顾客号升序排序,并将查询结果存储到表TABA中。设计完成后,运行该查询。标准答案:(1)【操作步骤】步骤1:单击常用工具栏中的“新建”按钮,文件类型选择“表单”,利用向导创建表单。步骤2:在“向导选取”对话框中,选择“一对多表单向导”并单击“确定”按钮,并显示“一对多表单向导”对话框。步骤3:在“一对多表单向导”对话框的“步骤1一从父表中选定字段”中,首先要选取表“cust”,在“数据库和表”列表框中,选择表“cust”,接着在“可用字段”列表框中显示表cust的所有字段名,并选定所有字段名,再单击“下一步”按钮。步骤4:在“一对多表单向导”对话框的“步骤2一从子表中选定字段”中,选取表“order”,在“数据库和表”列表框中,选择表“order”,接着在“可用字段”列表框中显示表order的所有字段名,并选定所有字段名,再单击“下一步”按钮。步骤5:在“一对多表单向导”对话框的“步骤3一建立表之间的关系”中,再单击“下一步”按钮。步骤6:在“一对多表单向导”对话框的“步骤4一选择表单样式”中,在“样式”中选择“阴影式”,在“按钮类型”中选择“图片按钮”,再单击“下一步”按钮。步骤7:在“一对多表单向导”对话框的“步骤5一排序次序”中,选定“顾客号”字段并选择“升序”,再单击“添加”按钮,再单击“下一步”按钮。步骤8:在“一对多表单向导”对话框的“步骤6一完成”中,在“请输入表单标题”文本框中输入“顾客订购商品维护”,再单击“完成”。步骤9:在“另存为”对话框中,输入保存表单名“one”,再单击“保存”按钮,最后表单就生成了。(2)【操作步骤】步骤1:单击常用工具栏中的“新建”按钮。,打开新建对话框后,选择“查询”,单击“新建文件”按钮。步骤2:打开查询设计器窗口,在“添加表或视图”窗口中选择添加表COMM、ORDER、CUST。步骤3:在“字段”选项卡中添加字段“CUST.顾客号,CUST.顾客名,CLIST.地址”,在“函数和表达式”处单击后面的浏览按钮,打开表达式生成器对话框,建立表达式“SuM(COMM.单价*ORDER.数量)AS付款金额”,单击“确定”按钮,关闭表达式生成器对话框后,单击“添加”按钮。步骤4:在“分组依据”选项卡中添加“CUST.顾客号”字段,按顾客号实现分组。步骤5:在“排序依据”选项卡中添加“CUST.顾客号”字段,按升序排序。在“查询”菜单中选择“查询去向……”,在“查询去向”对话框中选择“表”,输入表名TABA,单击“确定”。步骤6:最后保存文件名为view_c并运行查询。知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下,打开CDB数据库,完成如下综合应用:在考生文件夹下,打开CDB数据库,完成如下综合应用:创建一个标题名为“查询”、文件名为TWO的表单,如下图所示。表单要求如下:1.为表单建立数据环境,依次向数据环境添加ORDER、CUST和COMM表。2.表单启动后自动居中。3.在该表单中设计一个标签、一个文本框、两个表格和两个命令按钮。(1)标签标题为“输入顾客号”,文本框用于输入顾客号,两个表格控件用于显示结果。(2)命令按钮的功能如下:①“查询”按钮:在该按钮的Click事件中使用SQL的SELECT命令查询顾客号等于输入的“顾客号”的顾客的顾客号、顾客名和地址,以及购买商品的商品号、商品名、单价、数量和金额(各商品记录按商品号升序排序)。将查询的顾客信息在表格控件Grid1中显示,同时将结果存储到表TABB中;将查询的顾客购买商品的结果在表格控件Grid2中显示,同时将结果存储到表TABC中。注意:每件商品的“金额”是由COMM表中该商品的单价木ORDER表中该商品的订购数量计算得到。表TABB和表TABC结构分别如下:TABB(顾客号,顾客名,地址)TABC(商品号,商品名,单价,数量,金额)②“退出”按钮:其功能是关闭和释放表单。注意:表格控件的RecordSourceType属性设置为“4-SQL说明”。表单设计完成后,运行该表单,查询顾客号等于“010003”的顾客信息和购买的商品信息。标准答案:【操作步骤】步骤1:新建表单,保存表单文件名为TWO。步骤2:修改表单的Caption属性为“查询”,AutoCenter为.T.。步骤3:在表单中单击右键,选择“数据环境”,依次添加表ORDER、CUST和COMM。步骤4:按题中图示添加一个标签、一个文本框和两个表格及两个命令按钮,并设置标签及两个命令按钮的Caption属性值,两个表格的RecordSource-Type属性为4-SQL说明。步骤5:在查询按钮的单击事件中输入下列程序代码:SELECTcust.顾客号,顾客名,地址,order.商品号,商品名,单价,数量,单价*数量AS金额FROMcomm,cust,order;WHEREcomm.商品号=order.商品号ANDcust.顾客号=order.顾客号ANDcust.顾客号=THISFORM.TEXT1.VALUE;INTOCURSORLSBSELECTDIST顾客号,顾客名,地址FROMLSBINTODBFTABBSELECT商品号,商品名,单价,数量,金额FROMLSBINTODBFTABCTHISFORM.GRID1.RECORDSOURCE="SELE*FROMTABBINTOCURSORA"THISFORM.GRID2.RECORDSOURCE="SELE*FROMTABCINTOCURSORb”步骤6:在退出按钮的单击事件中输入:THISFORM.RELEASE步骤7:按题目要求输入顾客号:010003,运行并保存程序。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第4套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考试文件夹下完成下列操作:1.在考生文件夹下“人事管理”数据库中,为“职工”表中的“性别”字段设置有效性规则,只能取“男”或“女”;默认值是“男”。2.建立快捷菜单cd,选项有打开、关闭和退出。生成同名的菜单程序文件。3.为“职工”表加入一个普通索引,索引名和索引表达式均为“部门编号”,升序。4.为“职工”表和“部门”表建立联系,定义参照完整性规则:删除规则为“级联”,更新规则和插入规则为“限制”。标准答案:(1)单击菜单栏“文件”-“打开”命令,打开考生文件夹下名为“人事管理”的数据库。右键单击“职工”表,选择“修改”命令,在打开的表设计器中,将鼠标放在“性别”一行,在“字段有效性”下的“规则”一栏输入“性别="男".OR.性别="女"”,在“默认值”处输入“"男"”。(2)通过“新建对话框”新建一个菜单,并在弹出的对话框中选择“快捷菜单”。分别输入三个菜单名称“打开”、“关闭”和“退出”,保存菜单并命名为“cd”。然后单击菜单栏“菜单”-“生成”命令,生成可执行文件。(3)在“数据库设计器-人事管理”中,右键单击“职工”表,选择“修改”命令,在打开的表设计器中,单击“索引”选项卡,输入索引名“部门编号”,类型设为“普通索引”,表达式为“部门编号”,单击“确定”按钮保存对表的修改。(4)在“数据库设计器-人事管理”中,将“部门”表的主索引“部门编号”用鼠标拖拽到“职工”表的普通索引“部门编号”处,松开鼠标即可建立两表间联系。选择菜单栏“数据库”-“清理数据库”命令,然后右键单击两表间的联系线,选择“编辑参照完整性”,在“编辑参照完整性生成器”对话框中,依次选中“更新规则”选项卡下的“限制”单选按钮、“删除规则”选项卡下的“级联”单选按钮、“插入规则”选项卡下的“限制”单选按钮,最后单击“确定”按钮。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、在考生文件夹下完成如下简单应用:1.利用查询设计器创建查询,从xuesheng表和chengji表中查询数学、英语和信息技术3门课程都在85分以上(含),或者数学、英语都在90分以上(含)而信息技术在75分以上(含)的学生记录。查询结果包含学号、姓名、数学、英语和信息技术5个字段,各记录要按学号降序排列,查询去向为表table1。最后将查询保存在query1.qpr文件中,并运行该查询。2.首先创建数据库cj_m,并向其中添加xuesheng表和chengji表。然后在数据库中创建视图viewl:通过该视图只能查询20001001班(学号的前8位数字串为班号)的学生记录.查询结果包含学号、姓名、数学、英语和信息技术5个字段,各记录要按学号降序排列。最后再利用刚创建的视图viewl查询视图中的全部信息,并将查询结果存储于表table2中。标准答案:(1)步骤1:通过“新建”对话框新建查询文件,将xuesheng和chengji表添加到查询中。步骤2:从字段选项卡中添加学号、姓名、数学、英语和信息技术5个字段到选定字段中。步骤3:切换到“筛选”选项卡,按如下设置。字段名条件实例逻辑chengji.数学>=85ANDchengji.英语>=85ANDchengji.信息技术>=85ORchengji.数学>=85ANDchengji.英语>=85ANDchenji.信息技术>=85步骤4:切换到“排序依据”中选择字段“xuesheng.学号”,在“排序选项”处选择“降序”。步骤5:单击查询菜单下的查询去向,选择表,输入表名table1,最后将查询保存在query1.qpr文件中,并运行该查询。(2)步骤1:通过“新建”对话框新建数据库,数据库文件名为cj_m,在数据库设计器中依次添加xuesheng表和chengji表。步骤2:通过“新建”对话框新建视图,在“添加表或视图”对话框中添加xuesheng表和chengji表到新视图设计器中。步骤3:在“字段”选项卡中将学号、姓名、数学、英语和信息技术5个字段添加到“选定字段”框中。步骤4:切换到“筛选”选项卡,在字段名中输入“LEFT(Chengji.学号,8)”,条件选择“=”,实例为“20001001”。步骤5:切换到“排序依据”选项卡,选择字段“xuesheng.学号”,在“排序选项”处选择“降序”;最后将视图保存在viewl文件中。步骤6:利用刚创建的视图viewl创建查询,在“添加表或视图”对话框中选择view1视图,在字段中选择所有字段,设置查询去向为表table2。保存并运行查询,文件名默认。知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、(1)在考生文件夹下建立一个文件名和表单名均为oneform的表单,该表单中包括两个标签(Label1和Label2)、—个选项按钮组(OptionGroupl)、一个组合框(Combol)和两个命令按钮(Comand1和Command2),Label1和Label2的标题分别为“工资”和“实例”,选项组中有两个选项按钮,标题分别为“大于等于”和“小于”,command1和Conunand2的标题分别为“生成”和“退出”。如下图所示。(2)将组合框的RowSourceType和RowSource属性手工指定为5和a,然后在表单的Load事件代码中定义数组a并赋值,使得程序开始运行时,组合框中有可供选择的“工资”实例为3000、4000和5000。(3)为“生成”命令按钮编写程序代码,其功能是:表单运行时,根据选项按钮组和组合框中选定的值,将“教师表”中满足工资条件的所有记录存入自由表salary.dbf中,表中的记录先按“上资”降序排列,若“工资”相同再按“姓名”升序排列。(4)为“退出”命令按钮设置Click事件代码,其功能是关闭并释放表单。(5)运行表单,在选项组中选择“小于”,在组合框中选择“4000”,单击“生成”命令按钮,最后单击“退出”命令按钮。标准答案:步骤1:在命令窗口输入“CreateFormoneform”并按回车键,新建一个名为oneform表单。步骤2:在表单控件工具栏中以拖曳的方式向表单中添加两个标签、一个选项组、一个组合框和两个命令按钮,并修改各控件的属性,如图3.86所示。步骤3:双击表单空白处,编写表单的Load事件代码。}******表单的Load事件代码*****publica(3)a(1)="3000"a(2)="4000"a(3)="5000"********************************************步骤4:双击命令按钮,分别编写“生成”和“退出”按钮的Click事件代码。****“生成”按钮的Click事件代码****&&对x进行赋值x=val(ThisForm.combol.Value)&&判断分支一ifThisForm.Optiongroupl.Value=1&&选择工资大于等于x的记录,结果按工资的降序排列并存储入表salary中select*from教师表where工资>=xorderby工资desc,姓名intotablesalary&&判断分支二Else&&选择工资小于x的记录,结果按工资的降序排列并存储入表salary中select*from教师表where工资知识点解析:建立表单并添加控件,然后按要求修改各控件的属性;在表单的Load事件中定义组合框的数据源,完成命令按钮的代码;当列表框要求为数组时,可以在表单的Load事件中进行定义;为选项按钮组没置标题,需要用鼠标右键单击选项按钮组控件,选择“编辑”命令。国家二级VF机试(操作题)模拟试卷第5套一、基本操作题(本题共1题,每题1.0分,共1分。)1、(1)打开考生文件夹下的数据库SPORT,首先永久删除该数据库中的temp表,然后将“金牌榜”、“获奖牌情况”和“国家”3个自由表加入该数据库中。(2)在表设计器中,为表“金牌榜”建立_个普通索引,索引名和索引表达式均为“金牌数”。(3)使用SQL语句为表“金牌榜”增加一个字段“奖牌总数”(整数型),同时为该字段设置有效性规则:奖牌总数>=0。请将该SQL语句存储在文件one.prg中,否则不得分。(4)使用SQL语句更改表“金牌榜”所有记录的“奖牌总数”字段值,该值应为“金牌数”、“银牌数”、“铜牌数”3项之和。请将该SQL语句存储在文件two.prg中,否则不得分。标准答案:【操作步骤】(1)①命令窗口执行:MODIFYDATABAsEsport,打开数据库设计器。②右击数据库设计器中的temp表,选择【删除】,在弹出的对话框中单击“删除”按钮,将“temp”表永久性删除。③在数据库设计器中右击,选择【添加表】,在“打开”对话框中双击“金牌榜”表加到数据库中,以同样的方法将“获奖牌情况”表和“国家”表添加到数据库中。(2)①在命令窗口输入如下代码,打开表设计器:USE金牌榜MORDIFYSTRUCTURE②在表设计器的“字段”选项卡中选中“金牌数”,“索引”列“升序”排序方式,单击“确定”保存表结构修改。(3)①命令窗口执行:MODIFYCOMMANDone,打开程序文件编辑器。②在编辑器中输入如下程序代码:ALTERTABLE金牌榜ADD奖牌总数ICHECK奖牌总数>=0③命令窗口执行:DOone,执行程序文件。(4)①在命令窗口执行命令:MODIFYCOMMANDtwo,打开程序文件编辑器,输入如下程序代码:UPDATE金牌榜SET奖牌总数=金牌数+银牌数+铜牌数②在命令窗口执行命令:DOtwo,执行程序文件。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)用SQL语句完成下列操作:检索“田亮”所借图书的书名、作者和价格;结果按价格降序存入booktemp表中。(2)在考生文件夹下有一个名为menulin的下拉式菜单,请设计顶层表单formmenu,将菜单menulin加入到该表单中,使得运行表单时菜单显示在本表单中,并在表单退出时释放菜单。标准答案:(1)【操作步骤】在命令窗口执行命令:SELECTBook.书名,Book.作者,Book.价格;FROM图书!book:INNERJOIN图书!loans;INNERJOIN图书!borrows;ONLoans.借书证号=Borrows.借书证号;ONBook.图书登记号=Loans.图书登记号;WHEREBorrows.姓名=“田亮”;ORDER.BYBook.价格DEsc;INTOTABLEbook一temp.dbf(2)【操作步骤】步骤1:命令窗口执行:CREATEFORMform—menu,打开表单设计器。选中表单,在“属性”窗口中修改表单(Forml)的“ShowWindow”属性值设置为“2-作为顶层表单”。步骤2:双击表单(Forml)编写表单的。Init事件代码:DOmenulin.mprWITHTHIS,"XXX"步骤3:双击表单(Forml)编写其Destroy事件代码;RELEASEMENUXXXEXTENDED步骤4:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、设计名为mysupply的表单(表单的控件名和文件名均为mysupply)。表单的标题为“零件供应情况”。表单中有一个表格控件和两个命令按钮“查询”(名称为Commandl)和“退出”(名称为Command2)。运行表单时,单击“查询”命令按钮后,表格控件(名称gridl)中显示了工程号“J4”所使用的零件的零件名、颜色和重量(通过设置有关“数据”属性实现)。单击“退出”按钮关闭表单。注意:完成表单设计后要运行表单的所有功能。标准答案:【操作步骤】步骤1:在命令窗口执行命令:CREATEFORMmysupply,打开表单设计器新建表单。从“表单控件”工具栏中依次向表单添加两个命令按钮和一个表格控件。步骤2:在“属性”面板的下拉列表框中选择表单对象,在“全部”选项卡中修改对象属性值,见表4.7。步骤3:双击命令按钮,编写各个命令按钮的Click事件代码。各按钮代码如下:*****“查询”按钮的click事件代码*****THISFORM.GRIDl.RECORDSOURCE=”;&&指定表格的数据源,此处为SQL查询语句SELECTDISTINCT零件名,颜色,重量FROM零件;&&DISTINCT用来消除查询结果中重复的记录WHERE零件号IN;&&利用IN短语查找内层循环中包含的记录,此处的IN相当于集合运算符∈(SELECT零件号FROM供应WHERE工程号=‘J4’);INTOCURSORTEMP”&&将最终查询结果输出到临时表temm中*****“退出”按钮的click事件代码*****THISFORE.RELEASE步骤4:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第6套一、基本操作题(本题共1题,每题1.0分,共1分。)1、(1)打开“学生管理”数据库,并从中永久删除“学生”表。(2)建立一个自由表“教师”,表结构如下:编号字符型(8)姓名字符型(10)性别字符型(2)职称字符型(8)(3)利用查询设计器建立一个查询,该查询包含课程名为“数据库”的“课程”表中的全部信息,生成的查询保存为query。(4)甩SQLUPDATE语句将“课程”表中课程名为“数据库”的课程的“任课教师”更改为“T2222”,并将相应的SQL语句存储在文件four.prg中。标准答案:【操作步骤】(1)①在命令窗口执行命令:MODIFYDATABASE学生管理,打开数据库设计器。②右击数据库设计器中的“学生”表,选择【删除】快捷菜单命令,在弹出的VisualFoxPro对话框中单击“删除”按钮(如图4.14所示),将“学生”表永久性删除。(2)①在命令窗口执行命令:CLOSEALL,关闭所有文件。②继续在命令窗口执行命令:CREATE教师,打开表设计器新建“教师”表结构。③根据题意,在表设计器中逐行输入每个字段的“字段名”,并设置字段“类型”和“宽度”,然后单击“确定”按钮,此时系统会弹出一个对话框询问“现在输入数据记录吗?”,本题不需要录入数据,单击“否”按钮。(3)①在命令窗口执行命令:OPENDATABASE学生管理,打开数据库环境。②在命令窗口执行命令:CREATEQUERYguery,打开查询设计器,在“添加表或视图”对话框中,双击“课程”表,将表添加到查询设计器中。③在“字段”选项卡中单击“全部添加”按钮,将“可用字段”列表中的字段全部添加到“选定字段”列表中。④在“筛选”选项卡的“字段名”下拉列表中选择“课程.课程名”字段,在“条件”下拉框中选择“=”,在“实例”框中输入“数据库”。⑤最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。(4)①在命令窗口执行命令:MODIFYCOMMANDfour,打开程序文件编辑器。②在编辑器中输入代码:UPDATE课程SET任课教师=“T2222”WHERE课程名=“数据库”。③在命令窗口执行命令:DOfour.prg,执行程序文件。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、在考生文件夹下,打开“宾馆”数据库,完成如下简单应用:(1)使用查询设计器设计一个名称为two的查询,查询房价“价格”大于等于280元的每个客房的“客房号”、“类型号”(来自客房表)、“类型名”和“价格”。查询结果按“类型号”升序排序,并将查询结果输出到表tabb中。设计完成后,运行该查询。(2)修改一个名称为three.prg的命令文件。该命令文件用来查询与“姚小敏”同一天入住宾馆的每个客户的“客户号”、“身份证”、“姓名”、“工作单位”,查询结果包括“姚小敏”本人。查询结果输出到表tabc中。该命令文件在第3行、第5行、第7行和第8行有错误(不含注释行),打开该命令文件,直接在错误处修改,不可改变SQL,语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。标准答案:(1)【操作步骤】步骤1:命令窗口执行:OPENDATABASE宾馆,打开“宾馆住宿”数据库环境。步骤2:命令窗口执行:CREATEQUERYtWO,打开查询设计器,将考生文件夹下的“客房”和“房价”表添加到查询设计器中。系统弹出“联接条件”对话框,自动查找两个表中相匹配的字段进行联接,单击“确定”按钮设置两个表的联系。步骤3:依次双击“客房”表中的“客房号”、“类型号”字段和“房价”表中的“类型名”、“价格”字段添加到“字段”选项卡的“选定字段”列表中。步骤4:在“筛选”选项卡中选择“字段名”为“房价.价格”,在“条件”为“>=”,在“实例”框中输入“280”。步骤5:“排序依据”选项卡内双击“选定字段”列表框中的“客房.类型号”字段添加到“排序条件”列表框中。步骤6:执行【查询】→【查询去向】菜单命令,在“查询去向”中单击“表”按钮,在“表名”中输入文件名tabb,单击“确定”。步骤7:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。(2)【操作步骤】步骤1:命令窗口执行:MODIFYCOMMANDthree,打开程序文件,文件中的命令代码如下:水该命令文件用来查询与”姚小敏”同一天入住宾馆的每个客户的客户号、身份证、姓名、工作单位。查询结果输出到表TABC中。*该命令文件在第3行、第5行、第7行和第8行有错误,打开该命令文件,直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。OPENDATABASE宾馆SELECT客户,客户号,身份证,姓名,工作单位;FROM客户JOIN入住;WHERE入住日期工N;(SELECT;FROM客户,入住;WHERE姓名=“姚小敏”);TOTARLETARC修改程序中的错误行,修改后的程序如下:OPENDATABASE宾馆SELECT-客户.客户号,身份证,姓名,工作单位;FROM客户JOIN入住ON客户.客户号=入住.客户号;WHERE入住日期IN;(SELECT入住日期;FROM客户,入住;WHERE客户.客户号=入住.客户号and姓名=“姚小敏”);TNTOTABLETABC步骤2:保存文件修改,在命令窗口执行命令:DOTHREE.PRG,执行程序文件。知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下完成如下综合应用:①首先将books.dbf中所有书名中含有“计算机”3个字的图书复制到表booksbak中,以下操作均在booksbak表中完成。②复制后的图书价格在原价格基础上降价5%。③从图书均价高于25元(含25)的出版社中,查询并显示图书均价最低的出版社名称以及均价,查询结果保存在表newtable4中(字段名为“出版单位”和“均价”)。标准答案:【操作步骤】命令窗口依次执行如下几条命令:①OPENDATABASEBOOKAuTH,打开数据库环境。②SELECT*FROMbooksWHEREAT(“计算机”,书名)>0INTOTABLEBOOKSBAK③UPDATEBOOKSBAKSET价格=价格*0.95④SELECT出版单位,AVG(价格)AS均价FROMBOOKSBAKINTOCURSORCURSORlGROUPBY出版单位orderby均价⑤SELECT*TOP1FROMCURSOR1WHERE均价>=25INTOTABLEnewtable4ORDERBY均价知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第7套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下的数据库rate中完成下列操作:(1)将自由表rateexchange和currencysl添加到rate数据库中。(2)为表rateexchange建立一个主索引,为表currencysl建立一个普通索引(升序),两个索引的索引名.和索引表达式均为“外币代码”。(3)为表currency_sl设定字段的有效性规则:“持有数量<>0”,错误提示信息是:“持有数量不能为0”。(4)打开表单文件。testform,该表单的界面如图3-25所示,请修改“登录”命令按钮的有关属性,使其在运行时可以使用。标准答案:【操作步骤】(I)①命令窗口执行:MODIFYDATABASERATE,打开数据库设计器。②在数据库设计器中右击,选择【添加表】,在“打开”对话框中双击rateexchang表添加到数据库中,以同样的方法将currency_s1表添加到数据库中。(2)①右击数据库设计器中的rateexchang表,选择【修改】,打开rateexchang表设计器,“字段”选项卡中选中“外币代码”,“排序”列中选择“升序”,在“索引”选项卡中修改“索引类型”为主索引,建立“外币代码”字段的主索引,单击“确定”按钮保存表结构修改。②参照rateexchang表的操作建立currency表“外币_s1代码”字段的普通索引。(3)右击数据库设计器中的currency表,选择【修.s1改】,打开表设计器,在“字段”中选“持有数量”,在“字段有效性”的“规则”文本框中输入:持有数量<>0,在“信息”框中输入:“持有数量不能为0”,单击“确定”保存。(4)①命令窗口执行:MODIFYFORMTEST—FORM,打开表单设计器修改表单。②选中“登录”命令按钮,在“属性”面板修改其Enabled属性值为:.T.,保存表单修改。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)用SQL语句进行以下查询:查询“外汇账户”表中的日元信息。查询结果包括钞汇标志、金额,结果按金额降序排序,并存储于表two.dbf中,并将SQL语句存储于新建的three.txt文件中。(2)用一对多报表向导建立报表,“外汇代码”表为父表,“外汇账户”表为子表。要求:选择父表和子表中的全部字段;用“外币代码”字段为两个表建立关系;排序方式为按“外币代码”升序;报表样式为“帐务式”,方向为“横向”;报表标题为“外汇账户情况”;报表文件名为reportaccount。然后在报表设计器中修改该报表,在报表标题带区的右端利用OLE对象插入文件picture.gif。标准答案:(1)【操作步骤】步骤1:在命令窗口执行命令:MODIFYFILEthree,打开文本编辑器编写SQL命令。步骤2:在编辑器中输入如下程序代码(以下程序是通过查询设计器生成):SELECT外汇账户.钞汇标志,外汇账户.金额;FROM外汇i外汇账户;ORDERBY外汇账户.金额DESC;工NTOTABLEtwo.dbf步骤3:在命令窗口执行命令:DOthree.txt,执行文件(2)【操作步骤】步骤l:在命令窗口执行命令:OPENDATABASE外汇,打开“外汇”数据库。步骤2:执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在“新建”中选“报表”选项,单击“向导”按钮,在“向导选取”中选“一对多报表向导”项,单击“确定”按钮,启动报表向导。步骤3:“步骤1-从父表选择字段”的“数据库和表”下选中“外汇代码”表,将“可用字段”全部添加到“选定字段”中,单击“下一步”按钮。步骤4:“步骤2-从子表选择字段”的“数据库和表”下选“外汇帐户”表,将“可用字段”全部添加到“选定字段”中,单击“下一步”按钮。步骤5:“步骤3-为表建立关系”界面中系统自动建立两个表的联系,单击“下一步”按钮。步骤6:“步骤4-排序记录”中双击“可用的字段或索引标识”中的“外币代码”字段到“选定字段”列表中,再选择“升序”,单击“下一步”按钮。步骤7:“步骤5一选择报表样式”的“样式”下选中“账务式”,在“方向”下选择“横向”,单击“下一步”按钮。步骤8:“步骤6-完成”界面中的“报表标题”下方文本框中输入“外汇账户情况”,单击“完成”按钮。步骤9:在“另存为”对话框的“保存报表为:”框中输入表单文件名reportaccount,单击“保存”按钮。步骤10:在命令窗口执行命令:MODIFYREPORTreport—account,打开reportaccount报表设计器。步骤11:在“报表控件”工具栏中单击“图片/ActiveX绑定控件”按钮,然后在报表标题带区的右端单击并拖动鼠标拉出图文框,弹出如图4-34所示的“报表图片”对话框,选中对话框“图片来源”下的“文件”选项,接着单击后面的表达式按钮,弹出“打开”对话框,选中要插入的图片picture.gif,单击“确定”按钮,返回“报表图片”对话框,继续单击“确定”按钮关闭对话框,可以看到报表设计器的“标题”区域增加了一个图片,如图4-35所示。步骤12:单击常用工具栏中的“保存”按钮。知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、①建立一个文件名和表单名均为myform的表单,表单中包括一个列表框(Listl)和两个命令按钮(Commandl和Command2),Commandl和Command2的标题分别为“计算”和“退出”。②列表框(Listl)中应显示组号,通过RowSource和RowSourceType属性手工指定列表框的显示条目为“01”、“02”、“03”、“04”(注意:不要使用命令指定这两个属性,否则将不能得分)。③为“计算”命令按钮编写程序。程序的功能是:表单运行时,根据列表框中选定的“组号”,将“评分表”中该组歌手(“歌手编号”字段的左边两位表示了该歌手所在的组号)的所有记录存入自由表two.dbf中,two.dbf的表结构与“评分表”相同,表中的记录先按“歌手编号”降序、再按“分数”升序排列。④运行表单,在列表框中指定组号“01”,并且单击“计算”命令按钮。注意:结果two表文件中只能且必须包含“01”组歌手的评分信息。标准答案:【操作步骤】步骤1:命令窗口执行:CREATEFORMmyform,打开表单设计器新建表单。步骤2:向表单添加一个列表框和两个命令按钮控件。选择表单对象,修改对象属性值,见表4.24。步骤3:编写各个命令按钮的Click事件代码如下:*****“计算”桉钾的Click事件代码*****num=THISFORM.LISTl.VALUESELECT*;FROM评分表WHERELEFT(歌手编号,2)=num;ORDERBY歌手编号DESC,分数工NTODRFtwo*****“退出”按钮的Click事件代码*****THISFORM.RELEASE步骤4:单击“常用”工具栏中的“运行”按钮,在列表框中选择“01”,然后单击“计算”按钮,运行表单。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第8套一、基本操作题(本题共1题,每题1.0分,共1分。)1、(1)从student表查询所有性别为“男”的学生信息,并按学号升序排序将查询结果存入results表。(2)利用表单向导生成一个表单,该表单含有student表的“学号”、“班级”、“姓名”和“性别”4个字段,按“学号”字段升序排序,其他设置采用默认值,并将表单保存为student.scx文件。(3)建立一个命令文件myprog.prg,该命令文件只有一行语句,即执行前一小题生成的表单文件。(4)为student表增加一个“年龄”字段,类型为数值型(2)。标准答案:(1)在命令窗口执行如下命令,完成查询并保存查询结果到results表中。SELECT*FROMstudentWHERE性别="男"ORDERBY学号INTOTABLEresults(2)①执行【文件】→【新建】菜单命令,在弹出的“新建”对话框中选中“表单”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“表单向导”项,单击“确定”按钮,启动表单向导。②在表单向导的“步骤1-字段选取”界面的“数据库和表”下选中“STUDENT”表,依次双击“可用字段”中的“学号”、“班级”、“姓名”和“性别”字段全部添加到“选定字段”中,单击“下一步”按钮。③跳过“步骤2-选择表单样式”向导界面,继续单击“下一步”按钮。④在表单向导的“步骤3-排序次序”界面中双击“可用的字段和索引标识”的“学号”字段添加到“选定字段”列表中,再单击“升序”单选项,单击“下一步”按钮。⑤在表单向导的“步骤4-完成”界面中单击“完成”按钮,在“另存为”对话框的“保存表单为:”框中输入表单文件名student,单击“保存”按钮。(3)①在命令窗口执行命令:MODIFYCOMMANDmyprog,打开程序文件编辑器。②在编辑器中输入程序代码:DOFORMstudent。③保存文件,在命令窗口执行命令:DOmyprog.prg,执行程序文件。(4)关闭student表,在命令窗口执行命令:ALTERTABLEstuderltADD年龄N(2),新增字段。知识点解析:本大题考查了SQL排序查询;表单向导的使用;表单的运行;数据表结构的修改。使用SQL排序查询时注意排序短语为ORDERBY;利用表单向导建立表单也属于比较简单的操作,根据向导提示完成即可;而运行表单时,一定要正确使用调用表单的命令格式:DOFORM<文件名>;为表新增字段的操作,可直接通过SQL命令完成,也可以在表设计器中进行。二、简单应用题(本题共1题,每题1.0分,共1分。)2、在考生文件夹下,打开商品销售数据库cdb,完成如下简单应用:(1)使用一对多报表向导建立名称为p_order的报表。要求从父表顾客表cust中选择所有字段,从子表订单表order中选择所有字段;两表之间采用“顾客号”字段连接;按“顾客号”字段升序排序;报表样式为“经营式”,方向为“纵向”;报表标题为“顾客订单表”。然后修改该报表,在页注脚中增加一个标签“制表人:新思路”;该标签水平居中,标签中的“:”为中文的冒号。(2)修改一个名称为TWO.PRG的命令文件。该命令文件统计每个顾客购买商品的金额合计(应付款),结果存储在临时表1s中。然后用1s中的每个顾客的数据去修改表scust对应的记录。该命令文件有3行语句有错误,打开该命令文件进行修改。注意:直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。标准答案:(1)步骤1:在命令窗口执行命令:OPENDATABASEcdb,打开cdb数据库。步骤2:执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“报表”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“一对多报表向导”项,单击“确定”按钮,启动报表向导。步骤3:在报表向导的“步骤1-从父表选择字段”界面的“数据库和表”下选中cust表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。步骤4:在报表向导的“步骤2-从子表选择字段”界面的“数据库和表”下选中order表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。步骤5:在报表向导的“步骤3-为表建立关系”界面中系统自动建立两个表的联系,单击“下一步”按钮。步骤6:在报表向导的“步骤4-排序记录”界面中双击“可用的字段或索引标识”中的“顾客号”字段到“选定字段”列表中,再选择“升序”,单击“下~步”按钮。步骤7:在报表向导的“步骤5-选择报表样式”界面的“样式”下选中“经营式”,方向为“纵向”,单击“下一步”按钮。步骤8:在报表向导的“步骤6-完成”界面中的“报表标题”下方文本框中输入“顾客订单表”,单击“完成”按钮。步骤9:在“另存为”对话框的“保存报表为:”框中输入表单文件名p_order,单击“保存”按钮。步骤10:在命令窗口输入命令:MODIFYREPORTp_order,打开报表设计器修改报表。向报表设计器最底端的“页注脚”带区添加一个标签控件,并输入“制表人:新思路”,然后选中标签,在“布局”工具栏中单击“水平居中”命令按钮(工具栏中的倒数第4个按钮),设置标签为水平居中。(2)步骤1:在命令窗口执行命令:MODIFYCOMMANDTWO,打开程序文件,文件中的命令代码如下:1CLOSEDBF2PRIVATEno,money3USEscust4*下面的一行语句有错误5SELECT顾客号,数量*单价应付款;6FROMorderJOINCorftrnONorder.商品号=comm.商品号;7GROUPBY顾客号;8INTOCURSORls9SELECTscust10*下面的一行语句有错误11DOWHILEEOF()12no=顾客号13SELECTls14LOCATFOR顾客号=no15money=应付款16SELECTscust17+下面的一行语句有错误18REPLACEALL应付款=money19SKIP+120ENDDO21CLOSETABLE22RETURN>修改程序中的错误行,修改后的程序如下:1CLOSEDBF2PRIVATEno,money3USEscust4*下面的一行语句有错误5SELECT顾客号,sum(数量*单价)应付款;6FROMorderJOINCOIItmONorder?商品号=comm.商品号;7GROUPBY顾客号;8INTOCURSORls9SELECTscust10下面的一行语句有错误11DOWHILE!EOF()12no=顾客号13SELECTls14LOCATFOR顾客号=no15money=应付款16SELECTscust17*下面的一行语句有错误18REPLACE应付款withmoney19SKIP+120ENDDO21CLOSETABLE22RETURN步骤2:保存文件修改,在命令窗口执行命令:DOTWO,执行程序文件。知识点解析:(1本题考查报表向导以及报表设计器的使用,在报表设计器中添加文字,可以通过“报表控件”工具栏中的“标签”控件进行添加。(2)本题考查了DOWHILE循环语句;SQL简单的计算查询;visualFoxPro修改表记录语句,程序的功能大致如下:首先定义两个私有变量,然后通过SQL语句计算每个顾客购买商品的金额合计,将结果保存到一个临时表中;接着通过一个DO循环语句逐条判断scust表中的记录,修改scust表中顾客号与临时表ls表中顾客号对应相等的“应付款”字段值。根据对程序语句的分析,可以得知:第一处错误是SQL计算语句错误,要求应付款应该是合计值,输出字段中还缺少sum()函数进行合计。第二处错误是DO循环条件错误,循环条件应该是没有到记录末尾,因此应使用!eof()。第三处错误是修改记录的命令错误,应该使用replace…with…命令。三、综合应用题(本题共1题,每题1.0分,共1分。)3、设计名为form_book的表单(控件名为form1,文件名为formbook)。表单的标题设为“图书情况统计”。表单中有一个组合框(名称为Combo1)、一个文本框(名称为Text1)和

温馨提示

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

评论

0/150

提交评论