CLOSE DATABASES
USE bj IN 0
USE bj1 IN 0 EXCLUSIVE
ZAP IN bj1
SELECT bj
SCAN
i1=ALINES(arr1,ALLTRIM(jiaoshi),'、')
FOR i2=1 TO i1
INSERT INTO bj1 (banji,jiaoshi) VALUES (bj.banji,arr1[i2])
ENDFOR
ENDSCAN
CLOSE DATABASES
SET TALK OFF SET SAFETY OFF CLOSE ALL CREATE TABLE Bj1 (班级 V(50) , ; 教师名 V(100)) &&“V”是可变长字符串,性能优于C型 USE Bj SCAN 顿号数=OCCURS('、',Bj.JiaoShi) &&先取当前记录的顿号数量 FOR I=1 TO 顿号数 上一顿号位置=IIF(I>1,当前顿号位置,0) &&保留前一个顿号位置备用 当前顿号位置=ATCC('、',Bj.JiaoShi,I) 姓名=SUBSTRC(Bj.JiaoShi,上一顿号位置+1,当前顿号位置-上一顿号位置-1) INSERT INTO Bj1 VALUES (Bj.BanJi,姓名) NEXT 姓名=TRIM(SUBSTRC(Bj.JiaoShi,当前顿号位置+1)) &&处理最后一个顿号后的姓名 INSERT INTO Bj1 VALUES (Bj.BanJi,姓名) SELECT Bj ENDSCAN SET TALK ON SET SAFETY ON CLOSE ALL
CLOSE DATABASES SELECT 0 USE bj SELECT 0 USE bj1 SELECT bj SCAN bjmc=bj.banji jsxm=ALLTRIM(bj.jiaoshi) kg=.T. DO whil kg dh=AT('、',jsxm) &&&& 从左到右获取第一个“、”号 cxm=SUBSTR(jsxm,1,dh-1) &&&& 截取第一个“、”号前的姓名 IF dh=0 &&&& 如果“、”号没有了,那就只有最后一个姓名了,直取 cxm=jsxm kg=.F. &&&& 结束取姓名的循环 ENDIF jsxm=SUBSTR(jsxm,dh+2) &&&& 截取第一个“、”号的字符串 SELECT bj1 APPEND BLANK REPLACE bj1.banji with bjmc REPLACE bj1.jiaoshi with cxm ENDDO SELECT bj ENDSCAN我的VFP8.0的,测试成功的