在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
