Page 1 of 1

MySql OrdScope SOLUCIONADO

Posted: Sun Dec 27, 2020 4:01 am
by D.Fernandez
El el PRIMER xBrowse hice
oBrw:bChange:= { || ( oRs2:SetFilter( 'subcli= oRs:Fieldget(2) ' ) , oRs2:Update(), xbCli:Refresh(),xTbx:SetFocus() ) }
oRs2 es la cosulta para el segundo oBrw2 y subcli es el campo. oRs:FieldGet(2) contiene el número por el que quiero filtar.

Hola,

tengo 2 xBrowse, el campo cliente contienen lo mismo en los dos.


1) FWCONNECT oConsql HOST chost USER cUser PASSWORD cPassword DB cDatabase
oRs := oConSql:RowSet( "select * from clientes" )
oRs:SetOrder(1)

REDEFINE XBROWSE oBr1 ID 110 Of oDlg1 DATASOURCE oRs

2) oRs2 := oConSql:RowSet( "select * from cuentas" )

REDEFINE XBROWSE oBr2 ID 115 Of oDlg1 DATASOURCE oRs2

Intento mostar en oBr2 las cuentas que corresponden al cliente en oBr1.

Tengo OrdScope() ?
o puedo hacel con filtro?

el el ON CHANGE HACESCOPE( oRs:FieldGet(2)) < numero de cliente
---------------------------------------------------
Function HaceScope(numero)

oRs2:SetFilter( 'subcli = numero' )
....
....

Alguna idea

Muchas gracias.

Ruben Fernandez

Re: MySql OrdScope

Posted: Sun Dec 27, 2020 2:59 pm
by FranciscoA
Mira este codigo con TMySql.

Code: Select all

        oCat:=oServer:Query("SELECT * FROM catalogo WHERE codigo LIKE '"+ALLTRIM(cCodigo)+"%' ORDER BY codigo;")
 

Re: MySql OrdScope

Posted: Sun Dec 27, 2020 5:04 pm
by D.Fernandez
Francisco, muchas gracias.

Como veo, haces una consulta cada vez que se cambia el registro.

No quiero hacer tantan consultas, habrá otra manera.?

Gracias

Saludos
Ruben Dario Fernandez

Re: MySql OrdScope SOLUCIONADO

Posted: Mon Dec 28, 2020 12:47 pm
by cmsoft
Prueba asi:

Code: Select all

REDEFINE XBROWSE oBrw DATASOURCE oRs
              COLUMNS "codcli","nombre";
              HEADERS "Codigo","Nombre";
              SIZES 40,110 ON CHANGE Actuali()
REDEFINE XBROWSE oBrw2 DATASOURCE oRs2;
              COLUMNS "codcli","detart","cantidad","precio";
              HEADERS "Codigo","Detalle","Cant","Precio";
              SIZES 60,200,90,90 ID 105 OF oDlg 
....
***********************************************
** Busca los articulos vendidos en cada cliente
STATIC FUNCTION Actuali()
LOCAL cWhere
cWhere := "codcli= " + ClipValue2Sql(oRs:codcli) 
oRs2:SetNewFilter(SET_WHERE,cWhere,.t.)
oBrw2:Refresh()
RETURN .t.
 
Uso Tdolphin, no se si es tu caso...
Espero te sirva

Re: MySql OrdScope SOLUCIONADO

Posted: Thu Dec 31, 2020 6:50 am
by nageswaragunupudi