标题:贴一段代码?为何老提示已到文件尾?
只看楼主
dragonmanyu2
Rank: 2
等 级:论坛游民
帖 子:36
专家分:12
注 册:2013-2-13
结帖率:33.33%
 问题点数:0 回复次数:3 
贴一段代码?为何老提示已到文件尾?
SELECT luru
GO bott
jh=nm&& nm 是记录号即RECNO()
 APPEND FROM C:\data\lu1.dbf FOR t=0
 APPEND FROM C:\data\lu2.dbf FOR t=0
 APPEND FROM C:\lu3.dbf FOR t=0
 USE  C:\data\lu1.dbf EXCLUSIVE ALIAS lu1 IN 0
 SELECT lu1
 replace ALL t WITH 1
 USE
 USE  C:\data\lu2.dbf EXCLUSIVE ALIAS lu2 IN 0
 SELECT lu2
 replace ALL t WITH 1
 USE
 USE  C:\data\lu3.dbf EXCLUSIVE ALIAS lu3 IN 0
 SELECT lu3
 replace ALL t WITH 1
 USE  &&导入没有标记的记录,导入后加上标记
SELECT luru
if reccount()=jh
&&如没有导入记录则不执行以下操作
else
go jh+1
nh=jh+1
DO WHILE .not.eof()
replace nm WITH nh
     sf=sfzh
      ifbh=gwbh
      LOCATE FOR   ifbh<>luru.gwbh AND sf=sfzh
        IF FOUND()
        jf=nm
        replace fu WITH "是"
        GO i
        replace fu WITH "是"
        replace mem WITH mem+"("+STR(jf)+")"
        ELSE
        endif
  


nh=nh+1&&&&&  程序到这里出错,提示已到文件尾,但我已经加上 EOF()啊
SKIP
enddo

    我是在WINXP+vfp9
搜索更多相关主题的帖子: 记录 replace 
2013-02-20 10:16
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
得分:0 
指针达到最后一条记录时,eof()为.f.,这时再进行skip 时,eof()为.t.就会出现提示,解决的方法,再skip前再判断一次:
nh=nh+1&&&&&  程序到这里出错,提示已到文件尾,但我已经加上 EOF()啊
IF !EOF()
   SKIP
ENDIF
enddo

相互学习,互相交流,共同提高。
2013-02-20 12:09
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
if !eof()
skip
else
retu
endi
2013-02-20 15:25
vfyf
Rank: 1
等 级:新手上路
威 望:1
帖 子:14
专家分:5
注 册:2013-2-27
得分:0 
因为你用了替换命令repl  用此命令再用skip命令 会出错,用完repl后必须重新定位记录 如 go i
2013-02-28 01:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-398833-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.060424 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved