2010Q VFP01 一、项目、数据库和表操作(12 分) 打开 T 盘根目录中的项目文件 JXGL,在该项目中已有一数据库 JXSJ。 1.在 JXSJ 数据库中按如下表格所示的结构创建 AB 表,并按表格中的要求设置相关属性。 宇段名 RQ SCSL SJRS BZ 数据类型 D N N M 宽度 0 6 6 0 宇段标题 日期 售出门票数量 实际参观人数 备注
(1) 设置 AB 表的表注释:参观人数; (2) 设置日期字段的默认值:当前系统日期;date() (3) 设置日期字段的显示类:微调框;选择字段选项卡 ,在“显示类”里选择 spinner (4) 设置记录有效性规则:实际参观人数小于或等于售出门票数量;sjrs<=scsl (5) 创建普通索引,索引名为 abcd,要求按实际参观人数与售出门票数量之比排序. Sjrs/scsl 2.在 AB 表中输入如下记录: RQ (默认值) SCSL 240100 SJRS 198808 BZ 全天下雨
3.给 KC 表中所有学分大于或等于 5 的记录加删除标记。 Delete from kc where xf>=5 4.JS 表已存在主索引 GH,索引表达式为 GH;KCAP 表已存在普通索引 GH,索引表达式 为 GH。以 JS 表为主表、KCAP 表为子表,根据 GH 建立永久关系,并设置两表之间的参照 完整性:更新级联、删除级联。
二、设计查询(8 分) 已知教师表(JS)含有工号(gh,C)、(xm,C)等字段;自由表图书借阅表(JYB)含有读 者号(dzh,C)、分类号(flh,C)、借阅日期(jyrq,D)、还书日期(hsrq,D)等字段,教师的读 者号与工号相同。按如下要求修改 JXGL 项目中的查询 CHAXUN: 基于 JS 表和 JYB 表查询教师借书情况, 计算过期罚款信息。 要求: 查询输出字段为 dzh、 xm、罚款额;查询结果按罚款额降序排序;输出去向为文本文件 TEMP。 注:罚款计算方法为 30 天以上超过部分每本每天 0.10 元,未还书者(即还书日期为空 的记录)不统计。 SELECT Jyb.dzh, Js.xm,; sum(iif((hsrq-jyrq)>30,(hsrq-jyrq-30)*0.10,0) ) as 罚款额; FROM jxsj!js INNER JOIN jyb ; ON Js.gh = Jyb.dzh; GROUP BY Js.gh; ORDER BY 3 DESC; TO FILE temp.txt 三、设计菜单(5 分) JXGL 项目中已存在菜单 MENU,其中已定义了“文件”菜单栏及其中的“退出菜单”项。
按如下要求设计菜单,菜单运行后的效果如图 1 所示。 1. 在“文件”菜单栏右侧创建“数据管理”菜单栏。 2. 在“数据管理”菜单栏下创建子菜单“查询”和“数据备份” 。 3. 为“查询”菜单项设置快捷键:F12。 4. 在菜单项“查询”和“数据备份”之间插入分组线。 5. 为“数据备份”菜单项设置过程代码: d=GETFILE("dbf","*.dbf") USE &;d COPY TO bf1 四、设计表单(10 分) 表单 F101A 用于统计输入文本中各类字符的个数。按下列要求修改表单,修改后表单 运行时如图 2 所示。 1. 修改表单的有关属性,使表单的标题为 “字符数统计” 并设
置字数统计的三个 , 文本框禁用。 Caption:字符数统计 多重选定文本框:readonly:.t. 2.适当加大 Shape1 形状的高度,在其区域 内增加一个标签控什 Label Sum 和一个文本 框控件 Text4,并设置 Labe1 Sum 的标题为 “总字符数:。 ” 2. 编写“清空”按钮的 Click 事件代码, 用 2 条语句实现如下功能:(1)清除编辑 框 Editl 中的文本;(2)使“字数统计”矩 形区域内的 4 个文本框的值均置零。 thisform.edit1.value="" thisform.text1.value="" thisform.text2.value="" thisform.text3.value="" thisform.text4.value="" 4.表单已定义了一个 Count()方法,用来对 Edit1 编辑中的文本进行字数统计。编写“统计” 按钮的 Click 事件代码,以实现:先调用表单的 Count( )方法,然后将文本框 Text1、Text2 和 Text3 的值相加后显示在文本框 Text4 中。 thisform.count() thisform.text4.value=thisform.text1.value+thisform.text2.value+thisform.text3.value 五、程序改错(5 分) 下列程序的功能是找出 100-999 以内同时满足以下条件的数:1)个位数字与十位数字和 与 10 的模