读书人

循环有关问题

发布时间: 2012-03-16 16:34:56 作者: rapoo

循环问题
哪们高手帮我看看哪儿错了。老是提示已到文件尾部。
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



读书人网 >VFP

热点推荐