改了一下结构,方便运算。
是不是这个意思?
程序代码:
USE 试验用.dbf ALIAS 数据表 && 结构:(卷号 C(5), 页号 I, 首页号 I, 尾页号 I)
CREATE CURSOR 问题1 (卷号 C(5), 页号 I, 首页号 I, 尾页号 I)
CREATE CURSOR 问题2 (卷号 C(5), 页号 I, 首页号 I, 尾页号 I)
CREATE CURSOR 问题3 (卷号 C(5), 页号 I, 首页号 I, 尾页号 I)
GO TOP IN "数据表"
m卷号 = 数据表.卷号
m尾页号 = 数据表.尾页号
IF 数据表.页号 != 1
INSERT INTO 问题2 VALUES (数据表.卷号, 数据表.页号, 数据表.首页号, 数据表.尾页号)
ENDIF
IF 数据表.首页号 != 1
INSERT INTO 问题3 VALUES (数据表.卷号, 数据表.页号, 数据表.首页号, 数据表.尾页号)
ENDIF
SKIP IN "数据表"
DO WHILE !EOF("数据表")
IF 数据表.卷号 == m卷号
IF 数据表.页号 != (m尾页号 + 1)
INSERT INTO 问题2 VALUES (数据表.卷号, 数据表.页号, 数据表.首页号, 数据表.尾页号)
ENDIF
ELSE
m卷号 = 数据表.卷号
IF 数据表.页号 != 1
INSERT INTO 问题2 VALUES (数据表.卷号, 数据表.页号, 数据表.首页号, 数据表.尾页号)
ENDIF
IF 数据表.首页号 != 1
INSERT INTO 问题3 VALUES (数据表.卷号, 数据表.页号, 数据表.首页号, 数据表.尾页号)
ENDIF
SKIP -1 IN "数据表"
INSERT INTO 问题1 VALUES (数据表.卷号, 数据表.页号, 数据表.首页号, 数据表.尾页号)
SKIP IN "数据表"
ENDIF
m尾页号 = 数据表.尾页号
SKIP IN "数据表"
ENDDO
SELECT 问题1
GO TOP
BROWSE
SELECT 问题2
GO TOP
BROWSE
SELECT 问题3
GO TOP
BROWSE
CLOSE DATABASES