>>>Can you use EOF and BOF commands with views. My code reads:
>>>
>>>sele v_vendors
>>>
>>>do case
>>> case bof()
>>> **do something with navigation button
>>>
>>> endcase
>>>
>>>But nother happens. I'm sure I'm sitting on the first record in the table so therefor shouldn't BOF = .T.?
>>
>>The use of BOF and EOF in Visual FoxPro is not entirely consistent (with one another). If you have 10 records in total, and go to the last record, EOF() will be .F., RECNO() will be 10; if you then SKIP, EOF() will be .T., and RECNO() will be 11. On the other hand, if you got to the first record, initially BOF() will be .F. and RECNO() will be 1 (fine with me, so far...). But if you then SKIP -1, BOF() will be .T., and RECNO() will still be 1.
>>In any case, you can use EOF() and BOF() in combination with commands such as SKIP, LOCATE, SEEK(), ... to check whether you are still on a valid record. I believe the only command that will can set BOF() = .T., is a backwards SKIP.
>
>Kick in SET ORDER or the like and the BOF() might be on record 10 as well.
>
>Update:
>FILTER
>INDEX
>ORDER
>
>That's what I remember out of the hip
Yes, of course you are right. My example was for a table without order, without filter, and without deleted records (+ SET DELETED ON).
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)