FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour busqueda tdophin
Posts: 84
Joined: Tue Jul 26, 2016 09:52 PM
busqueda tdophin
Posted: Tue Sep 26, 2017 07:59 PM

Estimados, favor de orientar, estoy con Mysql y tdolphin, y quiero hacer que me buque y me filtre un valor en el campo cCampo, en la query cTab_Fam, ordenado por campo nom_fam, en el browse oBrw

// tab_fam es la tabla llamada de forma directa.
// nom_fam es el campo que ordena.

FUNCTION FiltrarFamilia(oBrw,cCampo,cTab_Fam)
cTab_Fam:=xServer:Query("SELECT * FROM tab_fam WHERE nom_fam LIKE '"+UPPER(AllTrim(cCampo))+"%'")
cTab_Fam:Refresh()
cTab_Fam:Gotop()
oBrw:refresh(.t.)
oBrw:SetFocus()
RETURN .t.

eso se compila, se procesa, pero no hace nada.. no reclama, no refresca, no cambia... queda tal cual.. en que estoy fallando..?

Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: busqueda tdophin
Posted: Tue Sep 26, 2017 08:54 PM
Estas creado otra instancia de la query, la estas creando de nuevo.
Lo que tenes que hacer es actuaizar la que ya tenes

Code (fw): Select all Collapse
FUNCTION FiltrarFamilia(oBrw,cCampo,cTab_Fam)
LOCAL cFiltro := " nom_fam LIKE '%"+UPPER(AllTrim(cCampo))+"%'"
cTab_Fam:SetNewFilter(SET_WHERE,cFiltro,.t.)
cTab_Fam:Gotop()
oBrw:refresh(.t.)
oBrw:SetFocus()
RETURN .t.
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
Re: busqueda tdophin
Posted: Wed Sep 27, 2017 11:11 AM

qual a diferença entre:

oBrw:refresh(.t.)

ou

oBrw:refresh()

??

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
Posts: 84
Joined: Tue Jul 26, 2016 09:52 PM
Re: busqueda tdophin
Posted: Wed Sep 27, 2017 12:12 PM

Estimados, funciono perfecto, la verdad no es tema de programación, si no que es tema de saber bien lo que entrega sql.

muchas gracias..

Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: busqueda tdophin
Posted: Wed Sep 27, 2017 01:33 PM
Rearma o no todo el browse
Code (fw): Select all Collapse
METHOD Refresh( lComplete )  CLASS TXBrowse

   local nKeyNo

   if ::lAdjusted

      DEFAULT lComplete := .F.

      ::KeyCount()

      if lComplete
         ::nRowSel  = 1
         ::nArrayAt = Min( 1, ::nLen )
      else
         ::DelRepos()  // if the row is deleted for RDD
         nKeyNo     = ::KeyNo()
         if nKeyNo > ::nLen         // Rare case
            ::KeyNo  := ::nLen
            nKeyNo  = ::nLen
         endif
         if ::nArrayAt == 0 .and. ::nLen > 0
            // when one or more rows are added to a blank array
            ::nArrayAt  := 1
         endif
      endif
      ::CalcRowSelPos()
      ::GetDisplayCols()
      if ::bOnRefresh != nil
         Eval( ::bOnRefresh, Self )
      endif

   endif

return ::Super:Refresh( .t. )

Continue the discussion