求VFP大神呀

建立一数据库文件,STUDENT.dbc
再建立一数据库表stud1.dbf,表中字段为: 学号/c/4, 姓名/c/10, 性别/c/2, 生日/d,联系电话/c/11, 是否党员/l,备注/m;
再建一学生成绩表stud2.dbf,表中字段为:学号/c/4, 数学/N/6/1,英语/N/6/1,语文/N/6/1,综合成绩/N/6/1,总分/N/6/1;
表中数据说明:
a、对性别字段设置默认值为男,字段有性规则为只允许输入(男,女)
b、总分字段的值在数据录入时不录入,通过计算得到。
c、stud2.dbf表中的记录可以比stud1.dbf表中的记录个数少,但学号字段在stud2.dbf中有的记录在stud1.dbf中一定要有。
d、学号字段值唯一。
e、 stud2.dbf中至少输入10条记录(学号值可以无序)
针对以上两个表完成以下操作:(写出以下操作命令)

打开表stud1.dbf
浏览stud1.dbf的结构信息,浏览stud1.dbf的记录信息
修改表stud1.dbf的结构,添加字段年龄/N/2,并设置年龄字段与生日字段的记录有效性规则
在表stud1.dbf后追加一条记录
显示姓“张”的同学的信息
显示stud1.dbf中所有男同学的信息
逻辑删除记录号为5、6、7的记录
恢复记录号为5、6的记录
删除已有删除标记的记录
关闭stud1.dbf
打开stud2.dbf
计算每个学生的总分,总分=数学+语文+综合。
显示总分成绩为600分以上的学生学号、总分
按总分由高到低对stud2. dbf排序生成新表stud3. dbf,新表中包含学号、数学、语文、综合成绩、总分字段
将总分为600分以上的学生人数统计出来存入变量X中
计算所有学生的语文总分,数学总分,分别存入变量c、d中 (用sum)
计算所有学生的语文平均分,数学平均分,分别存入变量c、d中(average)
关闭stud2. dbf表
打开表stud3. Dbf,用浏览窗口观察排序后的数据,
在表stud3.dbf的第五行插入一条记录,并输入内容
关闭表stud3. dbf
打开STUDENT.dbc数据库设计器,如果stud2表不在库中,将其添加,否则,不做操作
在第一工作区中打开stud1. dbf表 ,浏览表的记录
在第二工作区中打开stud2. dbf表,浏览表的记录
在第一工作区中按学号建立主索引,索引名为xh
按生日建立普通索引,索引号为bir
确定xh为主控索引。
用list或brow命令列出所有学生信息(观察与无索引之前的不同)
在第二工作区中按学号建立候选索引,索引名为xh
以学号字段建立俩个表之间的关联,父表为stud1. dbf,子表为stud2.dbf,用brow命令打开两个表的浏览窗口,观察两表之间的数据联动。(用set relation 命令建立临时联系)
当前工作区为1,通过list命令列出所有学生学号、姓名、年龄、数学、语文、综合、总分字段的值。
根据自己的理解设置参照完整数(建立两个表之间永久联系再设置)
关闭工作区1中的表。
关闭工作区2中的表。

前面的估计都会操作吧。
我把后面的命令部分给你写一下。
打开表stud1.dbf
Use stud1.dbf

浏览stud1.dbf的结构信息,浏览stud1.dbf的记录信息
Display structure
List

修改表stud1.dbf的结构,添加字段年龄/N/2,并设置年龄字段与生日字段的记录有效性规则
Modify structure
字段名:年龄;类型:INT
Replace 年龄=year(date())-year(生日)

在表stud1.dbf后追加一条记录
Append blank

显示姓“张”的同学的信息
List for left(姓名,2)=”张”

显示stud1.dbf中所有男同学的信息
List for 性别=”男”

逻辑删除记录号为5、6、7的记录
Delete all for recn()>=5 and recn()<=7

恢复记录号为5、6的记录
RECALL for recn()>=5 and recn()<=6

删除已有删除标记的记录
pack

关闭stud1.dbf
Use

打开stud2.dbf
Use stud2.dbf

计算每个学生的总分,总分=数学+语文+综合。
Replace all 总分 with 数学+语文+综合

显示总分成绩为600分以上的学生学号、总分
List 学号,总分 all for 总分>=600

按总分由高到低对stud2. dbf排序生成新表stud3. dbf,新表中包含学号、数学、语文、综合成绩、总分字段
Sort on 总分 field 学号,数学,语文,综合成绩,总分 to stud3. dbf

将总分为600分以上的学生人数统计出来存入变量X中
Count all for 总分>=600 to X

计算所有学生的语文总分,数学总分,分别存入变量c、d中(用sum)
Sum all 语文,数学 to c,d

计算所有学生的语文平均分,数学平均分,分别存入变量c、d中(average)
average all 语文,数学 to c,d

关闭stud2. dbf表
Use

打开表stud3. Dbf,用浏览窗口观察排序后的数据,
Use stud3

在表stud3.dbf的第五行插入一条记录,并输入内容
Go 5
Insert blank before
(输入内容)

关闭表stud3. Dbf
Use

打开STUDENT.dbc数据库设计器,如果stud2表不在库中,将其添加,否则,
不做操作
modify database STUDENT.dbc
添加或不添加stud2表

在第一工作区中打开stud1. dbf表,浏览表的记录
Use stud1. Dbf in 1

在第二工作区中打开stud2. dbf表,浏览表的记录
Use stud2. Dbf in 2

在第一工作区中按学号建立主索引,索引名为xh
Select 1
点击VF的标题栏的“显示”,再选中“表设计器”。选中“索引”,在“索引名”一栏输入关键字,再在“类型”中选“主索引”就OK了

按生日建立普通索引,索引号为bir
Index on 生日 tag bir

确定xh为主控索引。
“表设计器”—》“索引”中设置

用list或brow命令列出所有学生信息(观察与无索引之前的不同)
Browse

在第二工作区中按学号建立候选索引,索引名为xh
同上

以学号字段建立俩个表之间的关联,父表为stud1. dbf,子表为stud2.dbf,用brow命令打开两个表的浏览窗口,观察两表之间的数据联动。(用set relation 命令建立临时联系)
Select 1
set relation to xh into stud2

当前工作区为1,通过list命令列出所有学生学号、姓名、年龄、数学、语文、综合、总分字段的值。
Select 1
List 学号,姓名,年龄,数学,语文,综合,总分

根据自己的理解设置参照完整数(建立两个表之间永久联系再设置)
自己的理解

关闭工作区1中的表。
Use in 1
关闭工作区2中的表。
Use in 2追问

谢谢大神

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-10
太难为人了,我想回答,但题目太长,看题目的时间比做题的时间长。
劝:要一句话问不会的,简单的自己学,太小白了追问

实在不好意思,那我再琢磨一下

第2个回答  2013-10-10
这么多内容,不觉得有点难为大神吗。。追问

老师讲的太快了,渣渣实在听不懂,只能找大神了😭

相似回答