Buenos dias Rudy:
Yo lo hago así.
* modulo reindexar las tablas
if messagebox("Todos deben estar fuera del programa "+chr(13)+;
"Está seguro(a) de recrear indices ?",292,"Reindexar:") = 6 && SI
close tables
gnDbcnumber = ADIR(gaBaseDatos, '*.DBF') && Crea la matriz.
FOR nCount = 1 TO gnDbcnumber && Bucle para obtener el número de bases de datos.
wait window "Reindexando tabla "+gaBaseDatos(nCount,1)+"..." nowait
if substr(gaBaseDatos(nCount,1),1,7) <> "FOXUSER"
select 0
use (gaBaseDatos(nCount,1)) excl && Muestra los nombres de base de datos.
* las siguientes 2 lineas es por se quieren borrar los registros en blanco, que normalmente
* borro los registros con blank.
* campo=field(1)
* dele all for empty(&campo) && Borra registros en blanco
*
pack
use
endif
ENDFOR
?? chr(7)
messagebox("La recreación de indices finalizó con Exito",64,"Finalizó:")
endif
Espero le sirva, Exitos...
Oscar Díaz
Bogotá - Colombia