在vf中添加序号
怎么象excel那样在vf中添加字段,字段中的数字为11001、11002、11003……12001、12002、12003……不同学校的学生添加不同的序列。急待!
如果学校超过9所,每所学校的学生数超过999人,楼主的学生编号将会产生问题。
楼主的VFP为VFP6? VFP9?
[ 本帖最后由 sdta 于 2013-5-10 07:00 编辑 ]
CREATE CURSOR T (学校 C(10),序号 C(6)) INSERT INTO T VALUES ([A],[]) INSERT INTO T VALUES ([A],[]) INSERT INTO T VALUES ([B],[]) INSERT INTO T VALUES ([A],[]) INSERT INTO T VALUES ([B],[]) INSERT INTO T VALUES ([A],[]) INSERT INTO T VALUES ([A],[]) INSERT INTO T VALUES ([A],[]) INSERT INTO T VALUES ([C],[]) INSERT INTO T VALUES ([C],[]) SELECT 学校 FROM T GROUP BY 学校 INTO CURSOR T1 SELECT T1 SCAN NRECN=RECNO() SELECT T I=1 SCAN FOR T.学校==T1.学校 REPLACE 序号 WITH PADL(NRECN,2,[0])+PADL(I,4,[0]) I=I+1 ENDSCAN ENDSCAN SELECT T BROWSE
*VFP9代码示例 SELECT A.学校,PADL(RECNO(),2,[0]) XH FROM (SELECT 学校 FROM T GROUP BY 学校) A INTO CURSOR T1 SELECT A.学校,CAST(B.XH AS C(6)) 序号,A.XH XH FROM (SELECT 学校,RECNO() XH FROM T) A,T1 B WHERE A.学校==B.学校 INTO CURSOR TT READWRITE UPDATE TT SET TT.序号=ALLTRIM(TT.序号)+PADL((SELECT COUNT(*)+1 FROM TT B WHERE TT.XH>B.XH AND TT.学校==B.学校),4,[0]) FROM TT UPDATE T SET T.序号=TT.序号 WHERE RECNO([T])=TT.XH FROM TT SELECT T BROWSE