VF高级应用参考答案.docx
- 文档编号:25258268
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:22
- 大小:25.09KB
VF高级应用参考答案.docx
《VF高级应用参考答案.docx》由会员分享,可在线阅读,更多相关《VF高级应用参考答案.docx(22页珍藏版)》请在冰豆网上搜索。
VF高级应用参考答案
高级应用
第一题
根据以下要求,完成综合应用操作,所有文件保存在指定文件夹下:
设计一个表单myform003,上有两个命令按钮“查询”和“退出”(名称分别为Command1和Command2)。
(1)单击“查询”命令按钮,查询chengji数据表中三门课成绩均超过90的学生信息,包括学生姓名和学生性别;查询结果按学生姓名升序保存在表NEW_TABLE中。
进行建立表单,添加按钮,设置属性等基本操作。
然后设置“查询”命令按钮Command1的单击事件代码为:
select学生姓名,学生性别fromchengjiwhere数学>90and语文>90and物理>90orderby学生姓名intotablenew_table
(2)单击“退出”命令按钮关闭表单。
注意:
完成表单设计后要运行表单的所有功能。
第二题
根据以下要求,完成综合应用操作,所有文件保存在指定文件夹下:
设计一个名为myform003的表单,表单的标题为“基本情况浏览表单”。
表单中有四个文本框(名称为text1、text2、text3、text4)(设置文本框的controlsource为对应的字段),四个标签按钮(名称为label1、label2、label3和label4),其属性caption值分别为:
学号、姓名、性别和班级,三个命令按钮“上一条”、“下一条”和“退出”(名称分别为Command1、Command2和Command3)。
运行表单时,单击“上一条”则显示表xsqk.dbf当前记录的上一条记录,单击“下一条”则显示当前记录的下一条。
单击“退出”按钮关闭表单。
注意:
完成表单设计后要运行表单的所有功能。
上一条程序代码:
skip-1
ifrecno()=1
mand1.enabled=.F.
endif
mand2.enabled=.T.
thisform.refresh
下一条程序代码:
top_rec=recno()
gobottom
bottom_rec=recno()
gotop_rec
skip
ifrecno()=bottom_rec
mand2.enabled=.F.
endif
mand1.enabled=.T.
thisform.refresh
详细参见课本P197例6-6
第三题
根据以下要求,完成综合应用操作,所有文件保存在指定文件夹下:
设计一个名为“myform003”的表单,表单的标题为“学生基本情况查询表”。
表单中有一个列表框(名称为list1)、四个标签(名称为label1、label2、label3、label4,其显示的值分别为:
姓名、性别、学院、班级)、四个文本框(名称为text1、text2、text3、text4分别显示数据表xsxi.dbf中的选中学生的姓名、性别、学院和班级)。
运行表单时,列表框中双击一个学生学号后,则在右侧文本框中显示其基本情况单击“退出”按钮关闭表单。
注意:
完成表单设计后要运行表单的所有功能。
注意:
把xsxi.dbf添加到表单的数据环境中,设置文本框的controlsource为对应的字段。
列表框控件的Dblclick事件代码:
locatefor学号=this.value
iffound()
thisform.text1.value=xsxi.姓名
thisform.text2.value=xsxi.性别
thisform.text3.value=xsxi.学院
thisform.text4.value=xsxi.班级
endif
thisform.refresh
list1的rowsourcetype改为6-字段,rowsource改为xsxi.学号
详细参见课本P212例6-14
第四题
根据以下要求,完成综合应用操作,所有文件保存在指定文件夹下:
设计一个名为“myform003”的表单,表单的标题为“职工工资统计”。
表单中有一个组
合框(名称为Combo1)、一个表格(名称为Grid1)、一个标签(名称为lable1,内容为“职
称”)、一个命令按钮“退出”(名称为Command1)。
运行表单时,求出表zggz.DBF和rsda1中各种职称职工的平均实发工资和实发工资的
总和。
单击“退出”按钮关闭表单。
注意:
完成表单设计后要运行表单的所有功能。
Combol的rowsource:
SelectDistinct职称FormRsda1IntoCursorTmp
Combol的rowsourcetype:
3-SQL语句
Gird1的recordsoure:
Rsgz
Grid1的recordsouretype:
4-SQl说明
Grid1的columncount:
3
3个header的caption分别改为:
职称、平均实发工资、实发工资总和
Combol1的interactivechange事件代码:
thisform.grid1.recordsource="select职称,avg(实发工资)as平均实发工资,;
sum(实发工资)as实发工资总和formzggz,rsda1;
wherezggz.编号=rsda1.编号and职称=alltrim(this.value);
intocursorttl"
thisform.refresh
参见课本P225示例6-22。
第五题
根据以下要求,完成综合应用操作,所有文件保存在指定文件夹下:
设计一个名为“myform003”的表单,表单的控件名为form1,表单的标题为“按职称查询”。
表单中有一个表格(名称为Grid1)、一个标签(名称为label1,内容为“输入查询内容”)一个文本框(名称为text1,显示查询的职称),一个复选框(名称为check1,内容为“职称”),两个命令按钮“查询”和“退出”(名称分别为Command1和Command2)。
运行表单时,当选择职称时(text1的controlsource为rsda1.职称),文本框中显示RSDA1.DBF中的职称(添加数据环境),同时在表格中显示该职称的记录的编号、姓名、性别、职称。
单击“退出”按钮关闭表单。
注意:
完成表单设计后要运行表单的所有功能。
参见课本P226示例6-23。
查询的事件代码:
IFTHISFORM.CHECK1.VALUE=1
SELECT编号,姓名,性别,职称FROMrsda1WHERE职称=THISFORM.TEXT1.VALUEINTOCURSORLSB
ENDIF
THISFORM.GRID1.COLUMNCOUNT=-1
THISFORM.GRID1.RECORDSOURCE="LSB"
第六题
根据以下要求,完成综合应用操作,所有文件保存在指定文件夹下:
设计一个名为“myform003”的表单,表单的控件名为form1,文件名为“myform003”,表单的标题为“统计”。
表单中有一个组合框(名称为Combo1)、一个列表框(名称为Grid1)、一个命令按钮“确定”(名称分别为Command1),一个标签(名称为label1,显示记录相应值)。
一个文本框(名称为text1,输入记录号)
运行表单时,组合框中选择数据表rsda1后,在列表框中,显示该表中的字段名,选择字段名后,在文本框中输入记录号,单击确定,则在标签中显示该记录号的该字段的值。
单击“退出”按钮关闭表单。
(注意添加第二个命令按钮Command2)
注意:
完成表单设计后,在文本框中输入6后,运行表单的所有功能。
本题的要求是:
在组合框中选定表为rsda1.dbf,则该表的字段显示在列表框中,选定某个字段,比如为姓名,在文本框中指定记录号,比如为6,则点击确定后标签中显示显示rsda1.dbf中第6条记录的姓名字段的值。
建立表单,添加组合框(名为Combo1)、一个列表框(名为List1),一个命令按钮(名为Command1),一个标签(名为label1),一个文本框(名为text1)。
依次设置控件属性如下:
Combo1:
RowsourceType属性值为7-文件;
List1:
RowsourceType属性值为8-结构;
Command1:
Caption属性值为“确定”;
Command2:
Caption属性值为“退出”;
组合框combo1的Interactivechange事件的程序代码如下:
x=bo1.value&&取当前表名存储到变量X
use&x&&打开表
thisform.List1.rowsource=x&&表的结构字段加入到列表框
thisform.List1.refresh&&刷新列表框内容
确定按钮Command1的单击事件程序代码如下:
jlh=val(thisform.text1.value)&&取文本框中指定的记录号
gojlh&&移动到该记录
nr=thisform.List1.value&&取该记录对应字段的值到变量nr
thisform.label1.caption=&nr&&变量内容显示在标签的Caption中
退出按钮Command2的单击事件程序代码如下:
Closetables&&系统退出时关闭打开的表
Thisform.release
第七题
根据以下要求,完成综合应用操作,所有文件保存在指定文件夹下:
设计一个名为“myform003”的表单,表单的控件名为form1,文件名为“myform003”,表单的标题为“统计职工人数”。
表单中有二个复选框框(名称为check1、check2,其属性caption分别为教授、副教授)、一个标签(名称为label1,内容为“显示人数”)、一个文本框(名称为rext1,用于显示结果)、两个命令按钮“统计”和“退出”(名称分别为Command1和Command2)。
运行表单时,当选择一个职称时,在文本框中显示rsda1.Dbf中该职称的人数。
单击“退出”按钮关闭表单。
注意:
完成表单设计后要运行表单的所有功能。
参见课本P209示例6-13。
Command1的click事件代码如下
docase
casethisform.check1.value=0andthisform.check2.value=0
thisform.text1.value=""
casethisform.check1.value=1andthisform.check2.value=0
counttojsfor职称="教授"
thisform.text1.value=js
casethisform.check1.value=0andthisform.check2.value=1
counttofjsfor职称="副教授"
thisform.text1.value=fjs
casethisform.check1.value=1andthisform.check2.value=1
counttojsfjsfor职称="教授"or职称="副教授"
thisform.text1.value=jsfjs
casethisform.check1.value=0andthisform.check2.value=0
counttoqtfor职称!
="教授"and职称!
="副教授"
thisform.text1.value=qt
casethisform.check1.value=1andthisform.check2.value=0
counttojqstfor职称!
="副教授"
thisform.text1.value=jsqt
casethisform.check1.value=0andthisform.check2.value=1
counttofjsqtfor职称!
="教授"
thisform.text1.value=fjsqt
casethisform.check1.value=1andthisform.check2.value=1
counttors
thisform.text1.value=rs
endcase
thisform.refresh
退出按钮Command2的单击事件程序代码如下:
Closetables
Thisform.release
第八题
根据以下要求,完成综合应用操作,所有文件保存在指定文件夹下:
设计一个名为“myform003”的表单,表单的控件名为form1,文件名为“myform003”,表单的标题为“按季度统计”。
表单中有一个选项按钮组(名称为optiongroup1)、二个标签(名称为label1和label2,内容为“订单数”和“总金额”)、两个文本框(名称为text1和text2,在此显示订单数和总金额),一个命令按钮“退出”(名称为Command1)。
运行表单时,当单击某个选项按钮,相应季度内签订的订单数量和总金额就会显示在对应的文本框中,使用的数据表为ddsj.dbf。
单击“退出”按钮关闭表单。
注意:
完成表单设计后要运行表单的所有功能。
添加ddsj.dbf到表单的数据环境。
添加按钮组,设置其按钮数目buttoncount为4,分别设置每个按钮项的标题为第1、2、3、4季度。
其他控件按要求设置。
Optiongroup1的单击代码如下:
selectcount(*)as订单数,sum(金额)as总金额fromddsjwhere签订季度=str(thisform.optiongroup1.value,1)groupby签订季度intocursortmp
thisform.text1.value=str(订单数)
thisform.text2.value=str(总金额)
退出按钮Command1的单击事件程序代码如下:
Closetables
Thisform.release
第九题
根据以下要求,完成综合应用操作,所有文件保存在指定文件夹下:
设计一个名为“myform003”的表单,表单的控件名为form1,文件名为“myform003”,表单的标题为“订单查询”。
表单中有一个标签(名称为label1,内容为“选择职员”)、一个表格(名称为Grid1)、一个命令按钮“退出”(名称分别为Command1),一个组合框(名称为combo1)。
运行表单时,当从组合框中选择某个职员时,会在表格内显示该职员所签订的订单信息(订单号、客户号、签订季度、金额),使用的数据表为ddsj.DBF。
单击“退出”按钮关闭表单。
注意:
完成表单设计后要运行表单的所有功能。
把ddsj.DBF添加到表单的数据环境;表格控件Grid1的recordsourcetype属性设置为4-sql说明;组合框控件combo1的rowsourcetype设置为6-字段,rowsource设置为“职员”。
组合框控件combo1的interactivechange事件程序代码:
注意以下命令格式中标点符号一个也不能错,不能省略,否则SQL语句执行可能会出问题。
thisform.grid1.recordsource="select订单号,客户号,签订季度,金额fromddsj;
where职员="+'"'+this.value+'"intocursortmp'
thisform.refresh
退出按钮Command1的单击事件程序代码如下:
Closetables
Thisform.release
第十题
根据以下要求,完成综合应用操作,所有文件保存在指定文件夹下:
设计一个名为“form_book”的表单,表单的控件名为form1,文件名为“form_book”,表单的标题为“图书情况统计”。
表单中有一个组合框(名称为Combo1)、一个表格(名称为Grid1)、两个命令按钮“统计”和“退出”(名称分别为Command1和Command2)。
运行表单时,组合框中显示出显示出“清华大学出版社”、“经济科学出版社”和“高等教育出版”三条项目(只有出版社名称,不能输入新的)可供选择,在组合框中选择一个出版社名称后,如果单击“统计”命令按钮,则表格控件中显示出“BOOKS”表中该出版社的图书的信息(包括作者姓名,图书名称,出版单位)。
单击“退出”按钮关闭表单。
注意:
完成表单设计后要运行表单的所有功能。
把books.DBF添加到表单的数据环境;表格控件Grid1的recordsourcetype属性设置为4-sql说明;组合框控件combo1的rowsourcetype设置为1-值,rowsource设置为“清华大学出版社,经济科学出版社,高等教育出版社”。
Command1的单击事件程序代码:
注意以下命令格式中标点符号一个也不能错,不能省略,否则SQL语句执行可能会出问题。
thisform.grid1.recordsource="select*frombookswhere出版单位="+'"'+bo1.value+'"intocursortmp'
thisform.grid1.refresh
第十一题
根据以下要求,完成综合应用操作,所有文件保存在指定文件夹下:
设计一个名为“myform003”的表单,表单的控件名为form1,文件名为“myform003”,表单的标题为“记录插入更新”。
表单中有四个标签(名称为label1、label2、label3、label4,内容分别为“学号”、“姓名”、“性别”、“班级”),四个文本框(名称为text1、text2、text3、text4,分别用于输入学号、姓名、性别、班级),一个表格(名称为Grid1)、三个命令按钮“插入”、“更新”和“退出”(名称分别为Command1、command2,command3)。
运行表单时,利用SQL语句实现记录的插入和更新(输入text1中学号与表中学号相同,完成更新班级操作),使用的数据表为xsxi.DBF。
单击“退出”按钮关闭表单。
注意:
完成表单设计后要运行表单的所有功能。
参见课本P227示例6-24。
Grid1的columncount属性为4,recordsource属性为xsxi
Command1的click代码
insertintoxsxi(学号,姓名,性别,班级);
values(thisform.text1.value,thisform.text2.value,thisform.text3.value,thisform.text4.value)
Command2的click代码
bj=val(alltrim(thisform.text4.value))
updatexsxiset班级=bjwhere学号=thisform.text1.value
退出按钮Command3的单击事件程序代码如下:
Closetables
Thisform.release
第十二题
根据以下要求,完成综合应用操作,所有文件保存在指定文件夹下:
设计一个如下图所示的表单Myform1(控件名为form1,表单文件名Myform1.scx),用于对SCORE_MANAGER数据库中的数据进行查询。
表单的标题为"成绩查询"。
表单左侧有文本"输入学号(名称为Label1的标签)"、用于输入学号的文本框(名称为Text1)、"查询"(名称为Command1)和"退出"(名称为Command2)两个命令按钮以及1个表格控件(名称为Grid1)。
表单运行时,首先在文本框中输入学号,然后单击"查询"按钮,如果输入学号正确,在表单右侧以表格形式显示该生所选课程名和成绩。
单击"退出"按钮,关闭表单。
参见课本P218示例6-17。
步骤1:
在命令窗口中输入"CREATEFORMmyform1",新建一个表单。
按题目的要求添加一个标签控件、一个文本框控件、两个命令按钮和一个表格控件。
设置表单的Caption属性为"成绩查询",标签控件的Caption属性为"输入学号",Command1的Caption属性为"查询",Command2的Caption属性为"退出";设置表格的ColumnCount属性为"2",RecordSourceType属性为"0-表",第1列的Caption属性为"课程名",第2列的Caption属性为"成绩"。
步骤2:
右击表单空白处,选择"数据环境"命令,将表course和score1添加到数据环境中。
步骤3:
双击命令按钮,编写命令按钮的Click事件代码。
******"查询"按钮的Click事件代码******
SELECTcourse.课程名,score1.成绩;
FROMcourse,score1;
WHEREcourse.课程号=score1.课程号ANDscore1.学号=ThisForm.Text1.text;
INTOTABLEcoruse_cursor
IFRECC()=0
MESSAGEBOX("学号不存在,请重新输入学号")
ELSE
ThisForm.Grid1.RecordSource="coruse_cursor"
ThisForm.Grid1.refresh
ENDIF
退出按钮Command2的单击事件程序代码如下:
Closetables
Thisform.release
第十三题
根据以下要求,完成综合应用操作,所有文件保存在指定文件夹下:
利用菜单设计器建立一个条形菜单TJ_MENU3,菜单项有"统计"和"退出"两项。
要求如下:
(1)“统计”菜单下只有一个“平均”菜单项,该菜单项用来统计各门课程的平均成绩,统计结果包含“课程名”和“平均成绩”两个字段,并将统计结果按课程名升序保存在表NEW_TABLE中。
(2)“退出”菜单项的功能是返回VisualFoxPro系统菜单(只能在命令框中填写相应命
令)。
【操作步骤】
步骤1:
通过菜单设计器新建一个菜单,输入菜单项"统计"和"退出"。
步骤2:
为"统计"菜单项建立子菜单,并输入菜单项"平均"。
步骤3:
在"平均"菜单的"结果"中选择"过程",单击"编辑"按钮,在弹出的程序编辑窗口中输入下列代码:
*****"平均"菜单项中的过程代码*****
SETTALKOFF
OPENDATABASESCORE_MANAGER
SELECTCourse.课程名,AVG(Score1.成绩)as平均成绩;
FROMcourse,score1;
WHERECourse.课程号=Score1.课程号;
GROUPBYCourse.课程名;
ORDERBYCourse.课程名;
INTOTABLENEW_TABLE32
CLOSEALL
SETTALKON
步骤4:
在"退出"菜单的结果中选择"命令",输入语句:
SETSYSMENUTODEFAULT。
步骤5:
保存菜单为TJ_M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VF 高级 应用 参考答案