La Web del Programador: Comunidad de Programadores
 
    Pregunta:  5017 - CREACION DE INDICES POR MEDIO DE CODIGO
Autor:  Mario Flores Fierro
PROBLEMA:
Estoy creando una aplicacion en Visual FoxPro 5.0 y quiero antes de abrir mi base de datos, checar si existen los archivos .CDX de todas las tablas .DBF si no existen que la aplicacion sea capaz de generarlos automaticamente, Si alguien sabe como se hace estoy seguro me ayudaria bastante, Muchas Gracias.

  Respuesta:  German Saer
Yo tengo creada un par de aplicaciones (aunque solo estan basadas en Fox para DOS) que te pueden servir de punto de partida para que desarrolles una basada en el esquema de base de datos de Visual Foxpro. Dichas aplicaciones lo que hacen basicamente es:

La Primera: DBINDEX.APP

Que se encarga de generarte un programa fuente PRG que cuando lo corres te genera de nuevo los indices.

La Segunda: DBSCHEME.APP

Que se encarga de generarte un programa fuente PRG que cuando lo corres te crea todas los archivos DBF's y CDX's que estaban contenidos en un directorio especificado.

Si los necesitas, te puedes poner en contacto conmigo. Tambien te puedo mandar los fuentes si asi lo deseas.

  Respuesta:  Victor Paredes
Basandome en el titulo de la pregunta te aconsejo lo siguiente, Cuando quieras crear tendrias que porner lo siguiente.
INDEX ON (nombre del campo o campos) TAG (nombre del indice)

Para saber si existe o no un indice busca en la ayuda de visual fox la funcion TAG() y empeza a chusmear un poco... Cualquier cosa no dudes en comunicarte conmigo
Suerte.

  Respuesta:  Richard
Mira tienes que abrir la base de datos con la opcion VALIDATE

Ahora el error lo controlas con el ON ERROR

La opcion validate verifica la integridad de las tablas y indices. Si hubiera algun error, te manda un error. Con el on error, capturas el error y procedes a hacer un indexado.

Espero que te haya ayudado