Page 1 of 1

Ayuda con indices

Posted: Tue Jan 16, 2007 4:01 pm
by AndresZaragoza
Tengo el problema que cuando intento usar indices SIN generarlos solo me reconoce el primero

Esto funciona:
SELECT Efth010
INDEX ON CprvCod TO CODIGO ADDI
INDEX ON CprvNom TO FISCAL ADDI
INDEX ON CprvOme TO COMERCIAL ADDI

Efth010->( OrdSetFocus( "CODIGO" ) )
Efth010->( OrdSetFocus( "FISCAL" ) )
Efth010->( OrdSetFocus( "COMERCIAL" ) )

Si no indexo, aunque existan, SOLO me funciona el 1º indice:
SELECT Efth010
Efth010->( OrdSetFocus( "CODIGO" ) )
....
....
* Estas 2 no encuentra los índices.
Efth010->( OrdSetFocus( "FISCAL" ) )
Efth010->( OrdSetFocus( "

Es posible que tenga que introducir un SET para que encuentre el fichero CDX??

Me podría ayudar alguien.
Gracias de antemano.

Posted: Tue Jan 16, 2007 8:00 pm
by R.F.
Prueba:

SELECT Efth010
INDEX ON CprvCod TAG CODIGO ADDI
INDEX ON CprvNom TAG FISCAL ADDI
INDEX ON CprvOme TAG COMERCIAL ADDI

Ayuda de índices

Posted: Wed Jan 17, 2007 8:30 am
by AndresZaragoza
Hola Rene, gracias por tu atención. Verás esto que me apuntas si que funciona, pero me obliga a indexar siempre. Si ya existe los índices en su fichero CDX, (por lo que no indexo), cuando los uso, el primero es correcto pero cuando intento ordenar por los otros indices da un error de como si no existieran. El tema es que tengo un fichero bastante grande e indexar siempre le cuesta mucho y no quiero hacerlo siempre que entre en la aplicación.

Gracias de antemano.

Solucionado. Es un problema mio de codigo

Posted: Wed Jan 17, 2007 9:49 am
by AndresZaragoza
Disculpar y gracias de nuevo

Posted: Wed Jan 17, 2007 4:53 pm
by R.F.
Me he perdido:

Con el CDX, justo cuando abres el fichero, se abre el CDX, luego no es necesario reindexar cada vez que lo abres.

Para reindexar el CDX, lo que yo hago es primero borrar fisicamente el CDX y luego reindexar de la forma en que lo mencionas.

Si estas usando IDX en vez de CDX, la cosa cambia un poco.

Si me das un par de horas de puedo decir exactamente como va el tema con IDX.

Posted: Wed Mar 28, 2007 9:34 pm
by syda
Rene,

Tengo el mismo problema usar IDX. El uso ADS 8.1 (REMOTE).

AEVAL(DIRECTORY('s:\*.idx'),{|aFile| FERASE(aFile[F_NAME])})

SELE 4
USE RESPONSA.DBF
INDEX ON CODIGO TAG INDCODIGO TO INDRESP
INDEX ON CODRESP TAG INDRSP01 TO INDRESP
SET ORDER TO TAG INDCODIGO in INDRESP
oMeter:SET(20)

Funciona!

Cuándo uso:
SELE 4
USE RESPONSA INDEX INDRESP SHARED
SET ORDER TO TAG INDCODIGO IN INDRESP

No funciona!!