FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour INDICES DESCENDENTES
Posts: 203
Joined: Tue Oct 11, 2005 02:17 PM
INDICES DESCENDENTES
Posted: Wed Aug 13, 2014 06: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

Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Re: INDICES DESCENDENTES
Posted: Wed Aug 13, 2014 07: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 (fw): Select all Collapse
cBuscar := "CCCC...CC"+STR(30000000-VAL(DTOS( Date() )))
SEEK cBuscar
Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 203
Joined: Tue Oct 11, 2005 02:17 PM
Re: INDICES DESCENDENTES
Posted: Wed Aug 13, 2014 08: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

Posts: 203
Joined: Tue Oct 11, 2005 02:17 PM
HB_SetCodePage ¡¡¡¡ SORPRESA !!!!
Posted: Thu Aug 14, 2014 03: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

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: INDICES DESCENDENTES
Posted: Thu Aug 14, 2014 03: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
Posts: 203
Joined: Tue Oct 11, 2005 02:17 PM
Re: INDICES DESCENDENTES
Posted: Thu Aug 14, 2014 05:00 PM

No funciona,

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

¿?

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: INDICES DESCENDENTES
Posted: Thu Aug 14, 2014 05:21 PM
En xHarbour funciona bien:

Code (fw): Select all Collapse
   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
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: INDICES DESCENDENTES
Posted: Thu Aug 14, 2014 05:40 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: INDICES DESCENDENTES
Posted: Thu Aug 14, 2014 05:44 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: INDICES DESCENDENTES
Posted: Thu Aug 14, 2014 05:46 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: INDICES DESCENDENTES
Posted: Thu Aug 14, 2014 05:47 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: INDICES DESCENDENTES
Posted: Thu Aug 14, 2014 05:49 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion