请求表数据筛选问题
先生您好,我有这样一个问题:在32行4列的表中,选出16行,再求出这被选中的16行按列求和(和分别为lh1、lh2、lh3、lh4),并当lh1=lh2且lh3+7864320=lh4时才算符合要求,我编了段代码,虽可运行,但总是找不到符合要求的结果,请先生指点,谢谢(代码如下)CLEAR
CLOSE all
SET SAFETY OFF
USE 新表
ZAP
input ' 请输入想搜索的循环次数!:' to 循环次数
*-------------以下一行是最外层循环开始
FOR JJJ=1 TO 循环次数
USE 原表
RAND(-1)
FOR i=1 TO 32
REPLACE 随机数 WITH RAND()*VAL(SYS(2))*0.000357913
SKIP
ENDFOR
sort to 排序 ON 随机数/A
USE 排序
copy to 排序后 FIELDS 列1,列2,列3,列4
USE 排序后
Dimension sb(16,4)
select * from 排序后 into array sb
lh1=0
lh2=0
lh3=0
lh4=0
FOR n=1 TO 16
lh1=lh1+sb(n,1)
lh2=lh2+sb(n,2)
lh3=lh3+sb(n,3)
lh4=lh4+sb(n,4)
ENDFOR
IF lh1=lh2 AND lh3+7864320=lh4
SELECT 2
USE 新表
FOR i=1 TO 16
APPEND BLANK
REPLACE 列1 WITH sb(i,1)
REPLACE 列2 WITH sb(i,2)
REPLACE 列3 WITH sb(i,3)
REPLACE 列4 WITH sb(i,4)
ENDFOR
ELSE
LOOP
ENDIF
*-------------以下是最外层循环结尾
CLOSE all
ENDFOR
MESSAGEBOX('本 次 运 行 结 束 !!',64,'信息提示')
DELETE FILE *.BAK
QUIT
新表.rar
(485 Bytes)
原表.rar
(1.09 KB)
[ 本帖最后由 fdxxhjc 于 2015-9-12 09:48 编辑 ]