Walter,
I tried the following lines:
USE IN mytable
USE mytable AGAIN IN 0
but SELECT still doesn't return added rows.
However, if I add
INKEY(1)
before SELECT and issue SET REFRESH TO 0,1 in form load,
SELECT returns added rows immediately.
>I don't know for sure, but a USE MyTable AGAIN ALIAS DUMMY IN 0 (without closing the already open alias), might also refresh your buffers.
>
>Walter,
>
>>This file is used by other users and by other windows in
>>my program.
>>
>>I cannot use FLOCK(): other users from network
>>may have placed locks into this table so flock() fails.
>>
>>I use this table as grid recordsource and as a target of a
>>SET RELATION command. Closing it using USE leads to sophisticated code
>>to re-use it.
>>
>>
>>>In stead on using a RLOCK(), you might want to try a FLOCK() or alternatively close it and use the table again before you issue the SQL-SELECT
>>>
>>>Walter,
>>>
>>>
>>>>I have a shared non buffered dbf file. I need to get latest data from it using SQL SELECT command.
>>>>
>>>>I have a command
>>>>
>>>>SET REFRESH TO 0,1
>>>>
>>>>in my form init.
>>>>
>>>>If records are added to this shared dbf file by other instance of VFP,
>>>>SQL SELECT in another instance does not find added rows.
>>>>
>>>>This occurs on LAN or if two vfp programs are running on local computer using same dbf file.
>>>>
>>>>I discovered that adding a line
>>>>
>>>>inkey(1.5)
>>>>
>>>>before SQL SELECT fixes this behaviour: SELECT then returns latest data.
>>>>
>>>>However, adding inkey(1.5) 's before SELECTs decreases program speed.
>>>>
>>>>How to force VFP to refresh its local buffers immediately ?
Andrus