回 帖 发 新 帖 刷新版面

主题:[讨论]求助,怎么从一个字段中抽取内容填充新字段内容?

[img]http://blog.xmfish.com/attachments/2009/07/32049_200907250938551742X.jpg[/img]
原来有字段 jtcy 现在想变成如下效果

[img]http://blog.xmfish.com/attachments/2009/07/32049_200907250932541Dp8W.jpg[/img]

就是遇到字符“|”或“#”,新建一字段,并把相应内容填充进去
请问该如何实现
谢谢指导

回复列表 (共1个回复)

沙发

** 由于家庭成员和简历的数据可能是若干条,如果在一个表中成员1、成员2、...,简历1、简历2...会造成数据结构的复杂性且不容易控制,所以分别建立成员表(CY)和简历表(JL),然后与AA表用'BMH'建立关联就可以了。

IF !USED("aa")
  USE aa IN 0
ENDIF
CREATE CURSOR CY(bmh c(10),xm c(8),gxr c(8),dwzw c(40),dh c(15))
CREATE CURSOR JL(bmh c(10),xm c(8),QZSJ c(20),dw c(40),ZW c(20))

SELECT aa
GO TOP
DO WHILE !EOF()
  cBMH=bmh
  cXM=xm
  cJTCY="#"+jtcy
  cXXGZJL="#"+xxgzjl
  DO WHILE "#"$cJTCY
    cJTCY=SUBSTR(cJTCY,AT("#",cJTCY)+1)
    cGXR=LEFT(cJTCY,AT("|",cJTCY)-1)
    IF LEN(cGXR)=0
      EXIT
    ENDIF
    cJTCY=SUBSTR(cJTCY,AT("|",cJTCY)+1)
    cGXR=LEFT(cJTCY,AT("|",cJTCY)-1)
    cJTCY=SUBSTR(cJTCY,AT("|",cJTCY)+1)
    cDWZW=LEFT(cJTCY,AT("|",cJTCY)-1)
    cJTCY=SUBSTR(cJTCY,AT("|",cJTCY)+1)
    cDH=LEFT(cJTCY,AT("#",cJTCY)-1)
    INSERT INTO CY (bmh,xm,gxr,dwzw,dh) VALUES (cBMH,cXM,cGXR,cDWZW,cDH)
  ENDDO
  DO WHILE "#"$cXXGZJL
    cXXGZJL=SUBSTR(cXXGZJL,AT("#",cXXGZJL)+1)
    cQZSJ=LEFT(cXXGZJL,AT("|",cXXGZJL)-1)
    IF LEN(cQZSJ)=0
      EXIT
    ENDIF
    cXXGZJL=SUBSTR(cXXGZJL,AT("|",cXXGZJL)+1)
    cDW=LEFT(cXXGZJL,AT("|",cXXGZJL)-1)
    cXXGZJL=SUBSTR(cXXGZJL,AT("|",cXXGZJL)+1)
    cZW=LEFT(cXXGZJL,AT("#",cXXGZJL)-1)
    INSERT INTO JL (bmh,xm,QZSJ,dw,ZW) VALUES (cBMH,cXM,cQZSJ,cDW,cZW)
  ENDDO
  SKIP
ENDDO
** 以上建立的是临时表,可以保存为自由表或在建立表时直接建立自由表。

我来回复

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