主题:如何在VFP的一个表中查找有无重号和漏号
果果果果
[专家分:0] 发布于 2011-09-26 11:55:00
[em1][em1][em1]跪求各位高手:现有一个表,表中有序列号,现要找出序列号有无重号和漏号,这个怎么编程啊?
回复列表 (共2个回复)
沙发
moz [专家分:37620] 发布于 2011-09-27 01:42:00
SELECT tmpRMB1
INDEX on 收据号 TAG ind收
GOTO TOP
T_7=VAL(tmpRMB1.收据号)
DO WHILE !EOF()
T_8=tmpRMB1.收据号
T_9=VAL(T_8)-T_7
DO CASE
CASE T_9=-1
replace 备注 WITH "收据号重复"
T_7=VAL(T_8)
CASE T_9>5
T_11=RECNO()
INSERT INTO tmpRMB1 (收据号,备注);
VALUES (RIGHT("0000000"+ALLTRIM(STR(T_7)),7),"缺号"+ALLTRIM(STR(T_9))+"份")
GOTO T_11
T_7=VAL(T_8)
CASE T_9<=0
OTHERWISE
T_11=RECNO()
FOR T_10=0 TO T_9-1
INSERT INTO tmpRMB1 (收据号,备注);
VALUES (RIGHT("0000000"+ALLTRIM(STR(T_7+T_10)),7),"缺号")
ENDFOR
GOTO T_11
T_7=VAL(T_8)
ENDCASE
T_7=T_7+1
SKIP 1
ENDDO
板凳
martine [专家分:4950] 发布于 2011-09-28 16:30:00
先按序列号排序 sort on (命令可能写错了常时间不用了)
a=序列号
skip
b=序列号
b-a>1漏号
b-a=0重号
我来回复