还有一点就是 删除以后里面的编号要变,不知道怎么处理。 select wm if empty(序号) pbno=alltrim('外B0608001') else select max(序号) from wm into array a &&查找表中最大的编号存入数组中 ss=val(substr(a(1),3))+1 xm=ALLTRIM("外"+"B"+left(alltrim(wm.日期),8)+padl(alltrim(str(ss,10)),3,'0')) 红色的地方,是只该后面3位。不知道对不对?