2001年(秋)江苏省等级考试上机试卷 二级 Visual FoxPro (VFP02)
(本试卷上机考试时间为70分钟)
说明:1.考试语言环境为Visual FoxPro 5.0/6.0 2.运行考试软盘A中的“上机考试”应用程序文件以输入考生的准考证号、姓名、试卷代号。 3.启动VFP系统后,首先在命令窗口中执行命令: set default to A: 以设置默认的工作目录,然后再开始作题。 |
一、项目、数据库和表操作
打开软盘根目录下的项目文件TESTB,在项目文件中已存在一个数据库SJK,根据下列要求在项目中完成有关数据库及表的操作。 1. 对学生表进行如下操作: (1) 将学生表中的ZP字段的标题设置为"照片" (2) 将学生表中JG字段的默认值设置为"江苏" (3) 添加一个字段:TC,宽度为20字节,类型为字符型 (4) 创建一个名为XC的普通索引,要求按照性别(XB)和出生日期(CSRQ)升序排列 (5) 已知学号的前两位数字表示学生的入学年份,为防止尚未毕业的学生记录被删除,必须删除的条件为:当前年份比入学年份大5,设置XS表相应的删除触发器艰苦建立。 2. 已知XS表已按XH字段建立主索引,索引名为XSXH,CJ表已按XH字段建立普通索引,索引名为CJXH,试基于XH建立XS表与CJ表的永久关系。 3. 修改XSB 表中的记录数据:修改所有记录的XH字段(学号)的值,若学号以"9"字符开头,则在其前插入"19",若以"0"开头,则在其前插入"20"。 4. 已知JS 表和RK表已按GH建立永久性关系,设置两个表之间的参照完整性规则:删除限制。
二、 设计查询 1. 在TESTB项目中已存在查询CHAXUNA,利用查询设计器基于JS表(教师)按如下要求设计查询:
查询各系男女教授的人数,输出字段为:XIMING,XB,人数,查询结果按XIMING排序。
2. 在TESTB项目中已存在CHAXUNB,SJK数据库中有一视图VZYCJ,该视图显示了各学生的各课成绩以及学生所属专业名称。基于KC表和VZYCJ视图按如下要求设计该查询:
查询各课程各专业的最高分和最低分。要求输出字段为:KCM,所属专业,最高分,最低分,查询结果按课程名(KCM)和所属专业的升序排列,查询结果的输出去向为临时表TMP。
三、 设计菜单 TESTB项目中已存在菜单MENUB,利用菜单设计器按如下要求修改菜单: 1. 为"数据录入"、"数据查询"、"统计分析"菜单栏分别设置热键为L、Q、C; 2. 为"统计分析"菜单栏创建下级子菜单,子菜单包含下列几项:
菜单名称 |
结果 |
快捷键 |
统计学生人数 |
过程 |
CTRL+T |
统计教师工资 |
命令 |
|
并在菜单项之间插入分组线: 3. 已知A盘根目录下已经存在表文件XS.DBF,为"统计学生人数"菜单项编制过程来统计XS表中学生的人数,将统计结果放在变量X中,并在系统提示窗口显示出来: 4. 在"统计分析"菜单栏后面增加一个"退出"菜单栏,并为它设置相应的命令,要求执行"退出"菜单时,将VFP主菜单设置为系统默认菜单。
四、 设计表单 已知表单FORMB中有两个列表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中当前选定的行重新移回到LIST1中; 6. 在"> "按钮的CLICK事件代码中添加适当代码,用来根据LIST1中的项数(ListCount属性)起用和废止"> "按钮:如果LIST1的项数为0,则废止按钮,否则起用按钮。修改"<"按钮的CLICK事件代码,使之具有类似的功能。 完成上述修改后运行表单,屏幕显示如下图所示:
|