FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour busqueda en xbrowse
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
busqueda en xbrowse
Posted: Thu May 14, 2009 03:48 PM

Estoy trabajando con ado y edito el recordset en una tabla xbrowse, mi pregunta es como puedo hacer una búsqueda desde la tabla, he intentado con find pero solo funciona si escribo totalmente el dato y yo querria que fuera por coincidencias. Desde ya muchas gracias.

Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
Re: busqueda en xbrowse
Posted: Fri May 15, 2009 07:10 AM
Con Find puedes usar LIKE y caracteres comodin.
Por ejemplo para buscar en el campo Nombre cuyo contenido sea *(cualquier cosas)+'raci'+cualquier cosa.
Ademas del * existen otros operadores para usar con like(_% ), en google encontraras documentacion sobre el tema.
Code (fw): Select all Collapse
oRs:Find("Nombre LIKE '*raci*'",,1)


http://bielsys.blogspot.com/2008/04/usando-origenes-de-datos-ado-y-2.html
En esta entrada de mi blog hay un ejemplo de busqueda con ADO y xBrowse, puede servirte como base para lo que quieres implementar.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: busqueda en xbrowse
Posted: Fri May 15, 2009 02:22 PM

Horacio:

Mis 2 centavos.

La respuesta que Biel te ha sugerido funciona de 100 solo toma en cuenta que la busqueda se esta realizando en el Record Set y no en la tabla, y desde luego existe una diferencia.

Supongamos que estas dando ALTAS de nuevos proveedores pero al ser una aplicación multiusuarios puedes NO ser el único que de ALTAS de nuevos proveedores.

Sentado lo anterior, lo recomendable es que al intentar dar de ALTA el nuevo proveedor verifiques si es que no se encuentra ya registrado (Creo que eso lo hacemos todos), al utilizar la busqueda recomendada estas buscando en el Record Set y no en la tabla y pudieras tener casos en los que se dupliquen los proveedores al registrarlo tú y también otro usuario.

Por qué sucedería así ?, bueno, recordemos que el Record Set es una copia de la tabla por lo tanto lo que otro usuario haga a la tabla no se reflejará en tu Record Set hasta que no hagas un Refresh() y es ahí donde cabe la posibilidad de la duplicidad de Proveedores.

En resúmen, es recomendable que en estos casos la busqueda la hagas directamente a la tabla y no al Record Set.

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

Continue the discussion