回 帖 发 新 帖 刷新版面

主题:[讨论]求助:一个大难题和三个小问题

您好,谢谢您的热心,不管成功与否都要谢谢您的热心。先看问题

表1是原先的成绩,表2是经过检查发现错误修改后的成绩(以表2 成绩为准)。用个什么命令可以把表2那些成绩被修改的学生找出来?

答案是:11号李驾  语文改成了A 科学改成了B

15号国芳    音乐改成了A

22号高涛   语文改成了B  数学改成了C  社会改成了D

24号韩红  科学,社会,美术,音乐全部改成了B    



还有3个小问题:

第一个问题是用个什么命令可以把60个学生,在“学号”的这个字段里从1开始排列,即1,2,3,4,5,6,.......59,60

第二个问题我想把表里的科目A B C D改成相应的优 良 中 差  即A改成优  B改成良C改成中D差


第三个问题是我想把姓名字段里的带“涛”字的人名摘选出来

您看着三个问题各用个什么命令解决?

我这里有附件,包括表1表2

回复列表 (共2个回复)

沙发

1、用 do while !eof() ......enddo 给学号字段添加学号
i=1
go top
do while !eof()
repl 学号 with i &&如果学号字段是字符型,把 i 换成 allt(str(i))
i=i+1
enddo 

2、建一个TH.prg文件或者自定义函数
para cTH
do case
case cTH="A"
retu "优"
case cTH="B"
retu "良"
case cTH="C"
retu "中"
case cTH="D"
retu "差"
endcase
retu cTH

然后用 repl all 语文 with TH(语文),科学 with TH(科学),........,音乐 with TH(音乐)

3、用 set filt to "涛"$姓名  筛选姓名中带"涛"字的记录
或者用 sele * from 表1 where 姓名 like "%涛%"

以上没测试。

板凳

先说小问题
1、把60个学生怎么样,你没讲。
如果只是排个号,可用
repl all 学号 with recno() && 字段应是数值型

2、
 repl 学科 with "优" for 学科="A"
其他类似 

3、 set filt to "涛"$姓名

再说大的

给你一个方法:写个小程序

1、在两个工作区中分别打开表1和表2
2、对表1中的每个人,在表2中找到他的对应成绩,并比较两个成绩是否一致
3、如不一致,按要求显示内容
4、继续下一个人,直到结束

另:如果表中的人数很多,上述方法会花你很长时间,对此
你可以对两个表进行索引,再按索引顺序进行比较,这样会快许多。

我来回复

您尚未登录,请登录后再回复。点此登录或注册