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

下载本文档

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

文档简介

国家二级VF机试(操作题)模拟试卷22(共9套)(共30题)国家二级VF机试(操作题)模拟试卷第1套一、基本操作题(本题共3题,每题1.0分,共3分。)1、在考生文件夹下,完成如下操作:(1)将student表中学号为99035001的学生的“院系”字段值修改为“经济”。(2)将score表中“成绩”字段的名称修改为“考试成绩”。(3)使用SQL命令(ALTERTABLE)为student表建立一个候选索引,索引名和索引表达式均为“学号”,并将相应的SQL命令保存在three.prg文件中。(4)通过表设计器为course表建立一个候选索引,索引名和索引表达式都是“课程编号”。标准答案:(1)打开表student,在命令窗口输入“browse”,按下回车键。按要求修改表的内容,如图3.87所示。(2)打开score表,单击“显示”菜单中的“表设计器”菜单命令,打开表设计器,修改字段名称,如图3.88所示。(3)在命令窗口输入SQL命令“ALTERTABLEstudentADDUNIQUE学号TAG学号”,按下回车键。并将该语句保存到three.prg文件中。(4)同第2小题,打开course的表设计器,建立候选索引“课程编号”。知识点解析:本大题主要考查的知识点是:用browse命令浏览表中记录,表中字段值的修改及用SQL语句建立索引。【解题思路】在第1小题中,修改表中记录最简便的方法是先打开对应的表,然后在命令窗口输入“browse”命令,在弹出的窗口中对表中记录进行修改。在第2小题中,修改表中字段的名称需在表设计器中进行。在第3小题中,ALTERTABLE语句用于修改表的结构,其中ADD短语的功能是添加新的字段或索引,UNIQUE短语的功能指建立候选索引(注意不是唯一索引),ADDUNIQUE连用表示新增一个候选索引,TAG短语用于指定索引名称。2、在考生文件夹下完成如下简单应用:(1)建立一个满足下列要求的表单文件tab。①表单中包含一个页框控件Pageframel,该页框含有3个页面:Pagel、Page2、Page3,三个页面的标题依次为“学生”、“课程”和“成绩”。②将student(学生)表、course(课程)表和score(成绩)表分别添加到表单的数据环境中。③直接用拖曳的方法使得在页框控件的相应页面上分别显示student(学生)表、course(课程)表和score(成绩)表的内容。④表单中包含一个“退出”命令按钮(Command1),单击该按钮关闭并释放表单。(2)给定表单modi2.scx,功能是:要求用户输入一个正整数,然后计算从l到该数字之间有多少偶数、多少奇数、多少能被3整除的数,并分别显示出来,最后统计出满足条件的数的总数量。请修改并调试该程序,使之能够正确运行。改错要求:“计算”按钮的Click事件代码中共有3处错误,请修改“***found***”下面语句行的错误,必须在原来位置修改,不能增加或删减程序行(其中第一行的赋值语句不许减少或改变变量名)。“退出”按钮的Click事件代码中有一处错误,该按钮的功能是关闭并释放表单。标准答案:(1)【操作步骤】步骤1:在命令窗口输入“Createformtab”,按下回车键。新建一个表单文件tab,在表单控件中单击相应的控件,然后在表单上画出一个页框控件、一个命令按钮。将页框改为3个页面,如图3.89所示。步骤2:在页框上单击鼠标右键,在弹出的快捷菜单中选择“编辑”项,设置页框各页的标题属性,如图3.90所示。PagelCaption学生Page2Caption课程Page3Caption成绩步骤3:在表单空白处单击鼠标右键,在弹出的快捷菜单中单击“数据环境”命令,为表单添加表“student”、“courBe”和“score”到数据环境中。步骤4:在页框上单击鼠标右键,选择“编辑”命令,按题目的要求将表拖曳到相应的页框中,如图3.91所示。步骤5:将命令按钮的标题改为“退出”,输入其Click事件“ThisForm.Release”。步骤6:保存并运行表单查看结果。(2)【操作步骤】打开表单modi2,修改“计算”命令按钮的Click事件,如图3.92所示。以同样的方式修改“退出”按钮的Click事件代码为:Th-isForm.Release。知识点解析:本大题主要考查的知识点是:表单页框控件的使用,表单数据环境的建立,程序数据类型的转换和赋初值。【解题思路】在第1小题中,新建表单并添加控件,修改各控件的属性值,其中页框的PageCount属性用于设置页框中所含的页面数。在第2小题中,第1处错误语句的功能是将数值0赋给3个内存变量x1、x2、x3;第2处错误语句的功能是将文本框TEXT1中的值赋给变量x;根据题目的要求,第3处错误语句的功能是判断一个数能否被3整除。3、在考生文件夹下有一个名为zonghe的表单文件,其中:单击“添加>”命令按钮可以将左边列表框中被选中的项添加到右边的列表框中;单击“<移去”命令按钮可以将右边列表框中被选中的项移去(删除)。请完善“确定”命令按钮的Click事件代码,其功能是:查询右边列表框所列课程的学生的考试成绩(依次包含姓名、课程名称和考试成绩3个字段),并先按课程名称升序排列,课程名称相同的再按考试成绩降序排列,最后将查询结果存储到表zongIle中。注意:(1)SCORE表中的“考试成绩”字段是在基本操作题中修改的。(2)程序完成后必须运行,要求将“计算机基础”和“高等数学”从左边的列表框添加到右边的列表框,并单击“确定”命令按钮完成查询和存储。标准答案:步骤1:打开考生文件夹下的表单文件zonghe。步骤2:“确定”命令按钮的Click事件如下。*********************&&选择查询字段SELECTStudent.姓名,Course.课程名称,Score.考试成绩;&&指定字段来源FROMstudentINNERJOINscoreINNERJOINcourSe;&&设置查询条件ONScore.课程编号=Sourse.课程编号;ONstudent.学号=score.学号;WHERE&Cn;&&查询结果按课程名称升序排列,同一课程按考试成绩降序排列ORDERBYcourse.课程名称,Score.考试成绩DESC;&&将查询结果存储到zonghe.dbf中INTOTABLEzonghe.dbf*******************步骤3:保存并运行表单,如图3.93所示。知识点解析:本大题主要考查的知识点是:表单的操作及Chck事件语句等知识点。【解题思路】在表单设计器中完成命令按钮的Click事件代码的修改或编写。国家二级VF机试(操作题)模拟试卷第2套一、基本操作题(本题共1题,每题1.0分,共1分。)1、(1)打开表单one,如图3-21所示,通过设置控件的相关属性,使得表单运行时的开始焦点在“打开”命令按钮,并且接下来的焦点的移动顺序是“关闭”和“退出”。(2)打开表单two,使用“布局”工具栏的“顶边对齐”按钮将表单中的3个命令按钮控件的顶边对齐。(3)使用SQL语句创建一个名为“分组情况表”的自由表,“分组情况表”有两个字段:“组号”和“组名”,“组号”占两个字符,“组名”占10个字符。请将该SQL语句存储在three.prg中,否则不得分。(4)使用SQL语句插入一个记录到“分组情况表”中,插入的内容是,组号:01,组名:通俗唱法。请将该SQL语句存储在four.prg中,否则不得分。标准答案:(1)①命令窗口执行:MODIFYFORMone,打开表单设计器修改表单。②选择表单对象,修改控件对象属性值,见表4—27。③单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。(2)①命令窗口执行:MODIFYFORMtwo,打开表单设计器修改表单。②右击工具栏的空白区域,选择【布局】快捷菜单命令,打开“布局”工具栏(若表单设计器中未显示该工具栏,则执行该操作)。③同时选中表单中的3个按钮,单击“布局”工具栏中的“顶边对齐”按钮(第3个图标按钮),保存表单修改。(3)①命令窗口执行:MODIFYCOMMANDthree,打开程序文件编辑器。输入如下程序代码:CREATETABLE分组情况表(组号C(2),组名C(10))②在命令窗口执行命令:Dothree,执行程序文件。(4)①在命令窗口执行命令:MODIFYCOMMANDfour,打开程序文件编辑器,输入如下程序代码:INSERTINTO分组情况表VALUES("01","通俗唱法")②在命令窗口执行命令:DOfour,执行程序文件。创建和运行表单;基本型控件;SQL定义功能;SQL操作功能;程序文件的建立与执行。知识点解析:本题考查了表单控件常用属性的设置;“布局”工具栏的使用;SQL定义功能和操作功能。表单设计中,可通过Tablndex属性设置控件获得焦点的先后次序,通过“布局”工具栏可调整表单窗口中被选控件的相对大小和位置。SQL定义语句CREATETABLE命令可以创建一个数据表,注意表结构内容要用圆括号括起来。二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)歌手比赛分为四个组,“歌手表”中的“歌手编号”字段的左边两位表示了该歌手所在的组号。考生文件夹下的程序文件five.prg的功能是:根据“歌手表”计算每个组的歌手人数,将结果填入表one.dbf,表one.dbf中有两个字段:“组号”和“歌手人数”。程序中有3处错误,请修改并执行程序。注意:只能修改标有错误的语句行,不能修改其他语句,数组名A不允许修改。(2)建立一个数据库文件“歌手大奖赛.dbc”,并将“歌手表”、“评委表”和“评分表”3个自由表添加到该数据库中。使用视图设计器建立视图songer_view,该视图根据“歌手表”、“评委表”和“评分表”建立,视图中的字段项包括:“评委姓名”、“歌手姓名”、“分数”,视图中的记录按“歌手姓名”升序、“分数”降序排列。标准答案:(1)步骤1:在命令窗口执行命令:MODIFYCOMMANDfive,打开程序文件,文件中的命令代码如下:&&根据"歌手表"计算每个组的歌手人数CLOSEDATAUSEoneGOTOPWHILE.NOT.EOF()&&错误zuhao=组号SELECTCOUNT(+)FROM歌手表PIHERE歌手表.歌手编号=zuhacINTOARRAYA&&错误REPLACE歌手人数INTOA&&错误SKIPENDDO修改程序中的错误行,修改后的程序如下:CLOSEDATAUSEoneGOTOPDOWHILENOTEOF()zuhao=组号SELECTCOUNT(*)FROM歌手表WHERELEFT(歌手表,歌手编号,2)=zuhaoINTOARRAYAREPLACE歌手人数WITHA[1]SKIPENDDO步骤2:保存文件修改,在命令窗口执行命令:DOfive,执行程序文件。程序的基本结构;SQL简单查询。(2)步骤1:在命令窗口执行命令:MODIFYDATABASE歌手大奖赛,新建并打开数据库设计器。右击鼠标,选择【添加表】,在“打开”对话框中双击“歌手表”添加到数据库中;同样的方法,将“评委表”和“评分表”添加到数据库中。步骤2:在数据库设计器中右击,选择【新建本地视图】打开视图设计器,在“新建本地视图”中单击“新建视图”按钮,在“添加表或视图”中依次双击“歌手表”、“评分表”和“评委表”(按顺序添加),添加到视图设计器中。步骤3:双击“评委表”中的“评委姓名”字段,“歌手表”中的“歌手姓名”字段和“评分表”中的“分数”字段,将3个字段添加到“选定字段”中。步骤4:“排序依据”选项卡中双击“选定字段”列表框中的“歌手表.歌手姓名”字段,添加到“排序条件”列表框中;再双击“选定字段”中的“评分表,分数”字段添加到“排序条件”列表框中,“排序选项”中选择“降序”;以songer_view名保存视图。使用数据库;视图的建立与使用。知识点解析:(1)本题考查了DoWHILE循环语句:SQL简单计算查询;VisualFoxPro表记录修改命令。本题的第一处错误是DOWHILE循环语句的入口语句格式错误,DO短语是必须的,不可缺少:第二处错误根据题意得知,“歌手编号”字段的左边两位表示该歌手所在的组号,因此,要通过字符串截取函数才能从“歌手编号”字段中得到歌手的组号:第三处错误是REPLACE语句的格式错误,使用数组修改当前记录时,应使用WITH短语,而不是INTO短语。(2)本题考查了数据库和表的基本操作:利用视图设计器建立视图。本题的关键是向数据库设计器中按照一定的顺序依次添加各表,即按照表间联系依次添加表,这样可以保证视图设计器中的各表都存在联接关系。对SQL熟悉的考生,可以通过命令方式建立该视图。三、综合应用题(本题共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:向表单添加一个列表框和两个命令按钮控件。选择表单对象,修改对象属性值,见表428。步骤3:编写各个命令按钮的Click事件代码如下:*****“计算”按钮的Click事件代码*****num=THISFORM.LISTl.VALUESELECT*;FROM评分表WHERELEFT(歌手编号,2)=num;ORDERBY歌手编号DESC,分数INTODBFtwo*****“退出”按钮的Click事件代码*****THISFORM.RELEASE步骤4:单击“常用”工具栏中的“运行”按钮,在列表框中选择“01”,然后单击“计算”按钮,运行表单。表单数据环境;基本型控件;SQL简单查询。知识点解析:本题考查了表单及控件的常用属性和方法的设置:SQL排序查询。本题可以通过列表框的Value属性获取列表框所选条目的值,Value值等于当前列表框中被选中的条目。列表框的RowSourceType和RowSource属性指定列表框的数据源类型和数据源:通过字符串截取函数从“歌手编号”字段中得到歌手的组号。SQL中,用ORDERBY表示排序,降序为DESC,默认的排序方式为升序(ASC),多个字段排序时,需要在各字段之间加逗号隔开。国家二级VF机试(操作题)模拟试卷第3套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下完成如下操作:(1)新建一个名为“供应”的项目文件。(2)将数据库“供应零件”加入到新建的“供应”项目文件中。(3)通过“零件号”字段为“零件”表和“供应”表建立永久联系(“零件”是父表,“供应”是子表)。(4)为“供应”表的数量字段设置有效性规则:数量必须大于0并且小于9999;错误提示信息是“数量超范围”。(注意:公式必须为数量>0.and.数量<9999)标准答案:(1)在命令窗口执行命令:CREATEPROJECT供应,新建一个项目管理器。(2)在项目管理器中选中“数据”选项卡内的“数据库”项,然后单击“添加”按钮,在弹出的“打开”对话框中双击“供应零件”数据库文件,将数据库添加到项目管理器中。(3)①在项目管理器中单击“数据库”前面的“+”号,依次展开“数据库”→“供应零件”→“表”。②选中“零件”表单击“修改”按钮,弹出“零件”表设计器,在表设计器的“字段”选项卡中选中“零件号”字段名,然后在“索引”列的下拉框选择“升序”排序方式(此时为表已建立了普通索引),接着在“索引”选项卡中将“类型”设置为“主索引”,单击“确定”按钮保存表结构修改。③参照“零件”表的操作,为“供应”表建立“零件号”字段的普通索引。④在项目管理器中选中数据库“供应零件”,然后单击“修改”命令按钮,打开数据库设计器,拖动“零件”表“索引”下方的主索引“零件号”到“供应”表中“索引”下方的普通索引“零件号”上,为两个表建立联系,建立好联系的两个表之间会出现一条连线。(4)打开“供应”表设计器,选中“数量”字段行,然后在“字段有效性"的“规则"文本框中输入:数量>0.AND.数量<9999,在“信息”框中输入:”数量超范围”,单击“确定”按钮保存表结构修改。如图3.12所示。知识点解析:本大题考查了项目管理器的建立及使用;数据库表间联系的建立及有效性规则的建立。对两个表建立联系是在数据库设计器中进行操作的,建立联系前必须对两个表中进行联接的字段建立相关索引,并通过索引字段建立表间联系。为数据库表建立索引可以在表设计器中操作,同样,对表中字段建立有效性规则也是在表设计器中完成,建立有效性规则时要注意先选中需要建立有效性规则的字段。二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)打开数据库文件“课程管理”,使用SQL语句建立一个视图salary,该视图包括了“系号”和(该系的)“平均工资”两个字段,并且按“平均工资”降序排列。请将该SQL语句存储在four.prg文件中,否则不得分。(2)打开考生文件夹下的表单six(如图2.33所示),“登录”命令按钮Click事件中的程序功能是:当用户输入用户名和口令以后,单击“登录”按钮时,程序根据自由表“用户表”的内容进行操作,若在“用户表”中找不到相应的用户名,则提示“用户名错误”,若用户名输入正确,而口令输入错误,则提示“口令错误”。修改“登录”命令按钮Click事件中标有错误的语句,使其能够正确运行。注意:不得做其他修改。标准答案:(1)步骤1:在命令窗口执行命令:MODIFYCOMMANDfour,打开程序文件编辑器编写视图定义代码。步骤2:在编辑器中输入如下程序代码:OPENDATABASE课程管理CREATEVIEWsalary.AS;SELECT系号,AVG(工资)AS平均工资;FROM教师表;GROUPBY系号;ORDERBY平均工资DESC步骤3:在命令窗口执行命令:DOfour,执行文件。(2)步骤1:在命令窗口执行命令:MODIFYFORMsix,打开表单设计器修改表单。步骤2:双击表单中的“登录”按钮,看到该按钮的Click事件中代码如下:USE用户表GOTOPflag=0&&下面语句有错误WHILE.NOT.EOF。()IFAlltrim(用户名)==Alltrim(Thisform.Text1.Value)IFAlltrim(口令)==Alltrim(Thisform.Text2.Value)WAIT"欢迎使用"WINDOWTIMEOUT2ELSEWAIT"口令错误"WINDOWTIMEOUT2ENDIFflag=1EXITENDIF&&下面语句有错误NEXTENDL)U&&下面语句有错误CASEFLAG=0WAIT"用户名错误"WINDOWTIMEOUT2ENDIF参改后的代码如下:USE用户表GOTOPflag=0&&下面语句有错误DOWHILENOTEOF()IFAlltrim(用户名)==Alltrim(Thisform.Text1.Value)IFAlltrim(口令)==Alltrim(Thisform.Text2.Value)WAIT"欢迎使用"WINDOWTIMEOUT2ELSEWAIT"口令错误"WINDOWTIMEOUT2ENDIFflag=1EXITENDIF&&下面语句有错误SKIPENDDO&&下面语句有错误IFflag=0WAIT"用户名错误"WINDOWTIMEOUT2ENDTF步骤3:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。知识点解析:(1)步骤1:在命令窗口执行命令:MODIFYCOMMANDfour,打开程序文件编辑器编写视图定义代码。步骤2:在编辑器中输入如下程序代码:OPENDATABASE课程管理CREATEVIEWsalary.AS;SELECT系号,AVG(工资)AS平均工资;FROM教师表;GROUPBY系号;ORDERBY平均工资DESC步骤3:在命令窗口执行命令:DOfour,执行文件。(2)本题主要考查的是DOWH工LE循环语句和工F条件语句的使用。本题程序的功能大致如下:首先打开“用户表”,同时定义一个变量并赋值0。然后通过DOWHILE语句开始判断记录指针是否到达文件末尾,如果没有,则开始执行后面的条件语句,第一次判断表中当前记录的“用户名”是否等于表单中第一个文本框中的值;如果等于,则再继续判断该记录的口令值是否等于表单中第二个文本框的值;如果不等于,则退出条件语句结构,执行SKIP命令,将指针指向“用户表”的下一条记录,当指针记录指向表末尾后还没找到相等的内容,则退出循环体,执行ENDDO后面的IF语句,提示“用户名错误”的信息,执行此条件语句的要求为flaq=0。当判断表中当前记录的“用户名”等于表单中第一个文本框中的值后,再判断用户名的密码值也等于表单中第二个文本框的值时,则显示欢迎框,退出条件语句结构,将变量flaq的值赋为1,退出循环体,当退出循环体后,由于flaq的值已设置为1,则不再执行ENDDO后面的IF语句,程序结束;如果密码不相等时,则提示“口令错误”的信息。三、综合应用题(本题共1题,每题1.0分,共1分。)3、首先为order_detail表增加一个新字段:新单价(类型与原来的单价字段相同),然后编写满足如下要求的程序:根据order_list表中的“订购日期”字段的值确定order_detail表的“新单价”字段的值,原则是:“订购日期”为2001年的“新单价”字段的值为原单价的90%,订购日期为2002年的“新单价”字段的值为原单价的110%(注意:在修改操作过程中不要改变order_detail表记录的顺序),最后将程序保存为progl.prg,并执行该程序。接着再利用VisualFoxPro的“快速报表”功能建立一个的简单报表,该报表内容按顺序含有order_detail表的“订单号”、“器件号”、“器件名”、“新单价”和“数量”字段的值,将报表文件保存为reportl.frx。标准答案:步骤1:在命令窗口执行命令:MODIFYCOMMANDPROG1,新建程序并打开程序编辑器。步骤2:在程序编辑器中输入如下程序代码:ALTERTABLEorder_detailADD新单价F(10,2)UPDATEorder_detailSET新单价=单价*0.9;WHERE订单号=;(SELECT订单号FROMorder_list;WHERE订单号=order_detail.订单号ANDYEAR(订购日期)=2001)UPDATEorder_detailSET新单价=单价*1.1;WHERE订单号=;(SELECT订单号FROMorder_list;WHERE订单号=order_detail.订单号ANDYEAR(订购日期)=2002)步骤3:单击“常用”工具栏中的“运行”按钮运行程序。步骤4:在命令窗口执行命令:USEorder_detail,打开order_detail表。步骤5:在命令窗口执行命令:CREATEREPORT。report1,打开报表设计器,然后执行【报表】→【快速报表】菜单命令,在弹出的“快速报表”对话框中单击“字段”按钮,依次双击“所有字段”列表框中的“订单号”、“器件号”、“器件名”、“新单价”和“数量”字段,将其添加到“选定字段”列表框中,单击“确定”按钮新建快速报表,预览和保存报表。如图344和图3.45所示。知识点解析:本题主要考查的是程序文件的建立、SQL查询、SQL定义、SQL更新和快速报表的建立。本题的基本解题思路是:首先通过SQL定义语句为表建立一个新字段,然后通过两个SQL更新语句分别针对订单是2001年和2002年的记录更新“新单价”的值,其中,更新判断条件可以通过SQL查询语句得到满足条件的记录。注意,浮动型字段用字母F表示,对于SQL定义语句不太熟悉的考生,也可以在数据表设计器中增加新字段。快速报表的建立需要在报表设计器中进行,在报表设计器中可以通过菜单命令启动建立快速报表的功能,建立快速报表应先指定报表的数据源。国家二级VF机试(操作题)模拟试卷第4套一、基本操作题(本题共1题,每题1.0分,共1分。)1、(1)首先创建数据库orderm,并向其中添加employee表和ordei表。然后在数据库中创建视图viewone:利用该视图只能查询“组别”为“1”的职员的有关数据;查询结果依次包含“职员号”、“姓名”、“订单号”、“签订日期”、“金额”5个字段;各记录按“职员号”升序排序,若“职员号”相同则按“金额”降序排序。最后利用刚创建的视图查洵视图中的全部信息,并将查询结果存放在表tabletwo中。(2)创建一个名称为sview的视图,该视图的SELECT语句根据salarydb数据库中的salarys表(雇员工资表)进行查询,查询结果包括部门号、雇员号、姓名、工资、补贴、奖励、失业保险、医疗统筹和实发工资等字段,其中实发工资由工资、补贴和奖励三项相加,然后再减去失业保险和医疗统筹得出,结果按“部门号”降序排序,最后将定义视图的命令代码存放到命令文件t1.prg中并执行该程序。标准答案:(1)步骤1:在命令窗口执行命令:MODIFYDATABASEorder,创建数据库并打开数据库设计器。步骤2:在新建的“订单管理”数据库设计器中单击右键,选择【添加表】快捷菜单命令,在弹出的“打开”对话框中双击自由表employee,将表添加到数据库中。以同样的方法,将order表添加到数据库中。步骤3:在数据库设计器中右击鼠标,选择【新建本地视图】快捷菜单命令打开视图设计器,接着住弹出的“新建本地视图”对话框中单击“新建视图”图标按钮,然后在“添加表或视图”对话框中依次双击employee表和order表,将表添加到视图设计器中。步骤4:依次双击employee表中的“职员号”、“姓名”字段和order表中的“订单号”、“签订日期”、“金额”字段,将5个字段添加到“字段”选项忙的“选定字段”列表框中。步骤5:在“筛选”选项卡的“字段名”下拉列表中选择“Employee.组别”字段,在“条件”中选择“=”,在“实例”中输入“1”。步骤6:在“排序依据”选项卡中双击“选定字段”列表框中的“’Employee.职员号”字段,将字段添加到“排序条件”列表框中;再双击“选定字段”列表框中的“Order.金额”字段,将字段添加到“排序条件”列表框中,在“排序选项”中选择“降序”单选项;以viewone名保存视图。如果需要查看创建该视图对应的SQL代码,可以单击“视图设计器工具栏”中的“SQL”图标按钮。步骤7:在命令窗口执行如下SQL查询命令语句保存查询结果:(2)步骤1:在命令窗口执行命令:OPENDATABASESALARYDB,打开数据库环境。步骤2:在命令窗口执行命令:MODIFYCOMMANDT1,打开程序文件编辑器编写视图定义代码。步骤3:在编辑器中输入如下程序代码(以下代码由视图设计器牛成,在视图设计器中按题目要求对“字段”和“排序依据”选项卡进行设置,设置完成后,单击视图设计器工具栏上的“SQL”图标按钮,即可看到该视图对应的如下代码,直接将其复制到程序编辑器中):步骤4:单击“常用”工具栏中的“运行”按钮,保存并运行程序。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)将customerl表中的全部记录追加到customer表中,然后用SQLSELECT语句完成查询:列出目前有订购单的客户信息(即有对应的orderlist记录的customer表中的记录),同时要求按“客户号”升序排序,并将结果存储到results表中(表结构与customer表结构相同)。(2)打开并按如下要求修改forml表单文件(最后保存所做的修改):①在“确定”命令按钮的Click事件(过程)下的程序有两处错误,请改正。②设置Text2控件的有关属性,使用户在输入口令时显示“*”(星号)。标准答案:(1)步骤1:命令窗口执行:SELECT*FROMcustomer1INTOARRAYtempINSERTINTOcustomerFROMARRAYtemp将customer1表中的记录全部复制到customer表中。步骤2:在命令窗口执行命令:1SELECTDISTINCTCustomer.*;&&DISTINCT短语的功能是消除查询结果中相同的记录2FROM订货管理!customerINNERJOIN订货管理!orderlist;3ONcustomer.客户号=order_list.客户号4oRDERBYcustomer.客户号;5INTOTABLEresults.dbf(2)步骤1:命令窗口执行:MODIFYFORMforml,打开表单.设计器修改表单。步骤2:“确定”按钮的Click事件中代码如下:&&功能:如果用户输入的用户名和口令一致,则在提示信息后关闭该表单.&&否则重新输入用户名和口令1**********ERROR*******************IFTHISFORM.TEXTl=THISFORM.TEXT22WAIT"炊迎使刚……"WINDOWTIMEOUT13**********ERROR*******************THISFORM.CLOSE4ELSE5WAIT用户名或口令不对,请重新输入……"WINDOWTIMEOUT16ENDIF修改后的代码如下:1IFTHISFORM.TEXTl.VALUE=THISFORM.TEXT2.VALUE&&原代码语句中缺少指定VALUE属性2WAIT"欢迎使用……"WINDOWTIMEOUT13THISFORM.RELEASE&&关闭表单的短语是RELEASE,而不是CLOSE4ELSE5WAIT"用户名或口令不对,请厦新输入……”WINDOWTIMEOUT16ENDIF步骤3:修改文本框(TEXT2)控件Passwor.dChar属性值为:*。步骤4:单击“常用”工具栏中的“运行”按钮查看结果,将表单文什保存剑考生文件夹下。知识点解析:(1)本题考查SQL联接查询。customer(客户表)和orderlist(订单表)的联接条件为两个表中“客户号”相等的记录,表示在customer表中的客户在orderlist表中有订购记录;由于一个客户可能对应多条订购记录,需要使用DISTINCT短语消除结果中重复的记录。排序用ORDERBY,降序为DESc,默认升序(ASc),将查询结果保存到表中使用工NTOTABLE短语。还可以通过查询设计器中生成SQL代码。(2)本题主要考查了表单属性及方法。文本框中显示的数据值可通过value属性获得,本题源程序中,第一处错误是缺少该属性。例如,“THISFORM.TEXTl”只能表示表单中的一个控件。第二处错误是对表单常用方法的考查。用来释放和关闭表单的方法是Release,而并非Close。三、综合应用题(本题共1题,每题1.0分,共1分。)3、设计一个表单名为myform2的表单,表单文件名为myform2,表单的标题为“教师课程学生基本信息浏览”。表单上有1个包含3个选项卡的“页框”(Pageframel)控件和一个“退出”按钮(Commandl),如图3—20所示。其他功能要求如下:①为表单建立数据环境,向数据环境依次添加“学生”表、“班级”表和“教师”表。②要求表单的高度为300,宽度为500;表单显示时自动在主窗口内居中。③3个选项卡的标签的名称分别为“学生表”(Pagel)、“班级表”(Page2)和“教师表”(Page3),每个选项卡分别以表格形式浏览“学生”表、“班级”表和“教师”表的信息。选项卡距离表单的左边距为20,顶边距为15,选项卡的高度为240,宽度为450。④单击“退出”按钮时关闭表单。标准答案:步骤1:命令窗口执行:CREATEFORMmvform2,打开表单设计器新建表单。向表单添加一个命令按钳和一个页框控件。步骤2:选择表单对象,修改对象属性值,间表4—26。步骤3:右击表单选择【数据环境】,在表单数据环境中右击选择【添加】,在“添加表或视图”中双击“学生”、“班级”和“教师”表,将表添加到数据环境中。步骤4:右击“页框”控件,选择【编辑】,让页框处于编辑状态,再将数据环境中的三个数据表分别拖到三个对应的页面中,如图4—42所示。(注意:在操作过程中,当独立的页面被选中时,页框处于编辑状念,在页框四周会出现蓝色边框:另外,表单设计器窗口应为“还原”状态,而非最大化窗口)步骤5:双击“退出”命令按钮,编写按钮的Click事件代码:THISFORM.RELEASE。步骤6:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。知识点解析:本题主要考查的是表单中页框控件的使用,以及表单数据环境的使用。通过拖放表单数据环境中的表到表单中,可快速建立表格及表格与数据表的联系,要注意的是在向每个页面中添加表格数据对象时,一定要注意页面处于编辑状态下(每个页面都可单独选定),否则该表格实际是包含在表单中而非添加到页框的页面中。控制页框中页面数的属性为Paqecount。国家二级VF机试(操作题)模拟试卷第5套一、基本操作题(本题共2题,每题1.0分,共2分。)1、在考生文件夹下完成下列操作。(1)新建“机票”数据库,将考生文件夹下的所有自由表添加到该数据库中。(2)在“机票”数据库中的“机票打折”表中设置“折扣”字段的有效性规则只能为“1和10之间的数值”(含1和10)。(3)为“机票价格”表的“序号”字段创建一个主索引,“机票打折”表的“序号”字段创建一个普通索引,索引表达式都为“序号”,以上索引都为升序。然后为“机票价格”和“机票打折”表创建永久联系,并设置参照完整性约束,更新规则为“级联”,其他默认。(4)新建一个项目“机票系统”,将“机票”数据库添加进该项目。标准答案:(1)【操作步骤】步骤1:单击常用工具栏中的“新建”按钮,在弹出的“新建”对话框中选择“文件类型”中的“数据库”单选按钮,单击“新建文件”按钮。在打开的“创建”对话框中输入数据库名“机票”,单击“保存”按钮,如图4.1所示。步骤2:在数据库设计器中单击鼠标右键,在弹出的快捷菜单中选择“添加表”命令,在“打开”对话框中依次选择要添加的数据表,单击“确定”按钮,如图4.2所示。(2)【操作步骤】步骤1:在“机票”数据库设计器中的“机票打折”表上单击鼠标右键,在弹出的快捷菜单中选择“修改”命令,如图4.3所示。步骤2:然后在弹出的表设计器的“字段”选项卡中,选中“折扣”字段,在“规则”文本框中输入“折扣=>1.AND.折扣<=10”,单击“确定”按钮,再在弹出的“表设计器”对话框中,单击“是”按钮,如图4.4所示。(3)【操作步骤】步骤1:在“机票”数据库设计器中的“机票价格”表上单击鼠标右键,在弹出的快捷菜单中选择“修改”命令,将“序号”字段的索引设置为“升序”。切换到“索引”选项卡,将“类型”中的“普通索引”改为“主索引”,单击“确定”按钮,如图4.5所示;再在弹出的“表设计器”对话框中,单击“是”按钮。步骤2:在“机票打折”表上单击鼠标右键,在弹出的快捷菜单中选择“修改”命令,将“序号”字段的索引设置为“升序”,在“索引”选项卡中确认“类型”为“普通索引”,单击“确定”按钮,如图4.6所示;再在弹出的“表设计器”对话框中,单击“是”按钮。步骤3:在数据库设计器中,选中“机票价格”表中的主索引“序号”,按住鼠标左键,并拖动鼠标到“机票打折”表的索引“序号”上,释放鼠标即可建立两表间的联系。步骤4:选择“数据库”一“清理数据库”菜单命令,首先清理数据库;在已建立的关系线上单击鼠标右键.在弹出的快捷菜单中单击“编辑参照完整性”选项,在“参照完整性生成器”对话框中,选中“更新规则”选项卡下.的“级联”单选按钮,其他默认。单击“确定”按钮,保存改变,生成参照完整性代码并退出,如图4.7所示。(4)【操作步骤】步骤1:单击常用工具栏中的“新建”按钮,在弹出的“新建”对话框中选择“项目”单选按钮,再单击“新建文件”按钮;在打开的“创建”对话中输入文件名“机票系统”,单击“保存”按钮。步骤2:在弹出的“项目管理器”对活框中,选择“数据”选项卡下的“数据库”选项,单击“添加”按钮;在“打开”对话框中将刚刚建立的“机票”数据库添加到项目中,如图4.8所示。知识点解析:暂无解析2、请在考生文件夹下完成下列基本操作题。(1)新建一个名为“影院管理”的项目文件,将数据库TheatDB加入新建的“影院管理”项目中。(2)为“售票统计”表建立主索引,索引名为idx,要求按日期排序,日期相同时按放映厅排序。(3)为“售票统计”表设置有效性规则:“座位总数”必须大于等于“售出票数”;错误提示信息是“售出票数超过范嗣”。(4)修改报表myReport,按“日期”分组统计每天的总售出票数,显示在每天的末尾。具体要求是:在组注脚添加一个标签对象,其文本为“总售出票数”,另外添加一个域控件,显示每天的总售出票数。标准答案:(1)【操作步骤】步骤1:单击常用工具栏中的“新建”按钮,在弹出的“新建”对话框中,选择“文件类型”中的“项目”按钮,单击“新建文件”按钮。在打开的“创建”对话框中输入文件名“影院管理”,单击“保存”按钮。步骤2:在项目管理器中,切换到“数据”选项卡,选择“数据库”选项,单击“添加”按钮,在弹出的“打开”对话框中选择数据库TheatDB,单击“确定”按钮将其加入项目管理器,如图4.16所示。(2)【操作步骤】步骤1:在项目管理器的“数据”选项卡中,选择TheatDB数据库,单击“修改”按钮,打开数据库设计器,如图4.17所示。步骤2:选中“售票统计”表,单击鼠标右键,在弹出的快捷菜单中选择“修改”命令,打开表设计器。步骤3:切换到“索引”选项卡,为表建立索引,索引名为“idx”,类型为“主索引”,表达式为“DTOC(日期)+放映厅”,单击“确定”按钮,确定更改表结构,如图4.18所示。(3)【操作步骤】步骤1:在数据库设计器中,选择表“售票统计”并单击鼠标右键,在弹出的快捷菜单中选择“修改”命令。步骤2:在打开的表设计器中,选择“座位总数”字段,在“字段有效性”的“规则”框中输入“座位总数>=售出票数”;在“信息”中输入“售出票数超过范围”,最后单击“确定”按钮,确定更改表结构即可,如图4.19所示。(4)【操作步骤】步骤1:单击常用工具栏中的“打开”按钮,在“打开”对话框中选择报表“myReport”,单击“确定”按钮将其打开。步骤2:在报表设计器中,单击“报表控件”工具栏中的标签按钮,在组脚注带区单击插入标签,并输入“总售出票数”。步骤3:在“报表控件”工具栏中单击域控件按钮,在组脚注带区单击鼠标左键,在打开的“报表表达式”对话框中单击“表达式”文本框右侧的对话按钮,在打开的“表达式生成器”对话框的“字段”列表中双击“售票统计.售出票数”,然后单击“确定”按钮返同“报表表达式”对话框。步骤4:单击“计算”按钮,在“计算字段”对话框中选择“计算”组中的“总和”选项,再单击“确定”按钮;返回到“报表表达式”对话框,单击“确定”按钮,如图4.20所示。知识点解析:暂无解析二、简单应用题(本题共2题,每题1.0分,共2分。)3、在考生文件夹下完成下列操作。(1)扩展基类ListBox,创建一个名为MyListBox的新类。新类保存在名为Myclass1ib的类库中,该类库文件存放在考生文件夹下。设置新类的Height属性的默认值为130,Width属性的默认值为150。(2)在考生文件夹下利用查询设计器创建一个查询,从“售票处”表中查询“海淀区”的所有销售点信息。查询结果包含销售点的名称、地址和电话3个字段;各记录按“名称”降序排序;查询去向为表tjp,最后将查询保存在qa.qpr文件中,并运行该查询。标准答案:(1)【操作步骤】步骤1:选择“文件”一“新建”命令,在弹出的“新建”对话框中,选择“类”单选按钮,单击“新建文件”按钮,弹出“新建类”对话框。步骤2:在“类名”文本框中输入MyListBox,在“派生于”下拉列表中选择ListBox,在“存储于”文本框中输入文件名Myclass1ib,单击“确定”按钮,如图4.9所示。步骤3:经上述操作,打开“类设计器”窗口,进入类没计器环境。在属性窗口中,设置Height属性的默认值为130,Width属性的默认值为150,如图4.10所示。(2)【操作步骤】步骤1:单击工具栏中的“新建”按钮,在弹出的“新建”对话框中选择“文件类型”中的“查询”,单击“新建文件”按钮;在弹出的“打开”对话框中选择“售票处”表,单击“确定”按钮,在“添加表或视图”对话框中,单击“关闭”按钮,如图4.11所示。步骤2:在查询设计器的“字段”选项卡中选择“售票处,名称”“售票处,地址”和“售票处.电话”字段,单击“添加”按钮;切换到“筛选”选项卡,“字段名”选择“售票处.所属区”,“条件”选择“=”,在“实例”中输入“海淀区”,如图4.12所示。步骤3:切换到“排序依据”选项卡,选择字段“售票处.名称”,在“排序选项”处选择“降序”,单击“添加”按钮,如图4.13所示。步骤4:单击“查询”菜单下的“查询去向”命令,在“查询去向”对话框中选择“表”,输入表名“tjp.dbf”,单击“确定”按钮,如图4.14所示。步骤5:单击工具栏中的“保存”按钮,在“另存为”对话框中将查询保存为qa.qpr。单击工具栏中的“运行”按钮运行查询。知识点解析:暂无解析4、在考生文件夹下完成下列操作。(1)在TheatDB数据库中新建一个名为“好评”的视图,视图的功能是查询2013年7月1日以后(不含)观看的“影评”为“好”的评价数最多的前10名的电影信息;查询结果包含电影编号、电影名、类型和评价数;各记录按照评价数降序排列,若评价数相同则按电影名升序排列。最后利用刚创建的视图“好评”查询视图中的全部信息,并将结果保存到表estimate中。(2)创建一个快捷菜单MyMenu,实现如下图所示的功能,即通过右击表单MyForm中的文本框时弹出的快捷菜单实现文本框字体的设置。具体要求如下:①在MyMenu的“设置”代码中添加接受参数语句:PARAMETERSmfRef。②在快捷菜单MyMenu中添加“宋体”“黑体”和“楷体”菜单项,分别实现将调用快捷菜单的控件或对象的字体名属性(FontName)设置为“宋体”“黑体”和“楷体”,这些功能都通过执行“过程”完成。③生成菜单程序文件。④打开表单MyForm,在文本框Text1的RightClick事件代码中添加调用快捷菜单MyMenu的命令,实现通过快捷菜单设置Text1文本字体的功能。标准答案:(1)【操作步骤】步骤1:打开TheatDB数据库,在数据库设计器中单击鼠标右键,选择“新建本地视图”命令,在弹出的“新建本地视图”对话框中单击“新建视图”按钮,然后为该视图添加表“电影”和“观看”。步骤2:在“字段”选项卡的“nr用字段”列表框中双击“电影.电影编号”“电影.电影名”和“电影,类型”三个字段,使其添加到“选定字段”列表框中;在“函数和表达式”文本框中输入“count(观看.影评)AS评价数”,并将其添加到“选定字段”中,结果如图4.21所示。步骤3:切换到“筛选”选项卡,在“字段名”列选择“观看,观看日期”,在“条件”列选择“>”,在“实例”列输入“{^2013-07-01|”;在“逻辑”下拉列表中选择“AND”,然后在下一行“字段名”列选择“观看.影评”,在“条件”列选择“=”,在“实例”列输入“好”,结果如图4.22所示。步骤4:切换到“排序依据”选项卡,双击“count(观看.影评)”字段,排序选项为“降序”;再双击“电影,电影名”字段,排序选项为“升序”,结果如图4.23所示。步骤5:切换到“分组依据”选项卡,双击“可用字段”中的“电影.电影编号”添加到“分组字段”中,结果如图4.24所示。步骤6:切换到“杂项”选项卡,取消“全部”复选框的勾选,在“记录个数”微调框中输入“10”,如图4.25所示。步骤7:单击工具栏中的“保存”按钮,在弹出的“保存”对话框中将视图名称保存为“好评”。步骤8:单击工具栏上的“新建”按钮,在“文件类型”中选择“查询”,单击“新建文件”按钮;在“添加表或视图”对话框中,选择“视图”单选按钮,单击“添加”按钮,然后关闭该对话框,如图4.26所示。步骤9:存查询设计器的“字段”选项卡中,将“可用字段”列表中的字段全部添加到“选定”字段,结果如图4.27所示。步骤10:单击“查询”菜单中的“查询去向”命令,在“查询去向”对话框中单击“表”按钮,在“表名”后输入表名“estimate”,单击“确定”按钮;单击工具栏中的“运行”按钮,运行查询。(2)【操作步骤】步骤1:单击常用工具栏中的“新建”按钮,在“新建”对话框中选择“菜单”,单击“新建文件”按钮;在打开的“新建菜单”对话框中单击“快捷菜单”按钮。步骤2:在快捷菜单设计器中,设置“菜单名称”分别为“宋体”“黑体”和“楷体”,“结果”均为“过程”,如图4.28所示。步骤3:分别单击三个菜单项后面的“创建”按钮,编写对应的过程代码。“宋体”菜单项中的代码:myform.Text1.FontName="宋体"“黑体”菜单项中的代码:myform.Text1.FontName="黑体"“楷体”菜单项中的代码:myform.Text1.FontName="楷体"步骤4:选择“显示”菜单中的“常规选项”命令,弹出“常规选项”对话框,在“菜单代码”组中勾选“设置”复选框,在“过程”列表框中输入“PARAMETERSmfRef”,最后单击“确定”按钮,如图4.29所示。步骤5:单击工具栏中的“保存”按钮,将菜单以MyMenu为文件名进行保存。选择“菜单”菜单中的“生成”命令,生成可执行菜单。步骤6:打开考生文件夹下的表单MyForm,在表单设计器中双击文本框控件,在“过程”下拉列表框中选择RightClick过程,输入命令“DOmymenu.mpr”,如图4.30所示。步骤7:保存表单并运行,在文本框处单击鼠标右键,依次执行三个菜单项中的命令。知识点解析:暂无解析三、综合应用题(本题共2题,每题1.0分,共2分。)5、在考生文件夹下完成下列操作。为了查询低价机票,清设计一个表单myform.scx,其界面如下图所示:表单控件名为formone,表单的标题为“机票折扣查询”。表单左侧有1个标签控件Lahclone用于显示内容“输入折扣”,1个文本框控件Text1用于输入要查询的折扣,2个命令按钮Commanda和Commandb分别显示“查询”和“退出”,以及一个表格控件Gridone。表单运行时,用户首先在文本框中输入折扣“5”,然后单击“查询”按钮,如果输入正确,在表单右侧以表格形式显示低于此折扣(含)的信息,显示字段包括航班、价格、折扣和当前价格(价格*折扣/10),按折扣升序排序,折扣相同时按价格升序排序,并将此信息存入t.dbf文件中。单击“退出”按钮将关闭表单。标准答案:【操作步骤】步骤1:单击工具栏中的“新建”按钮,选择“文件类型”中的“表单”,单击“新建文件”按钮;在表单上添加一个标签,一个文本框,两个命令按钮,一个表格控件。步骤2:在“表单设计器”中单击鼠标右键,在弹出的快捷菜单中选择“数据环境”,将“机票打折”表和“机票价格”表添加到数据环境设计器中。步骤3:通过属性窗口设置表单及各控件的属性。步骤4:选中表格控件,单击鼠标右键,在弹出的快捷菜单中选择“编辑”命令;选中列标题,在属性窗口中,通过Caption属性将表格控件的列标题分别修改为“航班”“价格”“折扣”“当前价格”,结果如图4.15所示。步骤5:双击“查询”按钮,在Click事件中输入以下查询语句。THISFORM.Gridone.RecordSource="SELECT航班,价格,折扣,价格*机票打折,折扣/10AS当前价格;FROM机票价格,机票打折;WHERE机票价格,序号=机票打折.序号AND折扣<=val(thisform.textl.value);ORDERBY折扣,价格;INTOTABLE七"然后关闭代码窗口。步骤6:双击“退出”按钮,打开Click事件窗口,在窗口中输入以下语句。Thisform.release然后关闭代码窗口。步骤6:保存表单为myform.scx。步骤7:运行表单,在文本框中输入“5”,然后单击“查询”按钮,再单击“退出”按钮关闭表单。知识点解析:暂无解析6、在考生文件夹下完成下列操作。(1)建立一个文件名和表单名均为formFilm的表单,表单中包括一个标签(Labell)、一个下拉列表框(Combol)、一个表格(Grid1)和两个命令按钮“查询”和“退出”(Command1和Command2),Labell的标题为“电影类型”,Grid1的RecordSourceType值为4(SQL说明)。(2)将下拉列表框(Combol)的RowSource和RowSourceType属性手1:指定为“se1ectdistinct类型from电影intocursormyList”和“3”。(3)为“查询”命令按钮编写Click事件代码,其功能是:表单运行时,根据下拉列表框(Combol)选定的电影类型,在表格(Grid1)中按照观看日期的降序和观众名升序显示观看该类型的电影名、观众名、观看日期和影评,并将结果存储到自由表watch.dbf中。(4)运行表单,在下拉列表框中选择“武侠”,查询该类型的观看信息。标准答案:【操作步骤】步骤1:单击工具栏中的“新建”按钮,选择“表单”,单击“新建文件”按钮。步骤2:在窗体上添加一个标签,一个下拉列表框,两个按钮,一个表格控件。步骤3:通过属性窗口设置表单及各控件的属性,具体属性设置如下表所示,结果如图4.31所示。步骤4:双击“查询”按钮,打开Click事件窗口,在窗口中输入以下语句。THISFORM.Grid1.RecordSource="SELECT电影,电影名,观看,观众名,观看,观看日期,观看.影评;FROMtheatdb!电影INNERJOINtheatdb!观看;ON电影.电影编号=观看,电影编号;WHERE电影.类型=thisform.combo1.value;ORDERBY观看.观看日期DESC,观看.观众名;INTOTABLEwatch.dbfn然后关闭代码窗口。步骤5:双击“退出”按钮,打开Click事件窗口,在窗口中输入以下语句。Thisform.release然后关闭代码窗口。步骤6:保存表单为formFilm.scx。步骤7:运行表单,在下拉列表框中选择“武侠”,然后单击“查询”按钮,最后单击“退出”按钮。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第6套一、基本操作题(本题共1题,每题1.0分,共1分。)1、(1)建立菜单query_menu。该菜单只有“查询”和“退出”两个主菜单项(条形菜单),其中单击菜单项“退出”时,返回到VFP系统菜单(相应命令写在命令框中,不要写在过程中)。(2)将COURSE表的“开课系部”字段名改为“开课单位”,其余不变。(3)从数据库score_manager中移去表temp2.dbf(不是删除)。(4)将scorel表中记录按学号从低到高排序,在学号相同的情况下再按成绩从高到低排序,排序结果存入表NEW_ORDER。标准答案:(1)①命令窗口执行:CREATEMENUquery_menu,在“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。②在“菜单名称”列的文本框中依次输入“查询”和“退出”两个主菜单名,在“退出”菜单“结果”下拉框中选择为“命令”,在后面的文本框中输入命令:SETSYSMENUTODEFAULT。(2)①在命令窗口执行命令:MODIFYDATABASESCORE_MANAGER,打开数据库设计器。②右击course表,选择【修改】,打开表设计器,将“字段”选项卡中的“开课系部”字段名修改为“开课单位”,单击“确定”按钮保存。(3)右击temp2表,选择【删除】,弹出提示对话框中单击“移去”,接着弹出的提示对话框中单击“是”,将temp2表从数据库中移去。(4)在命令窗口执行:SELECT*FROMSCORElORDERBY学号,成绩DESCINTOTABLENEWORDER。菜单设计器的使用;使用数据库;SQL简单查询。知识点解析:本题考查了菜单的建立、表结构的修改、数据库设计器的使用和SQL查询语句。当将数据库表从数据库申移去后,就成为自由表。二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)在score_manager数据库中统计选修了课程的学生人数(选修多门时,只计算1次),统计结果保存在一个新表newtable中,表中只有一个字段,字段名为学生人数。(2)使用一对多报表向导建立报表。要求:父表为“学生”,子表为“课程”,从父表中选择“姓名”字段,从子表中选择全部字段,两个表通过“学号”建立联系;按“学号”降序排序;生成的报表名为studentreport。标准答案:(1)在命令窗口执行如下命令:SELECTCount(distinct学号)AS学生人数;FROMscorel;intotableNEWTABLESQL简单查询。(2)步骤1:命令窗口执行:OPENDATABASESCOREMANAGER,打开score_manager数据库。步骤2:执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“报表”选项,单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“一对多报表向导”项,单击“确定”按钮,启动报表向导。步骤3:“步骤1.从父表选择字段”中,单击“数据库和表”列表框右侧的省略号,在“打开”对话框中选“学生”表,再单击“确定”按钮,将“可用字段”中的“姓名”字段添加到“选定字段”中,单击“下一步”。步骤4:“步骤2.从子表选择字段”中,单击“数据库和表”列表框右侧的省略号,在“打开”对话框中选“课程”表,再单击“确定”按钮,将“可用字段”全部添加到“选定字段”中,单击“下一步”按钮。步骤5“步骤3.为表建立关系”中系统自动建立两个表的联系,单击“下一步”按钮。步骤6:“步骤4.排序记录”中双击“可用的字段或索引标识”中的“学号”字段到“选定字段”列表中,再选择“降序”,单击“下一步”按钮。步骤7:“步骤5.选择报表样式”中单击“下一步”。步骤8:“步骤6.完成”中单击“完成”按钮。步骤9:在“另存为”对话框的“保存报表为:”框中输入表单文件名st:udentreport,单击“保存”按钮。创建简单报表。知识点解析:(1)本题主要考查了SQL查询。因为一个学生可能选修多门课程,所以只需要求出scorel表中不重复学号的个数,即得到选修了课程的学生人数。Count函数用来计数,distinct短语用来去除重复值。(2)本题主要考查的是报表向导的使用。根据向导提示一步步完成即可。三、综合应用题(本题共1题,每题1.0分,共1分。)3、score_manager数据库中含有3个数据库表student、scorel和course.为了对score_manager数据库数据进行查询,设计一个表单myform3(控件名为forml,表单文件名为myform3)。表单标题为“成绩查询”;表单有“查询”(名称为commandl)和“退出”(名称为command2)两个命令按钮。表单运行时,单击“查询”按钮,查询每门课程的最高分,查询结果中含“课程名”和“最高分”字段,结果按课程名升序保存在表new_table3。单击“退出”按钮,关闭表单。注意:完成表单设计后要运行表单的所有功能。标准答案:步骤1:命令窗口执行:OPENDATABASEscore_manager,打开score.manager数据库。步骤2:命令窗口执行:CREATEFORMmyform3,打开表单设计器新建表单。步骤3:向表单添加两个命令按钮控件。修改对象属性值。见表4—36。步骤4:编写各个命令按钮的Click事件代码如下:*****“查询”按钮的Click事件代码*****SELECTCourse.课程名,MAX(Scorel.成绩)as最高分;FROMscoremanager!courseINNERJOINscoremanager!scorel;ONCourse.课程号=Scorel.课程号;GROUPBYScorel.课程号;ORDERBYCourse.课程名;INTOTABLEnewtable3.dbf*****“退出”按钮的Click事件代码*****THISFORM.RELEASE步骤5:单击“常用”工具栏中的“运行”按钮运行表单。表单的事件、方法和属性;基本型控件:SQL分组与计算查询。知识点解析:本题主要考查了表单及控件的常用属性的设置:SQL联接查询和分组计算查询。SQL查询用了scorel和course两张表,求每门课程的最高分,按照“课程号”分组,求最大值用MAX函数。国家二级VF机试(操作题)模拟试卷第7套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下,完成如下操作:1.打开考生文件夹下的表单one,如下图所示,编写“显示”命令按钮的Click事件代码,使表单运行时单击该命令按钮则在Text1文本框中显示当前系统日期的年份(提示:通过设置文本框的Value属性实现,系统日期函数是date(),年份函数是year())。2.打开考生文件夹下的表单two,如下图所示,选择“表单”菜单中的“新建方法程序”命令,在“新建方法程序”对话框中,为该表单新建一个test方法,然后双击表单,选择该方法编写代码,该方法的功能是使“测试”按钮变为不可用,即将该按钮的Enabled属性设置为.F.。3.创建一个名为study_report的快速报表,报表包含表“课程表”中的所有字段。4.为“教师表”的“职工号”字段增加有效性规则:职工号左边3位字符是110,表达式为:LEFT(职工号,3)="110"。标准答案:(1)利用“文件”菜单下的“打开”命令来打开表单one,或使用命令“MODIFYFORMone”打开表单one。在“显示”命令按钮的Click事件中输入代码“thisform.textl.value=year(date())”,如图3.105所示。保存并运行修改后的表单,查看运行结果。(2)打开表单two,在“表单”菜单中选择“新建方法程序”命令,新建一个名为test的方法。在属性窗口中双击此方法,在弹出的窗口中编写用户自定义过程代码“ThisForm.Command1.Enabled=.F.”,在表单设计器环境下双击“测试”命令按钮,编写Click事件代码“ThisForm.Test”,如图3.106所示。保存并运行修改后的表单,查看运行结果。(3)创建一个快速报表,如图3.107所示。预览该报表,查看设计后的效果。(4)在命令窗口输入命令“altertable教师表alter职工号setcheckLEFT(职工号,3)="110"”,按下回车键。知识点解析:打开表单,在表单设计器环境下修改控件的相关属性,为命令按钮编写Click事件代码;在“新建方法程序”对话框中为表单新建方法;在报表设计器中创建快速报表;通过ALTERYABLE命令为字段增加有效性规则。二、简单应用题(本题共1题,每题1.0分,共1分。)2、1.在考生文件夹下存在表单文件formone.SCX,其中包含一个列表框、一个表格和一个命令按钮,如下图所示。按要求完成相应的操作:(1)将orders表添加到表单的数据环境中。(2)将列表框List1设置成多选,并将其RowSourceType属性值设置为“8一结构”、RowSource属性值设置为orders。(3)将表格Gridl的RecordSourceType的属性值设置为“4一SQL说明”。(4)修改“显示”按钮的Click事件代码,使得当单击该按钮时,表格Gridl内将显示在列表框中所选orders表中指定字段的内容。2.利用查询设计器创建一查询,要求从orders、employee和customer表中查询2001年5月1日(含)以后所签订单的所有信息。查询结果依次包含“订单号”、“签订日期”、“金额”、“签订者”和”客户名”5项内容,其中“签订者”为签订订单的职员姓名。各记录按签订日期降序排列,若签订日期相同按金额降序排序;查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。标准答案:(1)步骤1:打开表单formone,在表单的空白处单击鼠标右键,将Orders表添加到表单的数据环境中。步骤2:修改列表框和表格的属性,如图3.81所示。步骤3:双击“显示”按钮,修改其Click事件代码。错误1:FORi=1TOthisform.List1.ColumnCount修改为:FORi=1TOthisform.List1.ListCount错误2:s=thisform.List1.value修改为:s=thisform.List1.List(i)错误3:s=s+thisform.List1.value修改为:s=s+","+thisform.List1.List(i)步骤4:保存并运行表单查看结果。(2)步骤1:单击常用工具栏中的“新建”按钮,新建查询,将表“orders”、“employee”和“customer"添加到查询中。步骤2:分别选择字段“orders.订单号”、“orders.签订日期”、“orders.金额”和“customer.客户名”,添加到可用字段中;然后在“函数和表达式”文本框中输入“employee.姓名as签订者”,并添加到可用

温馨提示

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

评论

0/150

提交评论