INDICES DESCENDENTES

INDICES DESCENDENTES

Postby miarcod » Wed Aug 13, 2014 6:42 pm

Hola,

Cuando genero un índice con la siguiente cláusula los datos no está ordenados descendentemente

INDEX ON CAMPO_CARACTER + DESCEND(DTOS(CAMPO_FECHA)) TO XX


¿Alguna suerencia?

GRACIAS
miarcod
 
Posts: 199
Joined: Tue Oct 11, 2005 2:17 pm

Re: INDICES DESCENDENTES

Postby antolin » Wed Aug 13, 2014 7:31 pm

Hola, creo que el problema está en que DESCEND() sólo afecta a un datos a cada vez, no a todo el índice, para ello tienes que utilizar la clausula DESCENDING:

INDEX ON CAMPO_CARACTER + DTOS(CAMPO_FECHA) TO XX DESCENDING

Si lo que quieres es invertir sólo el orden de la fecha, podría probar con:

INDEX ON CAMPO_CARACTER + STR(30000000-VAL(DTOS(CAMPO_FECHA))) TO XX

Lo malo es cuando quieras buscar un registro con SEEK. Tendrás que hacer algo como esto:

Code: Select all  Expand view
cBuscar := "CCCC...CC"+STR(30000000-VAL(DTOS( Date() )))
SEEK cBuscar
Peaaaaaso de foro...
FWH 2007 - xHarbour - BCC55
antolin
 
Posts: 498
Joined: Thu May 10, 2007 8:30 pm
Location: Sevilla

Re: INDICES DESCENDENTES

Postby miarcod » Wed Aug 13, 2014 8:19 pm

gracias

Lo he solucionado con el indice


INDEX ON CAMPO_CARACTER + STR(DESCEND(CAMPO_FECHA),10) TO XX

Creo que funciona, pero no entiendo porque la clausula de mi índice no funciona correctamente.

Un saludo
miarcod
 
Posts: 199
Joined: Tue Oct 11, 2005 2:17 pm

HB_SetCodePage ¡¡¡¡ SORPRESA !!!!

Postby miarcod » Thu Aug 14, 2014 3:50 pm

Bueno sigo investigando,

El caso es que la creación de indices con la expresión DESCEND(DTOS(FECHA)) ya la tenía programada y funcionando, la sorpresa es que desde hace unos días me doy cuenta que esto dejo de funcionar y claro, investigando me he dado cuenta que el problema está en la función

HB_SetCodePaGE("ESWIN")

QUE Hace un tiempo tuve que poner para que al exportar datos a excel no se creasen caracteres raros

¿Alguna sugerencia de donde puede estar el problema?

Mi preocupación es por si hay otras """"SORPRESAS"""" que hagan que algo que estaba funcionando correctamente de repente funcione mal

Un saludo
miarcod
 
Posts: 199
Joined: Tue Oct 11, 2005 2:17 pm

Re: INDICES DESCENDENTES

Postby karinha » Thu Aug 14, 2014 3:58 pm

Holá, si usas HARBOUR és asi:

http://fivewin.com.br/index.php?/topic/ ... etcodepage

saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7436
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: INDICES DESCENDENTES

Postby miarcod » Thu Aug 14, 2014 5:00 pm

No funciona,

Al seleccionar la pagina de codigos "ESWIN" la funcion DESCEND(dtos(fecha)) no va bien con fechas.

¿?
miarcod
 
Posts: 199
Joined: Tue Oct 11, 2005 2:17 pm

Re: INDICES DESCENDENTES

Postby karinha » Thu Aug 14, 2014 5:21 pm

En xHarbour funciona bien:

Code: Select all  Expand view

   EXTERNAL DESCEND

   INDEX ON DESCEND( Field->DEST_NOME )   TAG DEST_NOME  TO CONSULTA    ;
         EVAL ( oMeter1:Set( RecNo() ), CursorWait(), SysRefresh() )    ;
         EVERY 10

   INDEX ON DESCEND( Field->QUANTIDADE )  TAG NQUANTIDADE TO TABPROD    ;
         EVAL ( oMeter2:Set( RecNo() ), CursorWait(), SysRefresh() )    ;
         EVERY 10

                               // aca es una fecha(MesAno)
   INDEX ON Field->MATRICULA + DESCEND( Field->MESANO )                 ;
         TAG MATRICULA+MESANO TO PEDCPROV                               ;
         EVAL ( oMeter3:Set( RecNo() ), CursorWait(), SysRefresh() )    ;
         EVERY 10

            // aca es una fecha(MesAno)
   INDEX ON DESCEND( Field->MESANO )  + Field->MATRICULA                ;
         TAG MESANO+MATRICULA TO PEDCPROV                               ;
         EVAL ( oMeter3:Set( RecNo() ), CursorWait(), SysRefresh() )    ;
         EVERY 10

sintaxe:

INDEX ON   ;
    TAG TO ;
    FOR    ;
    WHILE  ;
    NEXT | RECORD | REST | ALL ;
    UNIQUE ;
    ASCENDING | DESCENDING ;
    EVAL EVERY ;
    USECURRENT ;
    ADDITIVE ;
    CUSTOM ;
    NOOPTIMIZE
 


Saludos

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7436
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: INDICES DESCENDENTES

Postby karinha » Thu Aug 14, 2014 5:40 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7436
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: INDICES DESCENDENTES

Postby karinha » Thu Aug 14, 2014 5:44 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7436
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: INDICES DESCENDENTES

Postby karinha » Thu Aug 14, 2014 5:46 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7436
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: INDICES DESCENDENTES

Postby karinha » Thu Aug 14, 2014 5:47 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7436
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: INDICES DESCENDENTES

Postby karinha » Thu Aug 14, 2014 5:49 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7436
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 144 guests