* Nota: no uses todo en mayúsculas.
Un método efectivo es usar bufferes, en un formulario puedes definir los bufferes en el Dataenvironment (Entrono de datos) en las propiedades de la tabla, dependiendo de las necesidades usas pesimistic row buffering, optimistic row buffering, pesimistic table buffering y optimistic table buffering.
Es recomendable el uso de bufferes de tablas (optimistic), solo que si estás utilizando un valor secuencial o único, por ejemplo un numero de factura, tienes que utilizar un pequeño esquema de bloqueo para que tomes el valor, lo incrementes, y lo almacenes en tu tabla de control, ej.:
Local nFactura
Select CONTADORES
Lock()
nFactura = CONTADORES.FACTURA + 1
Replace CONTADORES.FACTURA With nFactura
UnLock()
Select FACTURAS
* Aqui si ya agregaste el registro de facturas, reemplazas el campo
Replace FACTURAS.NUMFACT With nFactura
* Si vas a agregar el registro de Facturas:
Insert Into FACTURAS(NUMFACT) Values(nFactura)
* Ya puedes continuar con la ejecución del programa
************
Tambien debes tener configurado:
Set Reprocess
También puedes leer la ayuda de VFP
Be fast like the Fox
Be free like the Penguin
Se Rápido como el Zorro
Se libre como el Pingüino