在考生文件夹下,打开招生数据库SDB,完成如下操作:
1. 在KSB表中增加一个名为"备注"的字段、字段数据类型为"字符"、宽度为30;
2. 在考生成绩表KSCJB中给成绩字段设置有效性规则和默认值,成绩 >=0 AND 成绩 <= 150;默认值为0;
3. 通过"考生号"字段建立KSB表和KSCJB表间的永久联系,并为该联系设置参照完整性约束:更新规则为"级联";删除规则为"限制";插入规则为"忽略"。
4. 使用报表向导建立一个简单报表。要求选择考生表KSB中所有字段;记录不分组;报表样式为随意式;列数为1,字段布局为"列",方向为 "纵向";排序字段为"考生号"(升序);报表标题为"考生成绩一览表";报表文件名为ONE.FRX。
解答:
1.通过表设计器或命令增加一个字段:
alter table ksb add 备注 C(30)
2.打开数据库,在数据库中通过表的快捷菜单进入表设计器,在表设计器中先单击成绩字段,再设置相应的规则。
3.通过拖动索引建立永久关系,用鼠标右键单击关系线,在快捷菜单中单击“编辑参照完整性”设置参照完整性。
4.按向导要求设计报表。
在考生文件夹下,打开招生数据库SDB,完成如下简单应用:
1. 使用一对多表单向导选择KSB表和KSCJB表生成一个名为TWO的表单。要求从父表KSB中选择所有字段,从子表KSCJB中选择所有字段,使用"考生号"建立两表之间的关系,样式为阴影式;按钮类型为图片按钮;排序字段为考生号(来自KSB),升序;表单标题为"考生数据输入维护"。
2. 在考生文件夹下打开命令文件THREE.PRG,该命令文件用来查询所有成绩都高于或等于平均分的学生的考生号和姓名。并将查询结果存储到表THREE中。
注意,该命令文件在第3行、第6行、第9行有错误,打开该命令文件,直接在错误处修改,不可改变 SQL语句的结构和短语的顺序,不允许增加、删除或合并行。
命令文件THREE.PRG的内容如下: 
解答:
1.按向导的要求设置即可。
2.第3行改为:INTO array tem
第6行改为:WHERE not exists;
第9行改为:WHERE 成绩 < tem(1) and 考生号 = ksb.考生号 );
在考生文件夹下,打开招生数据库SDB,完成如下综合应用:
1. 创建文件名为form的表单,将表单标题改为:录取研究生。
2. 在表单中设计"录取"和"退出"两个按钮。两个按钮功能分别如下:
⑴ 在"录取"按钮(Command1)中,编写程序,查询总成绩大于或等于330 分的考生的考生号、姓名、性别、单位和该生的政治成绩、外语成绩、高数成绩(即高等数学成绩)、专业课成绩、总成绩,并将结果按总成绩降序排序存储到表FOUR中。
表FOUR(需要自己创建或生成)的字段名为:考生号、姓名、性别、单位、政治成绩、外语成绩、高数成绩、专业课成绩、总成绩(各成绩字段的类型为N(5,1),其他字段的类型与原表中一致)。
⑵ 单击"退出"按钮(Command2)时,关闭表单。
3. 表单设计完成后,运行表单,单击"录取"按钮进行统计,然后单击 "退出"按钮关闭表单。
注:在考试科目代码表DM中存储了各考试科目与考试科目名对应关系。
解答:
建立表单,添加控件,设置其基本属性,如下图: 
设置“录取”按钮的Click事件代码为:
set talk off
sele 1
use ksb
copy stru to t1 fiel 考生号,姓名,性别,单位
alter table t1 add 政治成绩 N(5,1)
alter table t1 add 外语成绩 N(5,1)
alter table t1 add 高数成绩 N(5,1)
alter table t1 add 专业课成绩 N(5,1)
alter table t1 add 总成绩 N(5,1)
close all
sele 1
use ksb
do while !eof()
scat to kkk field 考生号,姓名,性别,单位
sele 2
use kscjb
sum(成绩) to a for 考生号=a.考生号
if a>=330
sele 4
use t1
appe blank
gath from kkk
sele 2
loca for 考生号=a.考生号
do while found()
sele 3
use dm
loca for 考试科目=b.考试科目
do case
case 考试科目名="政治"
sele 4
repl 政治成绩 with b.成绩
case 考试科目名="外语"
sele 4
repl 外语成绩 with b.成绩
case 考试科目名="高等数学"
sele 4
repl 高数成绩 with b.成绩
case 考试科目名="专业课"
sele 4
repl 专业课成绩 with b.成绩
endcase
sele 2
cont
enddo
endif
sele 1
skip
enddo
sele 4
repl all 总成绩 with 政治成绩+外语成绩+高数成绩+专业课成绩
sort on 总成绩/D to four
设置“退出”按钮的Click事件代码为:
Thisform.release
本题所用到的表为: 

| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|