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

下载本文档

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

文档简介

国家二级VF机试(操作题)模拟试卷8(共9套)(共27题)国家二级VF机试(操作题)模拟试卷第1套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下完成下列操作:(1)使用报表向导为“职工”表创建一个报表one,选择“职工”表的所有字段,报表样式选择简报式,按“职工号”为升序排列,其他选项取默认值。(2)建立一个如图3.5所示的菜单mymenu,注意要生成菜单。(3)新建数据库文件mydata,并将“教师”表加入其中。(4)使用SQLCreace命令建立“学生”表,“学生”表中包括学号(C10)、姓名(C16)和年龄(1)字段,学号为主关键字。命令存储于文件。mypro.prg中。标准答案:【操作步骤】(1)①启动报表向导可通过“文件”菜单中选择“新建”子菜单或者单击工具栏上的“新建”按钮,打开“新建”对话框,文件类型选择“报表”。②单击“向导”图标按钮,弹出“向导选取”对话框,选择“报表向导”,单击“确定”按钮,如图4-49所示。③单击“确定”按钮后,弹出“报表向导-步骤1”对话框,单击“自由表”后面的按钮,找到“职工”表并打开,如图4.50所示。④把“可用字段”列表框中的5个字段全部移动到右边的“选定字段”列表框,完成字段的选取。⑤字段选取完成后,单击“下一步”按钮,进入步骤2,保持默认值,继续单击“下一步”按钮进入步骤3,报表样式选择“简报式”,如图4-51所示。⑧单击“下一步”按钮,进入步骤4,采取默认设置,不需要改动。单击“下一步”按钮,进入步骤5,设置排序,按“职工号”升序排列,如图4.52所示。⑦单击“完成”按钮,弹出另存为对话框,输入报表文件名“one.frx”,保存到考生文件夹。(2)①建立菜单可以使用菜单命令的方式,选择“文件”菜单下的“新建”自命令,弹出“新建”对话框,文件类型选择“菜单”。②单击“新建文件”图标按钮弹出“新建菜单”对话框,单击“菜单”图标按钮,打开菜单设计器。③在菜单设计器中建立各菜单项,菜单名称分别为:“打开文件”、“关闭文件”和“退出(\知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)打开testdb数据库,根据表dept和表sell并使用查询设计器设计一个名称为three的查询,按“年度”分部门(按年度和部门分组)统计“月平均销售”(通过销售额计算)、“月平均工资”(通过工资额计算)和“月平均利润”(通过“月平均销售一月平均工资”计算)。查询统计结果按“部门号”、“年度”升序排序,并将查询结果输出到表‘tabb中。表tabb的字段名依次为:“部门号”、“部门名”、“年度”、“月平均销售”、“月平均工资”、“月平均利润”。设计完成后,运行该查询。(2)打开文件名为testa的表单。该表单完成如下功能:每当用户输入用户名和口令并按“确认”按钮后,利用表pass中记录检查其输入是否正确,若正确,就显示“欢迎使用本系统!”字样,并关闭表单;若不正确,则显示“用户名或口令不对,请重输入!”字样;如果三次输入不正确,就显示“用户名或口令不对,登录失败!”字样,并关闭表单。①修改口令输入文本框,使输入的口令显示为“*”。②修改该表单“确认”按钮的Click事件中的程序。请将第3、4和12行语句修改正确。修改时不允许增加或删除行,只能在错误行上进行修改。标准答案:(1)【操作步骤】步骤1:命令窗口执行:CREATEQUERYthree,打开查询设计器,将考生文件夹下的dept表和sell表添加到查询设计器中。步骤2:添加两个表后,系统弹出“联接条件”对话框,自动查找两个表中相匹配的字段进行联接,单击“确定”。步骤3:依次双击dept表中的“部门号”、“部门名”字段和sell表中的“年度”字段添加到“字段”选项卡的“选定字段”列表中,在“函数和表达式”框中输入:AVG(Sell.销售额)AS月平均销售,再单击“添加"按钮,将表达式添加到“选定字段”列表中,以同样的方法,再添加“AVG(Sell工资额)AS月平均工资”和“AVG(Sell.销售额一Sell.工资额)AS月平均利润”两个表达式到“选定字段”列表框中。步骤4:“排序依据”中,双击“选定字段”中的“Dept.部门号"和“Sell.年度”字段,添加到“排序条件”列表框。步骤5:“分组依据”选项卡内,依次双击“选定字段”列表框中的“Dept.部门号”和“Sell.年度”字段,将字段添加到“分组字段”列表框中。步骤6:执行【查询】→【查询去向】菜单命令,在“查询去向”中单击“表”图标按钮,在“表名”中输入文件名tabb,单击“确定”按钮。步骤7:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。(2)【操作步骤】步骤1:命令窗口执行:MODIFYFORMtesta,打开表单设计器修改表单。步骤2:选中第二个文本框(Text2),设置PaSswordChaur属性值为:*。步骤3:“确认”按钮的Click事件中代码如下:*在下面的程序中,第3、4、12行语句不正确,请修改!*注意:修改时不允许增加或删除行,只能在错误行上进行修改!USEDBssKevl=ALLTRIM(ThisForm.text1.value)Kev2=ALLTRIMfThisForm2)LISTALLWHILEUSER=Key1IFFOUND()ANDPASS=Key2WAIT“欢迎使用本系统!”WINDOWTIMEOUT1thisform.releaseENDIF步骤4:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下,打开资源数据库frdb,完成如下综合应用:设计一个表单控件名为form、表单文件名为frshow、表单标题名为“农户资源数据浏览”的表单,其表单界面如图3.23所示。其他要求如下:①为表单建立数据环境,向数据环境依次添加fr_t表(Cursor1)、p_t表(Cursor2)和treej表(Cursor3)。②当在“户主编号”(Labell)标签右边的文本框(Text1)中输入户主编号并单击“查询”(Command1)按钮时,将在右边的表格控件(Gridl)内显示该农户承包的土地编号、小地名、面积、树种编号、蓄积和承包年度信息(均取自frt表),并在左边相应的文本框中显示该农户的姓名(Text2)、年龄(Text3)、性别(Text4)和家庭地址(Text5)(均取自pt表)。③单击“退出”(Command2)按钮时,关闭表单。要求:表格(Grid1)控件的RecordSourceType属性设置为“4一SQL说明”;使用SQL的SELECT语句将根据输入的户主编号查询到的姓名、年龄、性别和家庭地址数据存放到一维数组tmp中,并将tmp数组诸元素的值赋值到各文本框。标准答案:【操作步骤】步骤1:命令窗口执行:OPENDATABASEfrdb,打开ffdb数据库。步骤2:命令窗口执行:CREATEFORMfrshow,打开表单设计器新建表单。步骤3:右击表单选择【数据环境】快捷菜单命令,继续在表单数据环境中单击右键选择【添加】快捷菜单命令,在“添加表或视图”对话框中依次双击frt表、pt表和treet表,将其添加到数据环境中。步骤4:向表单添加五个标签、五个文本框、一个表格和两个命令按钮。选择表单对象,修改对象属性值,见表4.32。1步骤5:编写各个命令按钮的Click事件代码如下:*****“查询”按钮的Click事件代码*****THISFORM.GRID1.RECORDSOURCE=”;SELECT土地编号.小地名,面积,树种编号,蓄积,承包年度FROMFRT;WHERE户主编号=ALLTRIM(THISFORM.TEXT1.VALUE);INTOCURSORTEMP”SELECT姓名,年龄,性别,家庭地址FROMPT;WHERE户主编号=LLTRIM(THISF.OR.M.TEXT1..VALUE);INTOARRAYTMPTHISFORM.TEXT2.VALUE=TMPl(1)THISFORM.TEXT3,VALUE三TMP(2)THISFORM,TEXT4.VALUE=TMP(3)THISFORM.TEXT5.VALUE=TMP(4)*****“退出”按钮的Click事件代码*****THISFORM.RELEASE步骤6:单击“常用”工具栏中“运行”按钮运行表单。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第2套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下完成如下操作:(1)新建一个名为“供应”的项目文件。(2)将数据库“供应零件”加入到新建的“供应”项目文件中。(3)通过“零件号”字段为“零件”表和“供应”表建立永久联系(“零件”是父表,“供应”是子表)。(4)为“供应”表的数量字段设置有效性规则:数量必须大于0并且小于9999;错误提示信息是“数量超范围”。(注意:公式必须为数量>0.and.数m一<9999)标准答案:【操作步骤】(1)在命令窗口执行命令:CREATEPROJECT供应,新建一个项目管理器。(2)在项目管理器中选中“数据”选项卡内的“数据库”项,然后单击“添加”按钮,在弹出的“打开”对话框中双击“供应零件”数据库文件,将数据库添加到项目管理器中。(3)①在项目管理器中单击“数据库”前面的“+”号,依次展开“数据库”一“供应零件”一“表”。②选中“零件”表单击“修改”按钮,弹出“零件”表设计器,在表设计器的“字段”选项卡中选中“零件号”字段名,然后在“索引”列的下拉框选择“升序”排序方式(此时为表已建立了普通索引),接着在“索引”选项卡中将“类型”设置为“主索引”,单击“确定”按钮保存表结构修改。③参照“零件”表的操作,为“供应”表建立“零件号”字段的普通索引。④在项目管理器中选中数据库“供应零件”,然后单击“修改”命令按钮,打开数据库设计器,拖动“零件”表“索引”下方的主索引“零件号”到“供应”表中“索引”下方的普通索引“零件号”上,为两个表建立联系,建立好联系的两个表之间会出现一条连线。(4)打开“供应”表设计器,选中“数量”字段行,然后在“字段有效性”的“规则”文本框中输入:数量>0.AND.数量<9999,在“信息”框中输入:”数量超范围”,单击“确定”按钮保存表结构修改。如图4.12所示。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)建立一个文件名和表单名均为two的表单,然后为表单two建立一个名为quit的新方法(单击选择表单后,从“表单”菜单中选择“新建方法程序”命令),并在该方法中写一条语句Thisform.release’:最后向表单中添加一个命令按钮(Commandl),并在该命令按钮的Click事件中写一条调用新方法quit的语句。(2)使用SQL语句计算每个歌手的最高分、最低分和平均分,并将结果存储到resuh.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大奖赛!歌手表工NNERJOIN大奖赛!评分表;ON歌手表.歌手编号=评分表.歌手编号;GROUPBY歌手表.歌手姓名;ORDERBY4DESC;INTOTABLEresult知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、建立一个文件名和表单名均为myform的表单文件,表单上有:表格控件gridl(RecordSourceType属性手工设置为“别名”),文本框控件Textl,命令按钮控件Commandl(文本为“确定”)。程序运行时在文本框中输入“部门名”,然后单击“确定”命令按钮计算该部门各年度的“销售额”(合计)和“利润”(合计)(利润为“销售额一工资额”),按“年度”升序将结果(含“年度”、“销售额”和“利润”3个字段)保存在以“部门名”命名的dbf文件的同时,在Gridl控件中显示计算的结果。如图3.23所示。要求:程序完成后必须运行,并分别计算“笔记本产品部”和“计算机产品部”按年度的销售额和利润情况。标准答案:【操作步骤】步骤1:命令窗口执行:CREATEFORMmyform,打开表单设计器新建表单。向表单添加一个文本框、一个表格和一个命令按钮控件。步骤2:修改对象属性值,见表4-29。步骤3:双击“确定”命令按钮(Commandl)编写Click事件代码。*****“确定”按钮的Click事件代码*****BM=ALLIRIM(TIHISEORM.TEX1,.VALUE)sELECTsell.年度,SUM(sell.销售额)As销售额,;SUM(Sell.销售额-sell.工资额)As利润;FROMTEST—DB!DeptINNERJOINTEST—DB!Sell;ONDept.部门号=sell.部门号;WHEREDept.部门名=BM;GROUPBYsell.年度;ORDERBYsell.年度;INTOTABLE&BMTHISFORM.GRIDl.RECORDSOURCE=BM步骤4:单击“常用”工具栏中的“运行”按钮运行表单,并生成“笔记本产品部”和“计算机产品部”两个表,将表单文件保存到考生文件夹下。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第3套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下,有一个学生数据库sdb,打开该数据库,完成如下操作:(1)为学生表student的“性别”字段增加约束:性别$”男女”,出错提示信息为“性别必须是男或女”,默认值为“女”。(2)为学生表student创建一个主索引,主索引的索引名为sid,索引表达式为学号。为课程表course创建一个主索引,主索引的索引名为cid,索引表达式为课程号。为选课表sc创建一个主索引和两个普通索引(升序),主索引的索引名为scid,索引表达式为“学号+课程号”;一个普通索引的索引名为sid,索引表达式为学号;另一个普通索引的索引名为cid,索引表达式为课程号。(3)通过“学号”字段建立选课表sc和学生表student表间的永久联系。通过“课程号”字段建立选课表sc与课程表course间的永久联系。并为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。(4)使用报表向导建立一个简单报表。要求选择学生表studem表中所有字段;记录不分组;报表样式为“随意式”;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“学号”,升序;报表标题为“学生基本情况一览表”;报表文件名为one.frx。标准答案:【操作步骤】(1)①命令窗口执行:MODIFYDATABASEsdb,打开数据库设计器。②数据库设计器中,右击student表,选择【修改】,打开表设计器,“字段”选项卡中选中“性别”,“字段有效性”的“规则”中输入:性别$.“男女”,“信息”框中输入:”性别必须是男或女”,“默认值”文本框中输入:”女”。(2)①接上题,在student表设计器中,“字段”选项卡中选中“学号”,“索引”列中选“升序”,在“索引”选项卡中修改“索引名”为“sid”,修改“类型”为“主索引”,单击“确定”按钮保存表结构修改。②与上题同样的方法为COURSE表建立名为“cid”,的“主索引”,单击“确定”按钮保存表结构修改。③数据库设计器中,右击sc表选择【修改】,打开表设计器,“索引”选项卡中,“索引名”下方的文本框中输入“scid”,“索引”选项卡中将“类型”选择为“主索引”,“表达式”下方的文本框中输入“学号+课程号”,建立主索引。④接第③步,在SC表设计器的“索引”选项卡中,第二行的“索引名”文本框中输入“sid”,将“类型”选择为“普通索引”,“表达式”下方的文本框中输入“学号”,建立一个普通索引;在第三行的“索引名”文本框中输入“cid”,“类型”选择为“普通索引”,“表达式”中输入“课程号”,建立普通索引,单击“确定”保存修改。(3)①在数据库设计器中,拖动student表“索引”下方的主索引“sid”到sc表中“索引”下方的普通索引“sid”上,为两个表建立联系。②拖动course表“索引”下方的主索引“scid”到sc表中“索引”下方的普通索引“cid”上,为两个表建立联系。③选中student和sc两个表之间的关联线(被选中的线会变粗),首先执行【数据库】→【清理数据库】菜单命令,清空数据库表中带有删除标记的记录,然后执行【数据库】→【编辑参照完整性】菜单命令。在打开的“参照完整性”对话框的表格中,将其中的两对关系均做如下操作:选择“更新”下的单元格内容为“级联”;“删除”下的单元格内容为“限制”;“插入”下的单元格内容为“限制”。单击“确定”按钮保存参照完整性的修改。(4)①命令窗口执行:OPENDATABASEsdb,打开sdb数据库。②执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“报表”选项,单击“向导”按钮,弹出“向导选取”对话框,选中“报表向导”项,单击“确定”按钮,启动报表向导。③“步骤1-字段选取”的“数据库和表”下选student表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。④“步骤2-分组记录”中,单击“下一步”按钮。⑤“步骤3-选择报表样式”的“样式”下选择“随意式”,单击“下一步”按钮。⑥“步骤4-定义报表布局”的“列数”下输入“1”,在“字段布局”下选“列”,在“方向”下选“纵向”,单击“下一步”按钮。⑦“步骤5-排序记录”中双击“可用的字段或索引标识”中的“学号”字段到“选定字段”中,再选择“升序”,单击“下一步”按钮。⑧“步骤6-完成”中“报表标题”下方文本框中输入“学生基本情况一览表”,单击“完成”按钮。⑨在“另存为”对话框的“保存报表为:”框中输入报表文件名one,单击“保存”按钮。知识点解析:暂无解析二、简单应用题(本题共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入住日期IN;(SELECT;FROM客户,入住;WHERE姓名=姚小敏”);TOTABLETABC修改程序中的错误行,修改后的程序如下:OPENDATABASE宾馆SELECT客户.客户号,身份证,姓名,工作单位:FROM客户.JOIN入住ON客户.客户号=入住.客户号;WHERE入住日期IN;(SELECT入住日期;FROM客户,入住;NHERE客户.客户号=入住.客户号and姓名=“姚小敏”);INTOTABLETABC步骤2:保存文件修改,在命令窗口执行命令:DOTHREE.PRG,执行程序文件。知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下完成如下综合应用:(1)建立数据库“订单管理”。(2)将表order、goods和orderitem添加到“订单管理”数据库。(3)在“订单管理”数据库中创建视图orderview,该视图包含信息:客户名、订单号、图书名、数量、单价和金额(单价×数量)。(4)建立文件名和表单名均为orderform的表单,在表单中添加表格控件gridl(将RecordSourceType属性设置为“表”)和命令按钮“退出”(commandl)。(5)在表单的load事件中使用SQL语句从视图orderview中按客户名升序、金额降序查询数量为1的客户名、图书名和金额信息,并将结果存储到表文件result.dbf。(6)在表单运行时使得在控件gridl中能够显示表result.dbf中的内容(在相应的事件中将gridl的recordsource属性指定为result.dbf)。(7)单击“退出”命令按钮时释放并关闭表单。完成以上所有功能后运行表单orderform。标准答案:【操作步骤】步骤1:选择“文件”菜单下的“新建”子菜单,弹出“新建”对话框,选择“数据库”单选按钮。步骤2:单击“新建文件”按钮,弹出“创建”对话框,输入数据库文件名:订单管理Abe,选择考生文件夹,单击“保存”按钮完成数据库的创建。步骤3:单击数据库设计器工具栏上的“添加表”按钮,弹出打开对话框,表order添加到“订单管理”数据库。步骤4:重复步骤3,依次表goods和orderitem添加到“订单管理”数据库,。步骤5:选择“文件”菜单下的“新建”子菜单,弹出“新建"对话框,选择“视图”单选按钮。步骤6:单击“新建文件”按钮新建视图,弹出“添加表或视图”对话框,依次添加表goods、orderitem、order,并通过图书号以及订单号来设置三个表之间的联系,添加完成单击“关闭”按钮,视图设计器如图4-31所示。步骤7:在视图设计器里面“字段”选项卡中添加order.客户名、order.订单号、goods.图书名、orderitem.数量、goods.单价和goods.单价*orderitem.数量as金额。步骤8:在“排序依据”选项卡中添加“goods.单价*orderitem.数量as金额”,排序为“降序”。步骤9:右键选择“输出设置”,然后选择“表”,在表名输入“apptwo”。步骤10:单击菜单工具栏上的保存按钮,弹出“保存”对话框,输入视图文件名“orderview”,单击“确定”按钮完成视图的保存。步骤11:选择“文件”菜单下的“新建”子菜单,弹出“新建”对话框,选择“表单”单选按钮。步骤12:单击“新建文件”按钮,弹出表单设计器。步骤13:在表单中添加表格控件和命令按钮,然后通过属性工具栏设置表单和控件的属性,如表4—12所示。步骤14:单击菜单工具栏上的保存按钮,弹出“另存为”对话框,输入表单名为“orderform.scx”,然后单击“保存”按钮。步骤15:双击表单,进入表单的事件代码编辑界面,在表单的load事件中输入代码:select客户名,图书名,金额fromorderview;一where数量=1orderby客户名,金额desc;intodbfresult步骤16:在表单的Init()事件中加入代码:thisform.qridl.recordsource=“result.dbf”步骤17:双击“退出"命令按钮,在Click事件中加入代码:thisform.release。步骤18:保存并运行表单。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第4套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下打开表单文件calculator.scx,并完成下列操作:(1)设置表单控件名为calculator,保存表单。(2)设置表单内文本控件Text2的输入掩码使其具有如下功能:仅允许输入数字、正负号和空格,宽度为10(直接使用相关掩码字符设置),保存表单。(3)设置表单内文本控件Text3为只读控件,保存表单。(4)为表单增加一组如图3-6所示的选项按钮组(Optiongroupl),4个按钮依次为“+”、“-”、“*”、“/”,保存表单。注意:所涉及的数字和字母均为半角字符。标准答案:(1)①在命令窗口执行命令:MODIFYFORMcalculator,打开表单设计器修改表单。②在工具栏中,选中“属性”按钮,在“属性”面板的下拉框中选择表单对象Forml,在“全部”选项卡中将Name属性值设置为:calculator。(2)在“属性”面板的下拉框中选择文本控件Text2,在“全部”选项卡中将InputMask属性值设置为:“##########”。(3)在“属性”面板的下拉框中选择文本控件Text3,在“全部”选项卡中将ReadOnlv属性值设置为:.T.。(4)①从“表单控件”工具栏中向表单添加一个选项按钮组(Optiongroupl)。②右击选项按钮组(Optiongroupl),在弹出的快捷菜单中选择【生成器】菜单命令,再在弹出的“选项组生成器”中选中“按钮”选项卡,将“按钮的数目”修改为“4”,并在下面表格的标题一列中,分四行分别输入半角的+、-、*、/,最后再选中“布局”选项卡,将“按钮布局”修改为“水平”。如图4-25和图4-26所示。③操作完成后,以原表单名保存表单。知识点解析:本大题考查了表单属性的修改;表单控件的添加:托件属性的设置等。表单的控件名指的是表单的内部名字,用NAME属性设置,表示对表单对象的引用。文本框的输入掩码用INPUTMASK属性设置,用来指定在一个文本框中该如何输入和显示数据。该属性值是一个字符串,该字符串通常由一些固定的模式符组成,每个模式符规定了相应位置上数据的输入和显示行为。如本题中,文本框中仅允许输入数字、正负号和空格,就应该将文本框的工NPUTMASK属性设置为模式符“#”,又因为宽度为10,故设置10个“#”。文本框控件的READONLY属性用来指定文本框为只读的,不可修改。选项按钮组是一个容器控件,其中包括若干个选项按钮,可以分别设置各个选项的属性值,如本题中的+、-、*、/分别是四个选项按钮的名称,应通过设置各选项按钮的CAPTION属性值实现(注意:选项按钮组的属性和各选项按钮的属性是不一样的)。二、简单应用题(本题共1题,每题1.0分,共1分。)2、(1)使用SQL语句查询每个职工所经手的具有最高金额的订购单信息(orders表),并将结果按金额升序存储到表results中。(2)使用SQL命令建立视图viewb,视图中是目前在orders表中没有所签订单的职工(employee)信息,记录按仓库号降序排列;同时把所用命令保存在文本文件view—b.txt中。标准答案:(1)步骤1:在命令窗口执行如下SQL命令语句并执行:1SELECT职工号,MAX(金额)最高金额;2FROHorders;3GROUPBY职工号;4INTOCURSORtemp步骤2:在命令窗口继续执行如下SQL命令语句:1SELECTorders.*;2FROMorders,temp;3WHERE0rders.职工号=temp.职工号ANDorders.金额=temp.最高金额;4ORDERBY金额;5INTOTABLEresults(2)步骤1:在命令窗口执行命令:OPENDATABASEorders_manaqe,打开数据库环境。步骤2:在命令窗口执行命令:MODIFYFILEview_b,打开文本文件编辑器编写视图定义代码。步骤3:在编辑器中输入如下程序代码:1CREATEVIEWView_bAS;2SELECT*FROMEMPLOYEE;3WHERE职工号NOTIN;4(SELECT职工号FROHORDERs);5ORDERBY仓库号DESC步骤4:在命令窗口执行命令:DOVIEW_B.TXT,执行文件(注意:执行文件时,文件后缀名.txt不能缺省)。知识点解析:(1)本题考查了SQL分组查询和联接查询。本题的解题思路是:先在orders表中按职工号分组,查询出每个职工所经手的具有最高金额的订单所对应的职工号和金额,将它保存到临时表中,然后再将orders表和该临时表做联接查询,查找出每个职工的最高金额订单所对应的orders表信息。另外,对数据进行分组计算查询时,用来求最大值的函数为MAX()。(2)本题主要考查了利用SQL命令建立视图;SQL嵌套查询。利用SQL命令建立视图的基本命令格式为:CREATEVIEW<视图名>AS。本题可以用嵌套查询完成,先在内查询中从orders表查找出有订单的职工号,再在外查询中从employee表中找出orders表中没有的职工号,这里用到NOTIN运算符。三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下,打开资源数据库frdb,完成如下综合应用:设计一个表单控件名为form、表单文件名为frshow、表单标题名为“农户资源数据浏览”的表单,其表单界面如图3—16所示。其他要求如下:①为表单建立数据环境,向数据环境依次添加fr_t表(Cursorl)、p_t表(Cursor2)和treet表(Cursor3)。②当在“户主编号”(Labell)标签右边的文本框(Textl)中输入户主编号并单击“查询”(Commandl)按钮时,将在右边的表格控件(Gridl)内显示该农户承包的土地编号、小地名、面积、树种编号、蓄积和承包年度信息(均取自fr_t表),并在左边相应的文本框中显示该农户的姓名(Text2)、年龄(Text3)、性别(Text4)和家庭地址(Text5)(均取自p_t表)。③单击“退出”(Command2)按钮时,关闭表单。要求:表格(Gridl)控件的RecordSourceType属性设置为“4一SQL说明”;使用SQL的SELECT语句将根据输入的户主编号查询到的姓名、年龄、性别和家庭地址数据存放到一维数组tmp中,并将tmp数组诸元素的值赋值到各文本框。标准答案:步骤1:命令窗口执行:OPENDATABASEfrdb,打开ffdb数据库。步骤2:命令窗口执行:CREArrEFORMfrshow,打开表单设计器新建表单。步骤3:右击表单选择【数据环境】快捷菜单命令,继续在表单数据环境中单击右键选择【添加】快捷菜单命令,在“添加表或视图”对话框中依次双击fr_t表、p_t表和tree_t表,将其添加到数据环境中。步骤4:向表单添加五个标签、五个文本框、一个表格和两个命令按钮。选择表单对象,修改对象属性值,见表4-19。步骤5:编写各个命令按钮的CIick事件代码如下:*****“查询”按钮的Click事件代码水半*****1THISFORM.GRID1.RECORDSOURCE=";2SEIJECT土地编号,小地名,面积,树种编号,蓄积,承包年度FROMFR_T;3WHERE户主编号=ALLTRIM(THISFORM.TEXTl.VALUE);4INTOCURSORTEMP”5SELECT姓名,年龄,性别,家庭地址FRONP_T;6WHERE户主编号=ALLTRIM(THISFORM.TEXTl.VALUE);7INTOARRAYTMP8THISFORM.TEXT2.VALUE=TMP(1)9THISFORM.TEXT3.VALUE=TMp(2)10THISFORM.TEXT4.VALUE=TMP(3)11THISFORM.TEXT5.VALUE=TMP(4)*****“退出”按钮的Click事件代码*****THISFORM.RELEASE步骤6:单击“常用”工具栏中“运行”按钮运行表单。知识点解析:本题主要考查了表单及常用控件的常用属性的设置、SQL简单查询和联接查询。表格(qridl)控件中用于设置数据源类型和数据源的属性分另1是RecordsourceTvpe和Rcordsource。国家二级VF机试(操作题)模拟试卷第5套一、基本操作题(本题共1题,每题1.0分,共1分。)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的表设计器,建立候选索引“课程编号”。知识点解析:在第1小题中,修改表中记录最简便的方法是先打开对应的表,然后在命令窗口输入“browse”命令,在弹出的窗口中对表中记录进行修改。在第2小题中,修改表中字段的名称需在表设计器中进行。在第3小题中,ALTERTABLE语句用于修改表的结构,其中ADD短语的功能是添加新的字段或索引,UNIQUE短语的功能指建立候选索引(注意不是唯一索引),ADDUNIQUE连用表示新增一个候选索引,TAG短语用于指定索引名称。二、简单应用题(本题共1题,每题1.0分,共1分。)2、1.编写SELECT语句,从orders(订单)表中统计2007年各月份签订的订单数。统计结果依次包含“月份”和“订单数”两个字段,并按月份升序排序,统计结果存放在tableone表中。最后要执行SELECT语句,并将该SELECT语句存放在命令文件pone.prg中。2.首先创建数据库goods_m,并向其中添加goods(商品)表。然后在数据库中创建视图viewone:利用该视图只能查询单价大于等于2000且库存量小于等于2、或者单价小于2000且库存量小于等于4的商品信息,查询结果依次包含商品号、商品名、单价和库存量四项内容,各记录按商品号升序排序。最后利用该视图查询视图中的伞部信息,并将查询结果存放在表tabletwo中。标准答案:(1)步骤1:在命令窗口中输入如下命令:selectmonth(签订日期)as月份,count(订单号)as订单数fromorders;whereyear(签订日期)=2007groupby月份orderby月份intotabletableone步骤2:运行该SQL语句,然后将此语句保存在pone.prg文件中。(2)步骤1:单击工具栏中的“新建”按钮,在“新建”对话框中选择“数据库”单选按钮,再单击“新建文件”按钮。在“创建”对话框中输入goods_m,单击“保存”按钮。步骤2:在数据库设计器中右击,在弹出的快捷菜单中选择“添加表”命令,在“打开”对话框中选择goods表,单击“确定”按钮。步骤3:在命令窗口中输入createVIEW命令打开视图设计器,在“添加表或视图”对话框中选中goods表,单击“添加”按钮,并关闭该对话框。步骤4:在视图设计器的“字段”选项卡中将商品号、商品名、单价和库存量4个字段添加到选定字段;切换到“筛选”选项卡,在其中进行如下设置:在“排序依据”选项开中选择字段“Goods.商品号”,在“排序选项”处选择“升序”,最后将视图保存在viewone文件中。步骤5:单击工具栏中的“新建”按钮,在“新建”对话框中选择“查询”单选按钮,再单击“新建文件”按钮,在“添加表或视图”对话框中选择viewone视图。在查询设计器的“字段”选项卡中将可用字段中的全部字段添加到选定字段。单击“查询”菜单中的“查询去向”命令,在“查询去向”对话框中选择“表”并输入tabletwo。最后运行该查询。知识点解析:第1题是要用SQL语句编写执行生成表查询,里面还用到了条件语句排序语句;第2小题创建数据库添加表、创建视图,创建视图要根据要求添加字段,并在“筛选”中设置指定的条件。三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下完成下列操作。(1)建立一个文件名和表单名均为formFilm的表单,表单中包括一个标签(Label1)、一个下拉列表框(Combol)、一个表格(Grid1)和两个命令按钮“查询”和“退出”(command1和Command2),Label1的标题为“电影类型”,Grid1的ReeordSourceType值为4(SQL说明)。(2)将下拉列表框(Combol)的RowSource和RowSourceType属性手工指定为“selectdistinct类型from电影intocursormyList”和“3”。(3)为“查询”命令按钮编写Click事件代码,其功能是:表单运行时,根据下拉列表框(Combol)选定的电影类型,在表格(Grid1)中按照观看日期的降序和观众名升序显示观看该类型的电影名、观众名、观看日期和影评,并将结果存储到自由表watch.dbf中。(4)运行表单,在下拉列表框中选择“武侠”,查询该类型的观看信息。标准答案:步骤1:单击工具栏中的“新建”按钮,选择“表单”,单击“新建文件”按钮。步骤2:在窗体上添加一个标签,一个下拉列表框,两个按钮,一个表格控件。步骤3:通过属性窗口设置表单及各控件的属性,具体属性设置如下表所示,结果如图4.31所示。步骤4:双击“查询”按钮,打开Click事件窗口,在窗口中输入以下语句。THISFORM.Grid1.RecordSource="SELECT电影.电影名,观看.观众名,观看.观看日期,观看.影评;FROMrheatdb!电影INNERJOINtheatdb!观看;ON电影.电影编号=观看.电影编号;WHERE电影.类型=thisform.combol.value:ORDERBY观看.观看日期DESC,观看.观众名;INTOTABLEwatch.dbf"然后关闭代码窗口。步骤5:双击“退出”按钮,打开Click事件窗口,在窗口中输入以下语句。Thisform.release然后关闭代码窗口。步骤6:保存表单为fonnFilm.scx。步骤7:运行表单,在下拉列表框中选择“武侠”,然后单击“查询”按钮,最后单击“退出”按钮。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第6套一、基本操作题(本题共1题,每题1.0分,共1分。)1、(1)建立数据库ordersmanage。(2)将自由表employee和orders添加到新建的ordersmanage数据库中。(3)表employee与表orders具有一对多联系,为建立两表之间的联系建立必要的索引。(4)建立两表之间的联系并设置参照完整性规则如下:更新规则为“级联”,删除规则为“级联”,插入规则为“限制”。标准答案:【操作步骤】(1)在命令窗口执行命令:MODIFYDATABASEorders—manaqe,新建数据库并打开数据库设计器。(2)在数据库设计器中右击鼠标,选择【添加表】快捷菜单命令,在弹出的“打开”对话框中双击employee表,将表添加到数据库中,以同样的方法将orders表添加到数据库中。如图4-20和图4-21所示。(3)①右击数据库设计器中的employee表,选择【修改】快捷菜单命令,打开employee表设计器,在“字段”选项卡中选中“职工号”,在“索引”列中选择“升序”,然后在“索引”选项卡中修改“索引类型”为“主索引”,建立“职工号”字段的主索引,单击“确定”按钮保存表结构修改。②右击数据库设计器中的orders表,选择【修改】快捷菜单命令,打开orders表设计器,在“字段”选项卡中选中“职工号”,在“索引”列中选择“升序”,建立“职工号”字段的普通索引,单击“确定”按钮保存表结构修改。③拖动employee表“索引”下方的主索引“职工号”到orders表中“索引”下方的普通索引“职工号”上,为两个表建立联系。(4)①选中employee和orders两个表之间的连线(被选中的线会变粗),首先执行【数据库】→【清理数据库】菜单命令,清空数据库表中带有删除标记的记录,然后执行【数据库】→【编辑参照完整性】菜单命令。②在打开的“参照完整性”对话框的表格中,选择“更新”下的单元格内容为“级联”;“删除”下的单元格内容为“级联”;“插入”下的单元格内容为“限制”。单击“确定”按钮保存参照完整性的修改。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、在考生文件夹下,打开商品销售数据库cdb,完成如下简单应用:(1)使用一对多报表向导建立名称为porder的报表。要求从父表顾客表oust中选择所有字段,从子表订单表order中选择所有字段;两表之间采用“顾客号”字段连接;按“顾客号”字段升序排序;报表样式为“经营式”,方向为“纵向”;报表标题为“顾客订单表”。然后修改该报表,在页注脚中增加一个标签“制表人:新思路”;该标签水平居中,标签中的“:”为中文的冒号。(2)修改一个名称为TWO.PRG的命令文件。该命令文件统计每个顾客购买商品的金额合计(应付款),结果存储在临时表ls中。然后用ls中的每个顾客的数据去修改表scust对应的记录。该命令文件有3行语句有错误,打开该命令文件进行修改。注意:直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。标准答案:(1)【操作步骤】步骤1:在命令窗口执行命令:OPENDATABASEcdb,打开cdb数据库。步骤2:执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“报表”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“一对多报表向导”项,单击“确定”按钮,启动报表向导。步骤3:在报表向导的“步骤1-从父表选择字段”界面的“数据库和表”下选中cust表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。步骤4:在报表向导的“步骤2-从子表选择字段”界面的“数据库和表”下选中order表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。步骤5:在报表向导的“步骤3.为表建立关系”界面中系统自动建立两个表的联系,单击“下一步”按钮。步骤6:在报表向导的“步骤4.排序记录”界面中双击“可用的字段或索引标识”中的“顾客号”字段到“选定字段”列表中,再选择“升序”,单击“下一步”按钮。步骤7:在报表向导的“步骤5-选择报表样式”界面的“样式”下选中“经营式”,方向为“纵向”,单击“下一步”按钮。步骤8:在报表向导的“步骤6.完成”界面中的“报表标题”下方文本框中输入“顾客订单表”,单击“完成”按钮。步骤9:在“另存为”对话框的.“保存报表为:”框中输入表单文件名porder,单击“保存”按钮。步骤10:在命令窗口输入命令:MODIFYREPORTporder,打开报表设计器修改报表。向报表设计器最底端的“页注脚”带区添加一个标签控件,并输入“制表人:新思路”,然后选中标签,在“布局”工具栏中单击“水平居中”命令按钮(工具栏中的倒数第4个按钮),设置标签为水平居中。(2)【操作步骤】步骤1:在命令窗口执行命令:MODIFYCOMMANDtwo,打开程序文件,文件中的命令代码如下:CLOSEDBFPRIVATEno,moneyUSESCuSt*下面的一行语句有错误SELECT顾客号,数量*单价应付款;FROMorderJOINCorrlmONorder.商品号=comm.商品号;GROUPBY顾客号;INTOCUR.SORlsSELECTscust*下面的一行语句有错误DOWHILEEOF()no=顾客号SELECTlsLOCATrFOR顾客号=nomonev=应付款SELECTscust*下面的一行语句有错误REPLACEALL应付款=monevSKIP+1ENDDOCLOSETABLERFTURN修改程序中的错误行,修改后的程序如下:CLOSEDBFPRIVATEno,moneyUSEscuSt*下面的一行语句有错误SELECT-顾客号,sum(数量*单价)应付款;FROMorderJOINcommONorder.商品号=comm.商品号;GROUPBY顾客号;INTOCURSORlsSELECTscust*下面的一行语句有错误DOWHILE!EOF()no=顾客号SELECTlsLOCATFOR顾客号=noMoney+应付款SELECTScust下面的一行语句有错误REPLACE应付款withmonevSKIP+1ENDDOCLOSETABLERETURN步骤2:保存文件修改,在命令窗口执行命令:DOtwo,执行程序文件。知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下有myform表单文件,将该表单设置为顶层表单,然后设计一个菜单,并将新建立的菜单应用于该表单(在表单的load事件中运行菜单程序)。新建立的菜单文件名为mymenu,结构如下(表单、报表和退出是菜单栏中的3个菜单项):表单浏览课程浏览选课统计报表预览报表退出如图3-3所示。各菜单项的功能如下:①选择“浏览课程”时在表单的表格控件中显示“课程”表的内容(在过程中完成,直接指定表名)。②选择“浏览选课统计”时在表单的表格控件中显示简单应用题建立的视图sview的内容(在过程中完成,直接指定视图名)。③选择“预览报表”时预览简单应用题建立的报表creport(在命令中完成)。④选择“退出”时关闭和释放表单(在命令中完成)。注意:最后要生成菜单程序,并注意该菜单将作为顶层表单的菜单。标准答案:【操作步骤】步骤1:在命令窗口执行命令:CREATEMENumymenu,在弹出的“新建菜单”埘话框中单击“菜单”图标按钮,打开菜单设计器。在菜单设计器“菜单名称”列的文本框中依次输入“表单”、“报表”和“退出”3个主菜单名,“结果”下拉框中选择为“了菜单”,单击“表单”行的“创建”按钮进入下级菜单设计。步骤2:在“菜单名称”列依次输入子菜单名“浏览课程”和“浏览选课统计”,选择“结果”列都为“过程”,分别单击两个“过程”后面的“创建”按钮打开过程编辑器,编写过程代码。“课程浏览”菜单命令的过程代码:Myform.Gridl,RecordSourceType=1Myform.Gridl.RecordSource="课程"“选课统计浏览”菜单命令的过程代码:OPENDATABASE学生管理MVform.Gridl.RecordSourceType=0Myform.Gridl.RecordSource="sview"步骤3:通过“菜单级”下拉框返回主菜单项设计界面,以同样的方法,设计“报表”菜单项的下级子菜单“预览报表”,注意选择“预览报表”的“结果”项为“命令”,然后在后面的文本框中输入以下命令代码:REPORTFORMcreportPREVIEW步骤4:再次返回主菜单项设计界面,选择“退出”菜单命令的“结果”项为“命令”,并输入命令语句:myform.RELEASE步骤5:执行【显示】→【常规选项】菜单命令,在弹出的“常规选项”对话框中勾选“顶层表单”复选框,然后单击“确定”按钮,保存修改。如图4.17所示。步骤6:执行【菜单】→【生成】菜单命令,在弹出的VisualFoxPro对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件,关闭菜单设计器。步骤7:在命令窗口执行命令:MODIFYFORMmyform,打开表单设计器。选中表单,在“属性”窗口中修改表单(Forml)的“ShowWindow”属性值设置为“2.作为顶层表单”。步骤8:右击表单选择【数据环境】快捷菜单命令,在表单数据环境中单击右键选择【添加】快捷菜单命令,选择“视图”单选项,将sview视图添加到数据环境中。步骤9:双击表单(Forml)编写表单的L,oad事件代码,代码如下:DOmymenu.mprWITHTHIS.“TTT”步骤10:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第7套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下,有一个学生数据库sdb,打开该数据库,完成如下操作:(1)为学生表student的“性别”字段增加约束:性别$”男女”,出错提示信息为“性别必须是男或女”,默认值为“女”。(2)为学生表student创建一个主索引,主索引的索引名为sid,索引表达式为学号。为课程表course创建一个主索引,主索引的索引名为cid,索引表达式为课程号。为选课表sc创建一个主索引和两个普通索引(升序),主索引的索引名为scid,索引表达式为“学号+课程号”;一个普通索引的索引名为sid,索引表达式为学号:另一个普通索引的索引名为cid,索引表达式为课程号。(3)通过“学号”字段建立选课表sc和学生表student表间的永久联系。通过“课程号”字段建立选课表sc与课程表course间的永久联系。并为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。(4)使用报表向导建立一个简单报表。要求选择学生表student表中所有字段;记录不分组;报表样式为“随意式”;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“学号”,升序;报表标题为“学生基本情况一览表”;报表文件名为one.frx。标准答案:【操作步骤】(1)①命令窗口执行:MODIFYDATABASEsdb,打开数据库设计器。②数据库设计器中,右击student表,选择【修改】,打开表设计器,“字段”选项卡中选中“性别”,“字段有效性”的“规则”中输入:性别$"男女",“信息”框中输入:”性别必须是男或女”,“默认值”文本框中输入:"女"。(2)①接上题,在student表设计器中,“字段”选项卡中选中“学号”,“索引”列中选“升序”,在“索引”选项卡中修改“索引名”为“sid”,修改“类型”为“主索引”,单击“确定”按钮保存表结构修改。②与上题同样的方法为course表建立名为“cid”,的“主索引”,单击“确定”按钮保存表结构修改。③数据库设计器中,右击sc表选择【修改】,打开表设计器,“索引”选项卡中,“索引名”下方的文本框中输入“scid”,“索引”选项卡中将“类型”选择为“主索引”,“表达式”下方的文本框输入“学号+课程号”,建立主索引。④接第③步,在SC表设计器的“索引”选项卡中,第二行的“索引名”文本框中输入“sid”,将“类型”选择为“普通索引”,“表达式”下方的文本框中输入“学号”,建立一个普通索引;在第三行的“索引名”文本框中输入“cid”,“类型”选择为“普通索引”,“表达式”中输入“课程号”,建立普通索引,单击“确定”保存修改。(3)①在数据库设计器中,拖动student表“索引”下方的主索引“sid”到sc表中“索引”下方的普通索引“sid”上,为两个表建立联系。②拖动course表“索引”下方的主索引“scid”到sc表中“索引”下方的普通索引“cid”上,为两个表建立联系。③选中student和sc两个表之间的关联线(被选中的线会变粗),首先执行【数据库】→【清理数据库】菜单命令,清空数据库表中带有删除标记的记录,然后执行【数据库】→【编辑参照完整性】菜单命令。在打开的“参照完整性”对话框的表格中,将其中的两对关系均做如下操作:选择“更新”下的单元格内容为“级联”;“删除”下的单元格内容为“限制”;“插入”下的单元格内容为“限制”。单击“确定”按钮保存参照完整性的修改。(4)①命令窗口执行:OPENDATABASEsdb,打开sdb数据库。②执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“报表”选项,单击“向导”按钮,弹出“向导选取”对话框,选中“报表向导”项,单击“确定”按钮,启动报表向导。③“步骤1-字段选取”的“数据库和表”下选student表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。④“步骤2-分组记录”中,单击“下一步”按钮。⑤“步骤3-选择报表样式”的“样式”下选择“随意式”,单击“下一步”按钮。⑥“步骤4-定义报表布局”的“列数”下输入“1”,在“字段布局”下选“列”,在“方向”下选“纵向”,单击“下一步”按钮,⑦“步骤5-排序记录”中双击“可用的字段或索引标识”中的“学号”‘字段到“选定字段”中,再选择“升序”,单击“下一步”按钮。⑧“步骤6.完成”中“报表标题”下方文本框中输入“学生基本情况一览表”,单击“完成”按钮。⑨在“另存为”对话框的“保存报表为:”框中输入报表文件名one,单击“保存”按钮。知识点解析:暂无解析二、简单应用题(本题共1题,每题1.0分,共1分。)2、在考生文件夹下,打开学生数据库SDB,完成如下简单应用:(1)使用查询设计器设计一个名称为two的查询,查询每个同学的学号(来自student表)、姓名、课程名和成绩。查询结果先按课程名升序、再按成绩降序排序,查询去向是表,表名是two。设计完成后,运行该查询。(2)修改一个名称为three.prg的命令文件。该命令文件用来查询平均成绩大于等于75分以上的每个“女”同学的学号、姓名、平均成绩和选课门数,结果按选课门数降序排序输出到表three中。该命令文件在第2行、第3行、第4行、第5行有错误(每行只有一处必须修改的错误,不出错的地方不要做任何修改),打开该命令文件,直接在错误处修改并保存。注意:修改时,不可改变sq1语句的结构和短语的顺序,不允许增加或合并行。标准答案:(1)【操作步骤】步骤1:命令窗口执行:OPENDATABASEsdb,打开数据库环境。步骤2:命令窗口执行:CREATEQUERYtwo,打开查询设计器,在“添加表或视图”中,分别双击student、sc和course表,添加到查询设计器中,添加的表会自动在查询设计器中建立联系。步骤3:“字段”选项卡的“可用字段”中,依次双击“student.学号”、“student.姓名”、“course.课程名”、“sc.成绩”,将它们添加到“选定字段”列表中。步骤4:在“排序依据”选项卡内双击“选定字段”列表框中的“course.课程名”添加到“排序条件”列表框中,“排序选项”选“升序”;双击“选定字段”中的“sc成绩”,添加到“排序条件”中,“排序选项”选“降序”。步骤5:执行【查询】→【查询去向】菜单命令,在“查询去向”对话框中单击“表”按钮,在“表名”中输入文件名two,单击“确定”按钮。步骤6:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。(2)【操作步骤】步骤1:命令窗口执行:MODIFYCOMMANDthree,打开three.prg程序,命令代码如下:1OPENDATABASEsdb2SELECT学号,姓名,AVG(成绩)AS平均成绩,COUNT(成绩)AS选课门数;3FROMstudentJOINscOFstudent.学号=sc.学号;4WHERE性别="女"ANDAVG(成绩)>=75;5GROUPBY学号;6ORDERBY4desc:7INTOTABLEthree修改程序中的错误行,修改后的程序如下:1OPENDATABASEsdb2SELECTstudent.学号,姓名,AVG(成绩)平均成绩,COUNT(成绩)选课门数;&&在“学号”字段前加前缀“student”,指明“学号”来自student表3FROMstudentJOINscONstudent.学号=sc.学号;&&内联接查询中联接条件使用ON短语4WHERE性别="女";5GROUPBYstudent.学号HAVINGAVG(成绩)>=75;&&having短语指定分组的条件6ORDERBY4desc;7INTOTABLEthree步骤2:单击“常用”工具栏中的“保存”按钮,将程序文件保存到考生文件夹下。知识点解析:暂无解析三、综合应用题(本题共1题,每题1.0分,共1分。)3、在考生文件夹下,先打开学生数据库sdb,然后创建一个文件名为form的表单,完成如下综合应用:在该表单中设计两个命令按钮,各命令按钮的功能如下:①“查询”按钮(Command1):在该按钮的Click事件中使用SOL的SELECT命令查询每个学生所选的所有课程的成绩都是60分以上(包括60分)的学生的学号、姓名、平均成绩和最低分,并将查询结果按学号升序排序存储到表four中。表four。的字段为学号、姓名、平均成绩、最低分。②“退出”按钮(Command2):单击“退出”按钮时,关闭表单。表单设计完成后,运行该表单进行查询。标准答案:【操作步骤】步骤1:命令窗口执行:CREATEFORMFORM,打开表单设计器新建表单。向表单添加两个命令按钮。步骤2:选择表单对象,修改对象属性值,见表3—19。步骤3:编写各个命令按钮的Click事件代码如下:*****“查洵”按钮的Click事件代码*****1SELECTStudent.学号,Student.姓名,AVG(成绩)AS平均成绩,MIN(成绩)AS最低分;2FROMsdb!studentINNERJOINsdb!sc;3ONStudent.学号=sc.学号;4GROUPBYStudent.学号HAVINGMIN(成绩)>=60;5ORDERBYStudent.学号;6INTOTABLEfour.dbf*****“退出”按钮的Click事件代码*****THISFORM.RELEASE步骤4:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。知识点解析:暂无解析国家二级VF机试(操作题)模拟试卷第8套一、基本操作题(本题共1题,每题1.0分,共1分。)1、在考生文件夹下,有一个资源数据库frdb,该数据库有资源表fr_t、农户表p_t和树种表tree_t三个表。其中,资源表fr_t存储了全乡农民承包的土地编号、户主编号、小地名、面积、树种编号、蓄积(生长在山上的树的木材体积)和承包年度。打开资源数据库frdb,完成如下操作:(1)在农户表p_t中增加一个字段名“继承人”、数据类型为“字符”、宽度为8的字段。(2)设置资源表fr_t中“面积”字段的有效性规则:面积大于等于1,小于等于100,默认值为10;“蓄积”字段的有效性规则:蓄积大于等于0,小于等于200,默认值为100:(注意:表达式应写成:面积>=1.and.面积<=100,蓄积>=0.and.蓄积<=200)(3)为资源表fr_t创建两个普通索引(升序),索引名分别为“户主编号”和“树种编号”,对应的索引表达式分别为“户主编号”和“树种编号”。(4)通过“户主编号”字段建立资源表fr_t和农户表p_t间的永久联系;通过“树种编号”字段建立资源表fr_t和树种表tree_t间的永久联系。标准答案:(1)①命令窗口执行:MODIFYDATABASEfrdb,打开数据库设计器。②在数据库设计器中右击P_T表,选择【修改】,打开表设计器,“字段”选项卡的“字段名”列的最后一个空白文本框中输入字段名“继承人”,“类型”下拉框中选择“字符型”,“宽度”文本框中输入“8”,单击“确定”保存修改。(2)在数据库设计器中右击FR_T表,选择【修改】,打开表设计器,“字段”选项卡中选中“面积”,在字段有效性”的“规则”文本框中输入:面积>=land面积<:100,“默认值”文本框中输入:10。“字段”选项卡中选中“蓄积”,“字段有效性”的“规则”文本框中输入:蓄积>=0and蓄积<=200,“默认值”文本框中输入:100。(3)接上题,在FR_T表设计器的“字段”选项卡中选中“户主编号”字段,在“索引”列中选择“升序”,再选中“树种编号”,在“索引”列中选择“升序”,单击“确定”按钮保存表结构修改。(4)在数据库设计器中,拖动表P_T“索引”下方的主索引“户主编号”到FR_T表中“索引”下方的普通

温馨提示

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

评论

0/150

提交评论