busqueda tdophin

busqueda tdophin

Postby kpidata » Tue Sep 26, 2017 7: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..?
kpidata
 
Posts: 80
Joined: Tue Jul 26, 2016 9:52 pm

Re: busqueda tdophin

Postby cmsoft » Tue Sep 26, 2017 8: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: Select all  Expand view
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.
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: busqueda tdophin

Postby MGA » 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
MGA
 
Posts: 1252
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: busqueda tdophin

Postby kpidata » 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..
kpidata
 
Posts: 80
Joined: Tue Jul 26, 2016 9:52 pm

Re: busqueda tdophin

Postby cmsoft » Wed Sep 27, 2017 1:33 pm

Rearma o no todo el browse
Code: Select all  Expand view
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. )
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 72 guests