主题:[讨论]求助,怎么从一个字段中抽取内容填充新字段内容?
coffeenight
[专家分:230] 发布于 2009-07-25 09:35:00
[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]
就是遇到字符“|”或“#”,新建一字段,并把相应内容填充进去
请问该如何实现
谢谢指导
最后更新于:2009-07-25 09:47:00
沙发
sywzs [专家分:5650] 发布于 2009-07-27 04:56:00
** 由于家庭成员和简历的数据可能是若干条,如果在一个表中成员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
** 以上建立的是临时表,可以保存为自由表或在建立表时直接建立自由表。