首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

循环有关问题

2012-03-16 
循环问题哪们高手帮我看看哪儿错了。老是提示已到文件尾部。do while !eof()LOCATE for alltrim(进库表.品牌

循环问题
哪们高手帮我看看哪儿错了。老是提示已到文件尾部。
do while !eof()
LOCATE for alltrim(进库表.品牌)=pingpai .and. alltrim(进库表.型号)=xinghao
replace 进库表.型号 with alltrim(thisform.pageframe1.page2.Text2.value)
skip
enddo
  do while !eof()
  sele 出库表
  LOCATE for alltrim(出库表.品牌)=pingpai .and. alltrim(出库表.型号)=xinghao
  replace 出库表.型号 with alltrim(thisform.pageframe1.page2.Text2.value)
  skip
  enddo
  sele 库存表
  do while !eof()
  LOCATE for alltrim(库存表.品牌)=pingpai .and. alltrim(库存表.型号)=xinghao
  replace 库存表.型号 with alltrim(thisform.pageframe1.page2.Text2.value)
  skip
  enddo

[解决办法]
在do while !eof()之前,先加一句:

select 表
go top

另外说明一下,LOCATE之后,如果没有找到记录,数据库的记录指针就到文件尾了。
所以你上面的语句写法不对。

正确的要这样写:

select 表
go top
do while !eof()
select 表
lc_recno = recno()
locate for ....
.....
select 表
go lc_recno
skip
....
enddo



热点排行