Hola:
Tengo el siguiente c贸digo:
Mi consulta es la siguiente:
C贸mo puedo hacer para realizar una b煤squeda incremental sobre el browse ya que este es un array obtenido de un objeto adodb.recordset?.
La idea es que yo escriba en el get y al presionar enter o cuando pierda el foco si detecta que hay datos en el get busque por aproximaci贸n en el browse y me posicione sobre el primer registro que coincida con la palabra encontrada. La idea es que si coloco AB se posicione sobre el primer registro que comienza con AB.
Esto lo hago sin problemas al realizar un browse directamente a un .DBF. Nunca lo he realizado en un array.
Saludos y mil gracias
David Lagos S.
Coquimbo-Chile
P.D:Ren茅, tu blog est谩 excelente. Felicitaciones.
Adjunto una imagen

Tengo el siguiente c贸digo:
FUNCTION BuscarClientes( oParent)
LOCAL oDlg, oBrw, oBusqueda, cBusqueda, aResultado
aResultado:=Sql("SELECT rut,nombre,ciudad,email FROM BASEDEDATOS.CLIENTES ORDER BY nombre")
IF aResultado[1]
IF aResultado[3]:RecordCount>0
aResultado[3]:MoveFirst()
DEFINE DIALOG oDlg RESOURCE "BUSCARCLIENTES"
REDEFINE LISTBOX oBrw ;
FIELDS Str(aResultado[3]:Fields(0):value,0), ;
aResultado[3]:Fields(1):value, ;
aResultado[3]:Fields(2):value, ;
aResultado[3]:Fields(3):value ;
ID 102;
FIELDSIZES 80, 250, 100, 250 ;
HEADERS "R.U.T.","Raz贸n Social","Ciudad","email" OF oDlg
oBrw:bLogicLen := { || aResultado[3]:RecordCount }
oBrw:bGoTop := { || aResultado[3]:MoveFirst() }
oBrw:bGoBottom := { || aResultado[3]:MoveLast() }
oBrw:bSkip := { | nSkip | Salto( aResultado[3], nSkip ) }
oBrw:cAlias := "ARRAY"
REDEFINE BUTTON ID 301 OF oDlg ACTION ( oDlg:bValid:={ || .T.}, oDlg:End()) ;
CANCEL
ACTIVATE DIALOG oDlg CENTER VALID .F.
ELSE
MsgStop( "No existen Clientes en el Maestro", "Error")
ENDIF
aResultado[3]:Close()
aResultado[2]:Close()
ENDIF
RETURN NILMi consulta es la siguiente:
C贸mo puedo hacer para realizar una b煤squeda incremental sobre el browse ya que este es un array obtenido de un objeto adodb.recordset?.
La idea es que yo escriba en el get y al presionar enter o cuando pierda el foco si detecta que hay datos en el get busque por aproximaci贸n en el browse y me posicione sobre el primer registro que coincida con la palabra encontrada. La idea es que si coloco AB se posicione sobre el primer registro que comienza con AB.
Esto lo hago sin problemas al realizar un browse directamente a un .DBF. Nunca lo he realizado en un array.
He intentado esto para poder obtener los datos seleccionados en el browse al presionar un bot贸n o hacer doble click sobre el registro:
nPos:=oBrw:nAt //==>retorna NIL nPos:=oBrw:nRowPos //==> retorna el registro donde estoy MsgInfo( oBrw:aArray[1,1] //hace que mi aplicaci贸n se cuelgue. No muestra ning煤n error. Simplemente se cuelga.
Saludos y mil gracias
David Lagos S.
Coquimbo-Chile
P.D:Ren茅, tu blog est谩 excelente. Felicitaciones.
Adjunto una imagen



