回复 10楼 sdta
我听了你的建议改的,原始数据必须得排序后才能用,没法直接用,我用笨办法加了两个备注字段(bz1,体现考试日期,bz2,体现考试科目)重新排的序
新数据(上传).zip
(20.11 KB)
CLOSE DATABASES USE 新数据 ALIAS yssj BLANK FIELDS 组别, 序号, px ALL && 增加一个PX字段,用于最后排序用 INDEX on 考试日期 + 科目 TAG rqkm USE 总分组 IN 0 ALIAS msap SELECT msap SCAN SELECT yssj lnrs = 0 SCAN FOR ALLTRIM(考试日期) == ALLTRIM(msap.考试日期) AND ALLTRIM(科目) == ALLTRIM(msap.科目) AND (EMPTY(组别) AND EMPTY(序号)) lnrs = lnrs + 1 REPLACE 组别 WITH msap.kch, 序号 WITH lnrs, px WITH RECNO("msap") IF MOD(lnrs, msap.kcrs) = 0 EXIT ENDIF ENDSCAN ENDSCAN SELECT yssj SET ORDER TO SELECT * FROM 新数据 ORDER BY px, 考试日期, 科目, 组别, 序号 INTO CURSOR tt BROWSE &&FOR EMPTY(序号)
CLOSE DATABASES USE 新数据 ALIAS yssj BLANK FIELDS 组别, 序号, px ALL && 增加一个PX字段,用于最后排序用 INDEX on 考试日期 + 科目 TAG rqkm USE 总分组 IN 0 ALIAS msap SELECT msap ln1 = 0 ln2 = 0 SCAN SELECT yssj IF msap.kch = ln1 lnrs = ln2 ELSE lnrs = 0 ENDIF SCAN FOR ALLTRIM(考试日期) == ALLTRIM(msap.考试日期) AND ALLTRIM(科目) == ALLTRIM(msap.科目) AND (EMPTY(组别) AND EMPTY(序号)) lnrs = lnrs + 1 REPLACE 组别 WITH msap.kch, 序号 WITH lnrs, px WITH RECNO("msap") IF MOD(lnrs, msap.kcrs) = 0 EXIT ENDIF ENDSCAN ln1 = msap.kch ln2 = msap.kcrs ENDSCAN SELECT yssj SET ORDER TO SELECT * FROM 新数据 ORDER BY px, 考试日期, 科目, 组别, 序号 INTO CURSOR tt BROWSE