FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour xBrowse - busqueda incremental (SOLUCIONADO)
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
xBrowse - busqueda incremental (SOLUCIONADO)
Posted: Wed Sep 02, 2015 12:20 PM
Buen dia Gente
trillado tema... :-)

He definido un xBrowse así:
Code (fw): Select all Collapse
   REDEFINE XBROWSE ::oLstP ID BRW_XBRW OF oDlgP ;
            COLUMNS "ID", "TUTOR1"  ;
            HEADERS "ID", "Tutor"  ;
            Alias   cSQLAlias AUTOSORT

La DBF es administrada con ADS y lo particular es que creo una lista a traves de un Select, definido así:
Code (fw): Select all Collapse
   if !ADSExecuteSQLDirect( "SELECT ID,TUTOR1 FROM BDF2WS01 WHERE FEAFIP1 "+ ;
                            "UNION SELECT ID,TUTOR2 FROM BDF2WS01 WHERE FEAFIP2 ORDER BY TUTOR1" )
      MessageBox(, "Falla procesar código SQL en Tabla de Personas", "Reintentar...", MB_ICONSTOP )
      SQLTutor->( DbCloseArea() )
      return( nil )
   end
   cSQLAlias:= Alias()

Lo que ocurre es que cuando ingreso texto para realizar la búsqueda, esta no se realiza (tampoco muestra el icono indicando el orden).
Salvo, que haga clic sobre la cabecera "Tutor"
He forzado con := "A" para que muestre el ícono; pero la búsqueda no se ejecuta, salvo (insisto) que la active con clic sobre la cabecera.
Se puede indicar que esté activa sin hacer clic en la cabecera?

gracias

P.D.: La razon de crear el xbrowse mediante el Select esta relacionado con esto:
http://forums.fivetechsupport.com/viewtopic.php?f=6&t=31271#p181228
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: xBrowse - busqueda incremental
Posted: Thu Sep 03, 2015 02:02 AM
SELECT ID,TUTOR1 FROM BDF2WS01 WHERE FEAFIP1
UNION
SELECT ID,TUTOR2 FROM BDF2WS01 WHERE FEAFIP2
ORDER BY TUTOR1

estimado, los WHERE estan bien?, no me parece una expresio valida. :-)

has probado esta consulta desde el front ARC de ADS?
me parece que esto seria mas adecuado:

SELECT ID,TUTOR1 AS TUTOR FROM BDF2WS01 WHERE FEAFIP1=true
UNION
SELECT ID,TUTOR2 AS TUTOR FROM BDF2WS01 WHERE FEAFIP2=true


no es necesario el "order by" ya que lo ordenaras en la tabla con un index

en tu caso, debes realizar un indexado luego de obtener el alias
para que te funcione.

Code (fw): Select all Collapse
SELECT &cSQLAlias
INDEX ON TUTOR TAG TUTOR TEMPORARY
...
xbrowse....
...


salu2
carlos vargas
Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: xBrowse - busqueda incremental
Posted: Thu Sep 03, 2015 11:32 AM
Carlos;
muchas gracias por interesarte en el tema.
La sentencia es correcta, la descubrí por casualidad en algun momento que no escribi: CampoLogico=TRUE y no dió error (tal como la seguí escribiendo hasta ahora). Al parecer funciona a partir de ADS 10.x
Aunque si queremos estar seguro nada mejor que indicar la igualdad :-)
Acá el resultado


Tu aporte, del indice temporal, es lo que me estaba faltando

muchas gracias!
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: xBrowse - busqueda incremental (SOLUCIONADO)
Posted: Thu Sep 03, 2015 05:04 PM

Sip, es que la instruccion sql es mas legible si indicas la igualdad,
siempre a la orden.

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)

Continue the discussion