Page 1 of 1
ado, wbrowse duda
Posted: Mon Dec 04, 2006 6:20 pm
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
Posted: Mon Dec 04, 2006 7:09 pm
by Biel EA6DD
Si, utilizando el metodo Find del recordset. Yo lo tengo implementado con xBrowse, pero debe de ser igual para wBrowse.
Posted: Mon Dec 04, 2006 8:17 pm
by tomafa
y tendras un ejemplo que me puedas mostrar por favor
Posted: Tue Dec 05, 2006 8:46 am
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
Posted: Tue Dec 05, 2006 8:48 am
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)