Index on str

Index on str

Postby Sebastián Almirón » Fri May 18, 2007 3:49 pm

Hola a todos.

Tengo un problema de locos que quizás ya se haya comentado en este foro, pero que no lo veo por ningún lado.

Uso una dbf con indices cdx y le hago:
index on str(numero,8) TAG usuwebnu

El caso es que al utilizarla y hacerle un go bottom, se me va a un registro con número 10043 cuando existe otro registro con numero 99999000

Si el indice lo creo con FoxPro con el mismo formato va bien.

¿ Que me he perdido de pasar de 16 a 32 bits ?

Saludos
User avatar
Sebastián Almirón
 
Posts: 157
Joined: Mon Dec 12, 2005 9:56 am
Location: Moralzarzal - Spain

Postby Sebastián Almirón » Fri May 18, 2007 3:51 pm

Bueno el simbolo ese tan mono es coma ocho cierraparentesis.
User avatar
Sebastián Almirón
 
Posts: 157
Joined: Mon Dec 12, 2005 9:56 am
Location: Moralzarzal - Spain

Postby Antonio Linares » Fri May 18, 2007 6:10 pm

Sebastián,

Estás usando Harbour ó xHarbour ?

Podrias proporcionar un ejemplo pequeño y autocontenido que reproduzca el comportamiento erróneo sin usar FWH ? gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42151
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby sysctrl2 » Sun May 20, 2007 2:33 am

use clientes new shared
cAlias := alias()
index on strzero( field->numero, 7 ) tag 1 TO (cAlias)

dbselectArea(cAlias)
dbgobottom()
browse()

nNnumero := 1950

dbseek( strzero(nNumero, 7) )
browse()





saludos.
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 1027
Joined: Mon Feb 05, 2007 7:15 pm

Postby Antonio Linares » Sun May 20, 2007 8:20 am

César,

Ese ejemplo no es el caso que comenta Sebastián.

Aqui hay un ejemplo completo, pero funciona bien:
Code: Select all  Expand view  RUN
function Main()

   DBCreate( "test.dbf", { { "code", "N", 8, 0 } } )

   USE test
   INDEX ON Str( field->code, 8 ) TO test

   APPEND BLANK
   field->code = 99999000

   APPEND BLANK
   field->code = 5555

   APPEND BLANK
   field->code = 10043

   GO TOP
   MsgInfo( field->code )

   GO BOTTOM
   MsgInfo( field->code )

   USE

return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42151
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Sebastián Almirón » Mon May 21, 2007 9:28 am

Hola Antonio.

Ya está solucionado.
El problema estaba en que se me había olvidado borrar antes el indice CDX.

Gracias y perdón por las molestias.
User avatar
Sebastián Almirón
 
Posts: 157
Joined: Mon Dec 12, 2005 9:56 am
Location: Moralzarzal - Spain

Postby Antonio Linares » Mon May 21, 2007 9:38 am

Sebastián,

me alegro de que esté solucionado :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42151
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

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