建一个与考生一样的空白表
交错排位,如果人数一样,刚好一班一位,如果人数不一致,用空白填补
测试通过
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
CLOSE DATABASES
SELECT 0
USE 考生1
新建一个与考生一样的表
ZAP
SELECT 0
USE 考生
SET FILTER TO ALLTRIM(班级)='581'
COPY TO temp1
SELECT 0
USE temp1
SELECT temp1
zl=reccount()
SELECT 考生
SET FILTER TO ALLTRIM(班级)='582'
COPY TO temp2
SELECT 0
USE temp2
SELECT temp2
zl1=reccount()
DO CASE
CASE zl=zl1
人数一样多
SELECT temp1
GO top
SELECT temp2
GO top
DO WHILE NOT EOF()
pxm=ALLTRIM(姓名)
pbj=ALLTRIM(班级)
SELECT 考生1
APPEND BLANK
REPLACE 姓名 WITH pxm,班级 WITH pbj
SELECT temp2
pxm=ALLTRIM(姓名)
pbj=ALLTRIM(班级)
SELECT 考生1
APPEND BLANK
REPLACE 姓名 WITH pxm,班级 WITH pbj
SELECT temp1
SKIP
SELECT temp2
SKIP
ENDDO
CASE zl>zl1
班级为581的人数多
SELECT temp1
GO top
SELECT temp2
GO top
SELECT temp1
DO WHILE NOT EOF()
SELECT temp1
pxm=ALLTRIM(姓名)
pbj=ALLTRIM(班级)
SELECT 考生1
APPEND BLANK
REPLACE 姓名 WITH pxm,班级 WITH pbj
SELECT temp2
IF NOT eof()
pxm=ALLTRIM(姓名)
pbj=ALLTRIM(班级)
SELECT 考生1
APPEND BLANK
REPLACE 姓名 WITH pxm,班级 WITH pbj
SELECT temp2
SKIP
ELSE
SELECT 考生1
APPEND BLANK
REPLACE 姓名 WITH '',班级 WITH ''
ENDif
SELECT temp1
skip
enddo
CASE zl<zl1
班级为582的人数多
SELECT temp1
GO top
SELECT temp2
GO top
SELECT temp2
DO WHILE NOT EOF()
SELECT temp2
pxm=ALLTRIM(姓名)
pbj=ALLTRIM(班级)
SELECT 考生1
APPEND BLANK
REPLACE 姓名 WITH pxm,班级 WITH pbj
SELECT temp1
IF NOT eof()
pxm=ALLTRIM(姓名)
pbj=ALLTRIM(班级)
SELECT 考生1
APPEND BLANK
REPLACE 姓名 WITH pxm,班级 WITH pbj
SELECT temp1
SKIP
ELSE
SELECT 考生1
APPEND BLANK
REPLACE 姓名 WITH '',班级 WITH ''
ENDif
SELECT temp2
skip
enddo
endcase
[此贴子已经被作者于2017-3-16 10:37编辑过]