2001年(秋)江苏省等级考试上机试卷 二级 Visual FoxPro (VFP05)
(本试卷上机考试时间为70分钟)
说明:1.考试语言环境为Visual FoxPro 5.0/6.0 2.运行考试软盘A中的“上机考试”应用程序文件以输入考生的准考证号、姓名、试卷代号。 3.启动VFP系统后,首先在命令窗口中执行命令: set default to A: 以设置默认的工作目录,然后再开始作题。 |
一、项目、数据库和表操作
打开软盘根目录中的项目文件TESTE,在该项目中已有一数据库SJK。 1. 按如下要求修改SJK中JS(教师)表的结构; (1) 将jg字段的标题设置为"籍贯",默认值设置为"江苏"; (2) 将gl字段(工龄)的有效性规则文本设置为:工龄应在1至50之间,并设置相应的有效性规则; (3) 添加一个通用型字段photo; (4) 创建一个名为gg的普通索引,要求先按gl(工龄)排序,工龄相同时按工号(gh)排序。 2.把软盘根目录中的表文件JSB.DBF添加为TESTE项目中的自由表。 3. 修改JSB表中的记录数据:将所有的工龄(gl)字段值加1。 4. 在ZY表(专业)中以zydh字段为索引表达式创建主索引zydh,在XS(学生)表中以zydh字段为索引表达式创建普通索引zydh,并以此建立ZY 表和XS表的永久性关系。 5. 已知JS表和RK表以按gh建立永久性关系,设置两个表之间的参照完整性规则:更新级联。
二.设计查询 1. 在TESTE项目中已存在查询chaxuna,按如下要求设计该查询:
基于XS表(学生)查询所以籍贯(jg)为非江苏籍的各地学生人数,要求输出字段为:jg,人数,查询结果按人数的升序排序。
2. 在TESTE项目中以存在查询chaxunb,按如下要求设计该查询:
在SJK数据库中存在XS表(学生)和CJ表(学生成绩),由于各种可能的原因,造成了CJ表中孤立记录的存在,即CJ表中的学号(xh)字段值是XS表中所没有的,试基于这两个表查询出CJ 表中所有孤立记录的学号,要求查询结果中没有重复的学号,查询结果按学号的升序排列,查询结果输出到临时表TMP。
三.设计菜单 TESTE项目中已存在菜单MENUE,利用菜单设计器按如下要求修改菜单; 1. 在"编辑"菜单栏下插入系统中的"查找"功能,将"查找"菜单项插在"浏览"菜单项的后面,并用分组线隔开; 2. 为"浏览"菜单项创建下级子菜单,子菜单包含下列几项;
菜单名称 |
结果 |
快捷键 |
学生表 |
过程 |
CTRL+S |
成绩表 |
过程 |
|
3. 在A盘根目录下已经存在表文件XS.DBF,为上述"学生表"菜单项编制相应的过程,当执行该菜单时,在浏览窗口显示xs表的内容; 4. 在"记录定位"菜单栏后面增加一个"退出"菜单栏,并为它设置相应的命令,要求当执行"退出"菜单时,将VFP主菜单设置为系统默认菜单。
四. 设计表单 已知表单forme中有两个列表LIST1和LIST2,当单击ADD按钮时,将LIST1中当前选定的行加到LIST2中,当单击MOVE按钮时,将LIST2中当前选定的行重新移回到LIST1中。根据下列要求对表单进行修改: 1. 将表单中ADD按钮和MOVE按钮的标题分别用大于号">"和小于号"<"表示; 2. 将LIST1中显示的的列改成A-F共6个字母; 3. 该表单不能最大化和最小化; 4. 为LIST1编制相应的事件代码,使得当在LIST1中双击时,将LIST1中当前选定的行加到LIST2中; 5. 为LIST2编制相应的事件代码,使得当在LIST2中双击时,将LIST2中当前选定的行重新移动到LIST2中; 6. 在">"按钮的Click事件代码中增加适当代码,用来根据LIST1中列表项的项数(ListCount属性)启用和废止">"按钮:如果LIST1中的项数为0,则废止按钮,否则启用按钮。修改"<"按钮的Click事件代码,使之具有类似的功能。 完成上述修改后运行表单,屏幕显示如下所示:
|