Foxpro uses negative record numbers for new records which have not yet been "tableupdated". I was not aware of this scan problem but maybe you could filter the scan like this:
scan for recno() != 0
do some interesting stuff
endscan
>Hi:
>
>I’m using a local view with Buffer Mode = 5 (Table optimistic). After a couple of NEW’s() and their respective replaces, I get an error: “Record out of range”.
>
>This is happening right at the SCAN … ENDSCAN statement of the SAVE method of the cDynamicViewCursor.
>
>SCAN
>IF This.IsAdding()
> This.SetPrimaryKeyFieldState(FLDSTATE_APPEND_EDITED)
> ENDIF
>ENDSCAN
>
>
>I’ve noticed that the recno() retrieves a negative number as it scans the cursor, the record number increments and seems to generate the error when it reaches zero.
>
>I’ll appreciate any kind of help,
>
>Regards
>
>Oscar Corte