Página 1 de 1
Necesito ayuda, por favor
Publicado: Dom Mar 08, 2015 9:38 pm
por JavierCantarero
Bueno, estoy intentándolo pero no puedo, de verdad.....
La duda que puse la semana pasada no me la ha sabido responder nadie.....
a ver si con esta tengo mas suerte, aunque esto mas que una duda es un problema:
yo hago ::odbf:seek("5 ")
me devuelve .T.
y en el registro que me deja tiene de valor "523654782"
¿ porque devuelve .T. si es mentira ?
y si miro el ::odbf:found, también es .T.
por favor, necesito un cable...
Muchas gracias
Necesito ayuda, por favor
Publicado: Dom Mar 08, 2015 10:30 pm
por jfgimenez
Javier,
> Bueno, estoy intentándolo pero no puedo, de verdad.....
>
> La duda que puse la semana pasada no me la ha sabido
> responder nadie.....
>
> a ver si con esta tengo mas suerte, aunque esto mas que una
> duda es un problema:
>
> yo hago ::odbf:seek("5 ")
> me devuelve .T.
> y en el registro que me deja tiene de valor "523654782"
>
> ¿ porque devuelve .T. si es mentira ?
>
> y si miro el ::odbf:found, también es .T.
comprueba si en algún sitio del programa tienes un "SET SOFTSEEK ON". Si
es así, ponlo a OFF o llama a ese método pasándole .F. en el segundo
parámetro.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
Necesito ayuda, por favor
Publicado: Lun Mar 09, 2015 9:13 am
por JavierCantarero
Muchas gracias por contestar Jose, lo pruebo y comento aquí
Gracias
Necesito ayuda, por favor
Publicado: Lun Mar 09, 2015 1:04 pm
por joselalinf
Necesito ayuda, por favor
Publicado: Lun Mar 09, 2015 1:18 pm
por JavierCantarero
Jose,
yo eso lo sabía que existía, programo en dbase desde hace muchísimos años, pero en clipper no tenía que ponerle el parámetro para que hiciera la búsqueda exacta, y creo que al mirar en la ayuda de xailer lo habré leido mal, entendí que tampoco había que ponerlo, que por defecto era búsqueda exacta.
Esta tarde lo reviso y te cuento.
Muchísimas gracias
Salu2
Javi Cantero
Necesito ayuda, por favor
Publicado: Lun Mar 09, 2015 1:22 pm
por jfgimenez
Javier,
> yo eso lo sabía que existía, programo en dbase desde hace
> muchísimos años, pero en clipper no tenía que ponerle el
> parámetro para que hiciera la búsqueda exacta, y creo que
> al mirar en la ayuda de xailer lo habré leido mal, entendí
> que tampoco había que ponerlo, que por defecto era
> búsqueda exacta.
el método Seek() de TDbf utiliza por defecto lo que tenga establecido el
SET SOFTSEEK. Es decir, que si está en OFF, entonces hace la búsqueda
exacta, pero como esté en ON, entonces la búsqueda es aproximada. Por
eso te decía que busques ese SET SOFTSEEK en tu programa, porque
seguramente lo has puesto en ON en algún sitio.
Y por cierto, también pudes pasarle el segundo parámetro a Seek(), que
es un valor lógico que indica el valor de SOFTSEEK, y entonces da igual
lo que tengas en el SET.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
Necesito ayuda, por favor
Publicado: Lun Mar 09, 2015 1:37 pm
por ignacio
Buenos días,
Es probable que se pierda el espacio final en algún momento antes de llegar el valor al método. El método Seek() no hace ningún tipo de truncado. Revíselo por si acaso.
Pruebe a utilizar directamente la función DbSeek() por si fuese un problema de Harbour.
Un saludo
Necesito ayuda, por favor
Publicado: Lun Mar 09, 2015 8:46 pm
por joselalinf
Javier,
el problema que te comenta José F. es muy común y pensaba que eras novato
en estos mundos
Saludos,
José Lalín
Necesito ayuda, por favor
Publicado: Mar Mar 10, 2015 8:37 am
por JavierCantarero
Jose, Jose e Ignacio,
muchas gracias a los tres por contestar;
Ya va perfectamente, únicamente poniendo el valor .F. en el seek ya se me solucionó. El SOFT SEEK no lo inicialicé al inicio del programa porque no lo tenía por costumbre. Ya sabiéndolo no hay problema, inicio el SOFT SEEK y ya no me preocuparé el resto del programa.
Muchas gracias
Saludos
Javi Cantero