FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Consulta sobre Index
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Consulta sobre Index
Posted: Fri Dec 09, 2005 07:49 PM

Amigos del foro:

Nuevamente acudo a ustedes pues no encuentro la respuesta.

En los MainFrame como AS/400 al ordenar por un campo
alfanumerico quedan de la siguiente forma:

2A261
2F5010
244910
246110

Peroooooo en FW los mismos artículos al crear un índice quedan así

244910
246110
2A261
2F5010

En el primer caso las letras de la segunda columna van antes
que los dígitos pero en FW el caso es al reves, los dígitos van antes que las letras.

Existe alguna función para que el índice me quede exactamente
igual que el MainFrame ??

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 229
Joined: Wed Oct 12, 2005 05:32 PM
Consulta sobre Index
Posted: Fri Dec 09, 2005 08:26 PM

Armando,

Por lo que veo, están en orden descendiente. Añade DESCEND( clave ) en tu índice.

Saludos,
José Luis Capel

www.capelblog.com

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Consulta sobre Index
Posted: Sat Dec 10, 2005 04:06 PM

José Luis:

Te agrdezco infinitamente el consejo pero, si miras nuevamente
veras que no, no estan en orden decreciente.

244910
246110
2A261
2F5010

Sin embargo he probado según tu consejo y tampoco funciona.

Un abrazo, Armando

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 229
Joined: Wed Oct 12, 2005 05:32 PM
Consulta sobre Index
Posted: Sat Dec 10, 2005 04:51 PM

Armando,

Ups... cierto.. me fijé en la columna de abajo en vez de la de arriba.

Saludos,
José Luis Capel

Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
Consulta sobre Index
Posted: Sat Dec 10, 2005 05:28 PM
Hola,

Que yo sepa no existe ninguna forma, pero por una razón lógica, FW lo esta acciendo correctamente. Es en los Mainframe donde el orden es incorrecto.

Al ordenar un campo alfanumérico el orden tiene que ir de izquierda a derecha según su código ascii, por eso lo ordena de esa forma:
24...
24...
2A..
2F...

Lo considero que no debe hacer es o bien tener en cuenta las longitudes de las cadenas, o bien ordenar antes letras que números

Puedes grabarlos justificandolos a la derecha, pero quedara:
 2A261 
244910 
246110 
2F5010
Un saludo

Fernando González Diez

ALSIS Sistemas Informáticos
Posts: 383
Joined: Tue Oct 11, 2005 01:01 PM
Consulta sobre Index
Posted: Mon Dec 12, 2005 02:50 PM

Armando: prueba a hacer el indice en este modo:
INDEX ON PADL( ALLTRIM( tucampo ), 6) TO tu_indice......

Seguramente lo ordena en el modo que quieres.

2A261
2F5010
244910
246110

Pedro Gonzalez

Continue the discussion