回 帖 发 新 帖 刷新版面

主题:请教有关数据存取的问题~~~~~(已解决)

遇到一个问题,不知道解决方法,来向大家请教,谢谢您的帮助!
是这样,压缩包里有两个表aa,bb

aa 表字段有 导师姓名,科目名称等
例如:  导师姓名                     科目名称
      不区分导师组一                 语文
      不区分导师组一                 数学
      不区分导师组一                 英语
      不区分导师组二                 化学
      不区分导师组二                 政治

bb 表有字段  导师姓名,备注
例如:   导师姓名                    备注
       不区分导师组一              包含以下导师:张三、李四、王五
       不区分导师组二              包含以下导师:麻子、孙二

现在我需要将aa 表中的不区分导师组的全部代换成bb 表中的导师姓名,并把科目相应添加
就像下面这样的结果

         导师姓名                    科目名称
         张三                         语文
         张三                         数学
         张三                         英语
         李四                         语文
         李四                         数学                  
         李四                         英语
         王五                         语文
         。。。。。。
         。。。。。。
         孙二                         化学
         孙二                         政治


期待您的回复~~~

回复列表 (共14个回复)

沙发

结果是这样吗?

[img]http://p12.freep.cn/p.aspx?u=v20_p12_p_0809231327118320_0.jpg[/img]

板凳

谢谢cbl518老师!



初步判断:是的。[em4]

3 楼

急啊~~~~没有人可以给我点提示吗??
怎么提取一个BZ字段中的各位老师的名字呢?

4 楼

CREATE CURSOR 新表(Dsxm C(8),Yjfxmc C(28),kmm C(20))
USE aa IN 0
USE bb IN 0
SELECT bb
SCAN
SELECT aa
SCAN FOR aa.Dsxm=bb.Dsxm
FOR i=2 TO ALINES(ADsName, bb.Bz,1+4,":","、","。")
INSERT INTO 新表 VALUES (ADsName[i],aa.Yjfxmc,aa.Kskmmc)
ENDFOR
ENDSCAN
SELECT bb
ENDSCAN
SELECT * FROM 新表 ORDER BY Dsxm INTO TABLE 结果表

5 楼

以上的结果是你手需要的吗?

我认为:
还是保持源文件的结构比较好点。

6 楼

谢谢!
请问 下面这句 
FOR i=2 TO ALINES(ADsName, bb.Bz,1+4,":","、","。")

中的   1+4  是什么意思???

运行提示程序错误:函数参数的值、类型或数目无效。
我用的是VFP6.0

7 楼

怎么还用 vfp 6 呢?

vfp 6 是 wind95 环境下运行的,
有很多的命令在 xp 下运行都会有麻烦的!

8 楼

FOR i=2 TO ALINES(ADsName, bb.Bz,1+4,":","、","。")

改为:

FOR i=2 TO ALINES(ADsName, CHRTRANC(bb.Bz,":、。" ,chr(13)+chr(13)+chr(13)), .T.)

9 楼

试试看吧!

10 楼

谢谢~~
之前一直没用9.0,是对它的 group by 子句很不适应,所以一直用7.0和6.0

程序现在9.0运行正常,返回 2819条纪录,只是很奇怪,有25条纪录DSXM字段为空

程序改成
FOR i=2 TO ALINES(ADsName, CHRTRANC(bb.Bz,":、。" ,chr(13)+chr(13)+chr(13)), .T.)
可以在6.0 正常运行,返回  3163条纪录,有369条纪录DSXM字段为空

我来回复

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