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
ado, wbrowse duda
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
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.
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
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
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
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)