首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在考生文件夹下,打开招生数据库sdb,完成如下综合应用: ①创建文件名为form的表单,将表单标题改为:录取研究生。 ②在表单中设计“录取”和“退出”两个按钮。两个按钮功能分别如下: 在“录取”按钮(Commandl)中,编写程序,查询总成绩大于或等于33
在考生文件夹下,打开招生数据库sdb,完成如下综合应用: ①创建文件名为form的表单,将表单标题改为:录取研究生。 ②在表单中设计“录取”和“退出”两个按钮。两个按钮功能分别如下: 在“录取”按钮(Commandl)中,编写程序,查询总成绩大于或等于33
admin
2017-03-29
25
问题
在考生文件夹下,打开招生数据库sdb,完成如下综合应用:
①创建文件名为form的表单,将表单标题改为:录取研究生。
②在表单中设计“录取”和“退出”两个按钮。两个按钮功能分别如下:
在“录取”按钮(Commandl)中,编写程序,查询总成绩大于或等于330分的考生的“考生号”、“姓名”、“性别”、“单位”和该生的“政治成绩”、“外语成绩”、“高数成绩”(即高等数学成绩)、“专业课成绩”、“总成绩”,并将结果按“总成绩”降序排序存储到表four中。表four(需要自己创建或生成)的字段名为:“考生号”、“姓名”、“性别”、“单位”、“政治成绩”、“外语成绩”、“高数成绩”、“专业课成绩”、“总成绩”(各成绩字段的类型为N(5,1),其他字段的类型与原表中一致)。
单击“退出”按钮( Command2)时,关闭表单。
③表单设计完成后,运行表单,单击“录取”按钮进行统计,然后单击“退出”按钮关闭表单。
注:在考试科目代码表dm中存储了各考试科目与考试科目名对应关系。
选项
答案
步骤1:在命令窗口执行命令:CREATE FORM form,打开表单设计器新建表单。向表单添加两个命令按钮。 步骤2:选择表单对象,修改属性值,见表4—44。 [*] 步骤3:双击命令按钮,编写各个命令按钮的Click事件代码如下: *****“录取”按钮的Click事件代码*****
OPEN DATABASE SDB
SELECT KSB.考生号,姓名,性别,单位,SUM(成绩)总成绩 FROMKSB,KSCJB;
WHERE KSB.考生号=KSCJB.考生号GROUP BY KSB.考生号;
HAVING SUM(成绩)>=330 INTO CURSOR TEMP1
SELECT考生号,姓名,性别,单位FROM TEMPl;
ORDER BY总成绩DESC INTO TABLE FOUR
ALTER TABLE FOUR ADD政治成绩N(5,1)
ALTER TABLE FOUR ADD外语成绩N(5,1)
ALTER TABLE FOUR ADD高数成绩N(5,1)
ALTER.TABLE FOUR ADD专业课成绩N(5,1)
ALTER TABLE FOUR ADD总成绩N(5,1)
SELECT考生号,考试科目名,成绩FROM KSCJB,DM WHERE KSCJB.考试科目=DM.考试科目;
INTO CURSOR TEMP2
SELECT FOUR
DO WHILE NOT EOF()
SELECT成绩FROM TEMP2 WHER考生号=FOUR.考生号AND考试科目名="政治";
INTO ARRAY A1
REPLACE政治成绩WITH A1
SELECT成绩FROM TEMP2 WHER考生号=FOUR.考生号AND考试科目名="外语";
INTO ARRAY A2
REPLACE外语成绩WITH A2
SELECT成绩FROM TEMP2 WHER考生号=FOUR.考生号AND考试科目名="高等数学";
INTO ARRAY A3
REPLACE高数成绩WITH A3
SELE成绩FROM TEMP2 WHER考生号=FOUR.考生号AND考试科目名="专业课";
INTO ARRAY A4
REPLACE专业课成绩WITH A4
REPLACE总成绩WITH政治成绩+外语成绩+高数成绩+专业课成绩
SKIP
ENDDO
CLOSE DATABASE
*****“退出”按钮的Click事件代码*****
THISFORM.RELEASE
步骤4:单击“常用”工具栏中的“运行”按钮运行表单,单击“录取”进行计算,单击“退出”关闭表单。 基本型控件;表单的事件、方法和属性;程序基本结构;SQL分组与计算查询。
解析
本题主要考查的是表单的建立、常用属性的设置、DO WHILE循环结构和SQL分组计算查询、SQL定义功能、Visual FoxPro修改记录命令。
本题基本解题思路可按以下步骤进行:
第一步,根据ksb和kscjb两张表,利用分组计算查询求出总成绩大于等于330分的考生的考生号、姓名、性别、单位和总成绩,将结果保存到一个临时表temp1中。这里,总成绩用SUM函数实现。
第二步,通过临时表templ查找出“考生号”、“姓名”、“性别”、“单位”4个字段,并按总成绩降序排序,将结果保存到表FOUR中。在这里,这四个字段正是题目中要求的FOUR表的前四个字段。
第三步,分别用五个“ALTER TABLE”语句为FOUR表增加五个字段:政治成绩、外语成绩、高数成绩、专业课成绩和总成绩。为表增加字段的关键字是ADD。此时,题目所要求的FOUR表的结构已经完成,并且前四个字段的值也已经按要求完成了,下面的任务就是将后五个字段的值填充完整。
第四步,根据dm和kscjb两张表求出所有考生的考生号、考试科目名和成绩,将结果保存到临时表temp2中。
第五步,将FOUR表作为当前表,将记录指针指向文件首,然后开始执行DO WHILE循环对FOUR表中的每条记录进行处理。DO WHILE语句的循环条件是当记录指针没有到达FOUR表末尾时,执行循环体中的语句。循环体功能:用SQL简单查询从临时表temp2中求出与FOUR表当前所指记录“考生号”相同并且“考试科目名”是“政治”的“成绩”字段值,将该值保存到数组a1中,再通过REPLACE命令修改four表当前记录的“政治成绩”字段值。参照以上操作,可以将four表当前记录的“外语成绩”、“高数成绩”和“专业课成绩”三个字段值进行修改。而当前记录的“总成绩”字段值可以由当前记录的“政治成绩”、“英语成绩”、“高数成绩”和“专业课成绩”的和得到。修改完毕后,four表的记录指针指向下一条记录,又开始继续判断表指针是否到达表末尾,如果没有,则进入循环体继续同样的操作,直到four表的记录指针指向表末尾,处理完four表中的所有记录,程序结束。
转载请注明原文地址:https://jikaoti.com/ti/Cpk0FFFM
本试题收录于:
二级VF题库NCRE全国计算机二级分类
0
二级VF
NCRE全国计算机二级
相关试题推荐
在VisualFoxPro中,每一个工作区中最多能打开数据库表的数量是()。
在VisualFoxPro中,假定数据库表S(学号,姓名,性别,年龄)和SC(学号,课程号,成绩)之间使用“学号”建立了表之间的永久联系,在参照完整性的更新规则、删除规则和插入规划中选择设置了“限制”。如果表S所有的记录在表SC中都有相关联的记录,则(
在数据库表设计器的“字段”选项卡中,字段有效性的设置项中不包括()。
在菜单定义中,可以在定义菜单名称时为菜单项指定一个访问键。规定了菜单项的访问键为“s”的菜单项名称定义是()。
假设temp.dbf数据表中有两个字段"歌手号"和"最后得分"。下面程序段的功能是:将temp.dbf中歌手的"最后得分"填入"歌手"表对应歌手的"最后得分"字段中。在下画线处应该填写的SQL语句是()。USE歌手DOWHILE.NOT.
查询有选课记录,但没有考试成绩(成绩字段是空值)的学生的学号和课程号,正确的SQL语句是()。
设有关系评分(歌手号,分数,评委号),插入一条记录到“评分”关系,歌手号、分数和评委号的值分别是 “1001”、9.9和“105”,正确的SQL语句是()。
将E—R图转换为关系模式时,实体和联系都可以表示为()。
有三个关系R、S和T如下:则关系T是由关系R和S通过某种操作得到,该操作为()。
创建一个名为student的新类,保存新类的类库名称是mylib,新类的父类是Person,正确的命令是()。
随机试题
A.鸟苷酸转移酶B.多聚A聚合酶C.RNasePD.RNaseD催化mRNA3’端polyA尾生成的酶是
根据《上市公司收购管理办法》,下列关于要约收购的说法正确的有()。[2016年9月真题]Ⅰ.向被收购公司部分股东发出收购其所持有的部分股份的要约是部分要约Ⅱ.收购人进行要约收购的,对同一种类股票的要约价格,不得低于要约收购提示性公告
目前,江西省发现最早的如意斗拱塔是()。
学校工作的全面安排以()为主。
许多调查显示,实现了地域转移的农村劳动力,绝大部分集中在20~35岁之间,其中男性的比重大大高于女性,且受教育程度高于农村劳动力的平均水平。从迁移者的家庭经济状况来看,通常在其家乡处于中上等水平。和这些已经走出去的人相比,还留在农村的劳动力素质相对偏低,要
根据下列资料.回答下列问题。2010年,福建省全年进出口总额1087.82亿美元,比上年增长36.6%。其中,出口714.97亿美元,增长34.1%;进口372.86亿美元,增长41.6%。批准设立外商直接投资项目1139个
简述影响实验外部效度的因素。
A、 B、 C、 D、 C本地计算机上的管理员组或备份操作员组的成员,即可以备份本地组所应用到的本地计算机上的任何文件和文件夹。域控制器上的管理员或备份操作员组的成员仅能备份域控制器上的数据,而不能备份域中其
阅读下面一个支持多线程并发操作的堆栈类代码publicclassMyStack{ privateintidx=0; privateint[]data=newint[8]; public______Void
下面过程定义框架中正确的是
最新回复
(
0
)