Taken from Chapter 17 in the VFP Online Documentation. The chapter should answer your questions. When you issue Append blank, the record pointer is moved to that new record. Because you have buffering set, the recno returns a negative value.
Appending and Deleting Records in Table Buffers
You can append and delete records while table buffering is enabled: appended records are added to the end of the buffer. To access all records in the buffer, including appended records, use the RECNO( ) function. The RECNO( ) function returns sequential negative numbers on records you append to a table buffer. For instance, if you initiate table buffering, edit records 7, 8, and 9, and then append three records, the buffer will contain RECNO( ) values of 7, 8, 9, – 1, – 2, and – 3.
>First of all, all table are already set the buffer mode to 5.
>
>I donno why if I code:
>
>Select Master
>append blank
>Thisform.Refresh
>
>
>The FOrm will go to an
OLD Record and try to overwrite the
>old record.... the Recno is about Reccount-1 or Reccount-2 !!
>
>WHile the Recno() for Blank record is '-1'!
>
>Is it because there is a fix link on Order and Orderline??
>but it work well when append blank in orderline.
>
>Why Recno is changed when refresh after append blank in Order ??
>
>?_?'
Ryan Hirschey