Problemas en indices

Tengo indices estructurales, que son aquellos que se habren automáticamente cuando abres la tabla y se crean con el mismo nombre de la tabla, como los puedo crear, no reindexarlos porque eso ya lo entendí, por ejemplo:
Tengo una tabla llamada clientes y quiero que tenga dos ordenes o indices:
a)Por clave del cliente.
b)Y otro por nombre del cliente.
Escribo esto:
Use clientes exclusive
Index on clave tag clientes
Index on nombre tag clientes
Pero no los crea correctamente, porque cuando habro nuevamente la tabla, me dice que no existe el orden, esto me indica que no se crearon correctamente, a ver si me puedes ayudar.

2 respuestas

Respuesta
1
Tu error esta en los nombres del tag, estas creando un archivo sobre el otro la instrucción correcta es.
Escribo esto:
Use clientes exclusive
INDEX ON CLAVE TAG clave
INDEX ON NOMBRE TAG nombre
Ya corregí mi código:
IF FILE("CAT_CASETAS.DBF")
USE CAT_CASETAS EXCLUSIVE
INDEX ON CASETA TAG caseta
INDEX ON TRAMO TAG tramo
INDEX ON ZONA TAG zona
Endif
Y AL CORRER LA APLICACIÓN ME MARCA:
"Database is invalid.Please Validate"
LA TABLA SE ENCUENTRA EN EL DIRECTORIO,
LA LINEA EN LA QUE ME MARCA EL ERROR ES:
"INDEX ON CASETA TAG caseta"
A que se debe este error y que puedo hacer para corregirlo.
Gracias...
Esta tabla es una tabla libre o pertenece a una base de datos
Oye ya resolví ese problema que me marcaba con la base de datos, de echo ya me ejecuta la rutina para crear los indices, tengo solo una duda, si yo borraba los indices o cdx, y corría mi programa para crearlos, no lo ejecutaba y me marcaba error, entonces los deje intactos y corro el programa con el código que te dije, y si los genera, mi pregunta es, ¿no puedo crear mis indices o archivos desde cero sin tener mis indices ya definidos?, porque se que se pueden reindexar con reindex, ¿realmente estoy generando nuevamente los indices?
SDi una tabla tiene marcado que tiene un indice, no lo puedes borrar y recrearlo porque al abrir la tabla y no encontrar el indice reporta error, la diferencia entre reindex e index on, es que tu puedes tener un indice con un tag y al aplicarle reindex lo vuelve a generar y el index on lo reconstruye.
Ej:
USE CAT_CASETAS EXCLUSIVE
INDEX ON CASETA TAG caseta
Reindex
Regenera el indice por el campo caseta
INDEX ON zona TAG caseta
Crea un nuevo indice, aunque uses el mismo campo
Respuesta
1
Mmmm...
Cambia el nombre de la etiqueta, no le pongas el mismo nombre de tu tabla...
Al abrir la tabla, ¿la abres con USE CLIENTES INDEX nombreindice?
¿Tienes espacio suficiente en disco para almacenar el indice?
Al abrir la tabla se habré automáticamente con su indice, solamente indico después el orden con que lo habro y si tengo espacio para almacenar indices.
Los indices que manejo son de extensión
cdx o estructurales.
El único problema que veo entonces es el de la etiqueta. La etiqueta (tag) es el identificador de el orden de tu indice.
Ejemplo:
Creas el primer indice:
Index on clave tag clientes
Aqui tu etiqueta se llama clientes, no clave. Al abrir y ordenar tu tabla lo haces entonces asi: use clientes order clientes ---
Al crear el segundo indice:
Index on nombre tag clientes, estas sobreescribiendo el primero, puesto que lo que va despues del tag es un nombre único para cada indice, y con ese nombre vas a ordenar tu tabla...
Eso es lo único mal que veo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas