Te dire que este es un terrible problema que tiene el FoxPro. Yo despues de hacer varias pruebas hize un utilitario para arreglar este problema, lo que sucede es que no entiendo por que razon (no sucede en Clipper) Fox actualiza el encabezado de la tabla y pone que esta el nuevo registro, sin embargo no lo graba en la tabla, lo que hace que cuando se trate de abrir, el USE debe hacer una validacion de los registros que reporta el encabezado contra los reales y encuentra diferiencia, te envio el codigo para arreglarlo, esta hecho en el bello clipper. ************************************************************** Function EstadoA( ArchivoE, Reparar ) Local NumArchivo, CantRegistro, LargRegistro, LargEncabeza, CantReal Local CualA, TamArchivo, Resul, AntPantalla, ArRepara, NomLog AntPantalla := SaveScreen(10,35,15,79) If Reparar   NomLog := PadL( AllTrim(Str(Day(Date()))), 2, "0" )   NomLog += PadL( AllTrim(Str(Month(Date()))), 2, "0" )   NomLog += SubStr(Time(),1,2)   NomLog += SubStr(Time(),4,2)   NomLog += "." + SubStr( DtoC(Date()), 7 )   ArRepara := FCreate( NomLog )   FWrite( ArRepara, "Archivo de revision tablas del directorio "+RutaArchivos+Chr(13)+Chr(10) )   FWrite( ArRepara, "Fecha de revision "+DtoC(Date())+Chr(13)+Chr(10) )   FWrite( ArRepara, "Hora de revision "+Time()+Chr(13)+Chr(10) )   FWrite( ArRepara, "*****************************************"+Chr(13)+Chr(10) )   Obj:GoTop()   Obj:RefreshAll()   Obj:ForceStable()   Ventana(10,35,14,75,"REVISANDO ARCHIVOS")   @ 12,38 SAY "Presione ENTER para inciar" COLOR "RG+/BG"   Inkey(0) EndIf For I=1 To Len(Archivos)   CualA := I   If Reparar     @ 12,38 SAY "Chequeando el archivo "+Trans(CualA,"999")+"/"+Trans(Len(Archivos),"999")     FWrite( ArRepara, "Revision de tabla "+RutaArchivos+Archivos[CualA,1] )     Inkey(.2)   EndIf ** Aqui abre una de las tablas a revisar   NumArchivo := FOpen( RutaArchivos+Archivos[CualA,1], 2)   Resul      := "OCUPADO"   If NumArchivo > -1 ** El byte 4 tiene el total de registros en la tabla     FSeek( NumArchivo, 4 )  // Posicion al BYTE 4 del archivo     CantRegistro := Space(4)     FRead( NumArchivo, @CantRegistro, 4 )     CantRegistro := Bin2L( CantRegistro )   // Lee el RecCount() supuesto ** Los siguientes 2 Bytes tiene el tamano en bytes de la cabecera de la tabla     LargEncabeza := Space(2)     FRead( Numarchivo, @LargEncabeza, 2 )     LargEncabeza := Bin2I( LargEncabeza )   // Lee el tama¤o del encabezado ** Los siguientes dos bytes tiene el tamano en bytes de cada registro     LargRegistro := Space(2)     FRead( NumArchivo, @LargRegistro, 2 )     LargRegistro := Bin2I( LargRegistro )   // Lee el tama¤o de un registro ** Se mide el archivo y se le resta el tamano de la cabecera y se divide entre el ** tamano de cada registro para saber la cantidad real de registros     TamArchivo := FSeek( NumArchivo, 0, 2 )     CantReal   := Int((TamArchivo-LargEncabeza) / LargRegistro)   // Cantidad de registros reales ** Si esta mal se escribe la cantidad real de registros en el byte 4 a 8     If Reparar .AND. (CantReal # CantRegistro)       Resul := "REPARADO"       FSeek( NumArchivo, 4 )  // Posicion al BYTE 4 del archivo       CantReal := L2BIN( CantReal )       FWrite( NumArchivo, CantReal, 4 )     Else       If CantReal = CantRegistro         Resul := "*  OK  *"       Else         Resul := "DAĽADO"       Endif     EndIf     FClose( NumArchivo )   EndIf   Archivos[I,2] := PadC(Resul,15)        // Resultado de operacion   Archivos[I,3] := CantReal              // Cantidad de registro   If Reparar     If Resul = "REPARADO"       FWrite( ArRepara, "  Resultado final:"+Resul )       FWrite( ArRepara, "  Valor ANT. "+Trans(CantRegistro,"999,999,999") )       FWrite( ArRepara, "  Valor REAL "+Trans(Bin2L(CantReal),"999,999,999")+Chr(13)+Chr(10) )     Else       FWrite( ArRepara, "  Resultado final:"+Resul+Chr(13)+Chr(10) )     EndIf     Obj:Down()     Obj:RefreshAll()     Obj:ForceStable()   Endif Next RestScreen(10,35,15,79,AntPantalla) If Reparar   FClose( ArRepara )   Ventana(10,35,14,75,"REVISANDO ARCHIVOS")   @ 12,38 SAY "Revisi˘n de archivos concluida" COLOR "RG+/BG"   @ 13,38 SAY "******  PRESIONE ENTER  ******" COLOR "RG+/BG"   InKey(0)   RestScreen(10,35,15,79,AntPantalla) Endif Return Archivos Y listo hemos reparado una tabla de Fox. Las demas versiones aunque no he revisado asumo que tienen las mismas deficiencias de siempre.