1、VF 窗体设计 共 5 题 (共计 50 分)第 1 题 (10.0 分) 题号:8请在项目 JXGL 中实现关于查询和表单的道操作题:1.建立查询 chaxun已知学生表(xs)其中含学号(xh,c) 、姓名(xm,c)等字段;成绩表(cj)含学号(xh,c) 、成绩(cj,n)等字段,每条记录为一位学生一门课程的考试成绩。基于 xs 表和 cj 表查询成绩优良的学生(注:成绩优良是指平均成绩大于或者等于80,且最低成绩大于或等于 65。 )要求:(1)输出学号、姓名、平均成绩和最低成绩(字段名依次分别为 xh、xm、pjcj、zdcj),查询结果按平均成绩降序排列(2)保存查询为 chax
2、un.qpr2.修改表单 forma,表单运行结果如图所示要求:(1)修改表单的基本属性,使得表单运行时自动居中(1 分) ,标题为My form(1 分) ,(autocenter)且作为顶层表单(2 分) 。showwindow(2)在表单的 init 事件中,在指定位置编写二行代码,分别使得该文本框显示当前日期(3 分) ,并且文本框的数据不可修改,但能获得焦点(3 分)thisform.text1.value=date()Thisform.readonly=.t.(3)已知组合框和列表框的 rowsourcetype 属性值都为 3-SQL 语句,并依此修改组合框的 Rowsouce
3、属性,使得其可以读取学生表中不同的籍贯 (重复值仅显示一次) ,参考代码:select_distinct_ _jg_ from xs _into_ cursor temp001 (5 分)(4)参考下面的代码,在组合框的interactivechange 事件中为列表框的 rowsource 属性设定值,使得在选择不同的籍贯时,该籍贯的所有学生能在列表框中显示。参考代码:this._parent_ . _list1_.rowsource=select xm from xs where jg=this._value_ into _cursor_temp002(5 分)第 2 题 (10.0 分)
4、 题号:9请在项目 JXGL 中实现关于查询和表单的道操作题:1.建立查询 chaxun已知 Jc 表包含: 出版社名称(cbsmc c) 出版年月(cbnf c) 定价(dj n)等字段基于 jc(教材)表统计各出版社 2000 年以后(含 2000年),出版的教材种数及平均定价.要求:(1)输出出版社名称、教材种数、平均定价(cbsmc、jczs、pjdj);查询结果按教材种数降序排序;输出去向为屏幕(即主窗口)(2)将查询保存为 chaxun.qpr2.修改表单 forma要求:1)修改表单的基本属性,使得表单运行时自动居中(1 分) ,autocenter且没有最大化、最小化(2 分)
5、 ,且作为顶层表单(2 分) 。Maxbutton,minbutton,showwindow2)在表格的 init 事件中,在指定位置写上代码,使得该表单一运行实现如图所示的单列背景为红色(3+3 分) 。3)如图所示,设置相关属性,使得表格的首列标题为学号,并居中(2+2 分)aligment4)修改命令按钮的属性,使得显示如图所示的退(X)出(2 分) ,在相应事件中编写代码,当用户单击该按钮时,自动退出该表单(3 分)thisform.realease第 3 题 (10.0 分) 题号:10请在项目 JXGL 中实现关于查询和表单的道操作题:1.建立查询 chaxun基于 XS 表和 C
6、J 表统计所有已登记的成绩中,有两门或两门以上课程不合格的学生的总课程门数和成绩不合格门数。要求:(1)输出字段为:XH、XM、总门数、不合格门数(输出显示 xh,xm,zms,bhgms) ,查询结果按不合格门数降序排序。(注:不合格是指成绩小于 60) 。(2)保存查询为 chaxun.qpr2.修改表单 forma要求:1)修改表单的基本属性,使得表单运行时自动居中(2 分) ,标题为My Form(2 分)并边框格式为固定对话框即,不能调整该表单边框(2 分) 。borestyle2)修改选项按钮组中的选项按钮属性,显示如图所示(3 分) ,设置选项按钮组值,使得其值为字符型的女(3
7、分)optiongroup 的属性3)设置表格的 recordsourcetype 属性为4-SQL 说明(2 分)4)依据以下示例代码,为选项按钮组的interactivechange 编写代码,当用户选择不同的性别时,将在表格中显示 xs 表中该性别所有学生的所有字段。示例代码:thisform.grid1._recordsource_=select _from xs where xb=_this.value_ into curs t003 (2 分+2 分+2 分)第 4 题 (10.0 分) 题号:11请在项目 JXGL 中实现关于查询和表单的道操作题:1.建立查询 chaxun工资表
8、(GZ)含有工号(gh, C) 、基本工资(jbgz,N) 、岗位津贴(gwjt,N) 、综合津贴(zhjt, N) 、住房补贴(zfbt,N)等字段。教师表(js)含工号(gh, C) 、院系专业代码(yxzydm,C)等字段。基于 JS 表和 GZ 表查询各院系专业教师人数和应发工资总额。要求:(1)查询输入字段为 yxzydm、人数、应发工资总额;查询结果按应发工资总额降序排序,且仅输出应发工资总额最多的前三个院系专业;输出去向为表文件 TEMP。注:应发工资总额=jbgz+gwjt+zhjt+zfbt(2)将查询保存为 chaxun.qpr2.修改表单 forma,运行界面如图所示。(
9、1)修改表单的基本属性,使得表单运行时自动居中(2 分) ,且为没有最大化按钮(2 分) 。(2)修改组合框的属性,将组合框的列数属性设置为2(3 分) ;已知组合框的 rowsourcetype 属性=6-字段,修改组合框的 rowsource 属性,组合框中显示学生(xs)的学号(xh)和姓名(xm)。(3 分)。(3)修改两个文本框的属性,文本框均只能获得焦点,不能更改内容(只读)(2 分)。(4)参考下面的代码,在组合框的interactivechange 事件中为 2 个文本文本框设定值,使得在选择不同的学生时,查询出该同学的总分和均分,并在 text1 中显示该学生的总分,在 te
10、xt2 中显示该学生的均分。 (2 分+2 分+2分+2 分)示例代码:select avg(cj.cj) ,_sum(cj.cj)_ from cj where xh=_this.value_ into _array_ abcthisform.text1.value=abc(1,1)thisform.text2.value=_abc(1,2)_thisform.refresh第 5 题 (10.0 分) 题号:12请在项目 JXGL 中实现关于查询和表单的道操作题:1.建立查询 chaxun已知教师(js)表存储了每名教师的基本信息,其中含院系专业代码(yxzydm,C) 、职称(zc,C)
11、 、出生日期(csrq,D)等字段。院系专业(yxzy)为院系专业代码与名称对照表,含院系专业代码(yxzydm,C) 、院系名称(yxmc,C)等字段。基于 js 表和 yxzy 表统计各院系职称为教授的人数和平均年龄。要求:(1)输出院系名称、教授人数和平均年龄(字段名依次分别为 yxmc、rs 和 pjnl) ,查询结果按平均年龄降序排列。(注:教师的年龄等于当前系统日期的年份减去出生日期的年份)(2)将查询保存为 chaxun.qpr2.修改表单 forma,运行效果如图所示(1)修改表单的有关属性,使表单的标题为数据浏览(1 分) ,且无最小化、最大化按钮(2 分) 。(2)将 cj 表添加到数据环境中,然后将 cj 表拖到表单上以生成一个表格控件(1 分) ,并设置表格的有关属性,使得表格中无删除标记列(2 分) 、无水平滚动条(2 分) 。Delletmark,srollbars(3)添加一个命令按钮组,按图所示为命令按钮组设置有关属性(6 分) ,并编写命令按钮组的 Click 事件代码,其功能是:首先将命令按钮组当前的 Value 属性值赋给变量n(3 分) ,然后调用表单的新方法 XXX(3 分) 。N=this.valueThisform.xxx