ado, wbrowse duda

Post Reply
tomafa
Posts: 111
Joined: Sun Aug 13, 2006 7:28 pm
Location: ....
Contact:

ado, wbrowse duda

Post by tomafa »

tengo la siguiente uregencia, quiero saber si se puede hacer una busqueda como lo hacia con dbf, cuando este tecleando las letras se posesione en el registo correspondiente, eso se puede hacer con ado, uso sql server

gracias
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Post by Biel EA6DD »

Si, utilizando el metodo Find del recordset. Yo lo tengo implementado con xBrowse, pero debe de ser igual para wBrowse.
Last edited by Biel EA6DD on Tue Dec 05, 2006 8:36 am, edited 1 time in total.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
tomafa
Posts: 111
Joined: Sun Aug 13, 2006 7:28 pm
Location: ....
Contact:

Post by tomafa »

y tendras un ejemplo que me puedas mostrar por favor
Rochinha
Posts: 309
Joined: Sun Jan 08, 2006 10:09 pm
Location: Brasil - Sao Paulo
Contact:

Post by Rochinha »

Amigo

Yo desarollo una lib con acesso con ADO mira lo exemplo no link:

http://www.shoppmarketing.com/forum/hbado.zip

funciona con mysql sql_server firebird access xls e xml nativamente
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Post by Biel EA6DD »

Aqui tienes el ejemplo, con xBrowse se tiene que definir un say que es el que va visualizando la cadena buscada, y un codeblock que busque y devuelva falso o verdadero dependiendo de si ha encontrado o no.

Code: Select all

oBrw := TXBrowse():New(oWnd)
oBrw:SetAdo(oRs)
oBrw:CreateFromCode()
oWnd:oClient := oBrw

oBrw:bSeek               := { | c | Busca(c,oRs) }
oBrw:oSeek               := oSay

//---------------------------------
STATIC FUNCTION Busca(cBuscar,oRs)
   LOCAL nLen:=Len(cBuscar)
   STATIC nLenAnt
   DEFAULT nLenAnt:=0
   IF Len(cBuscar)>1
      IF(nLenAnt>nLen,oRs:MoveFirst(),)
      oRs:Find( "Nombre LIKE '"+cBuscar+"*'",,1)
   ELSE
      oRs:MoveFirst()
      IF !Empty(cBuscar)
         oRs:Find( "Nombre LIKE '"+cBuscar+"*'",,1)
      ENDIF
   ENDIF
   nLenAnt:=nLen
RETURN !(oRs:Eof.OR.oRs:Bof)
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
Post Reply