Filtrar Dbcombo dependiendo de Otro

Post Reply
EASYSOFT
Posts: 129
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Filtrar Dbcombo dependiendo de Otro

Post by EASYSOFT »

Hola amigos del foro

Tengo dos dbcombos el segungo quiero filtrarle dependiendo de lo seleccionado en el primero, no se si pueda, lo intente pero no me funciona, no me actualiza el dbcombo


Gracias.


Saludos
_
Saludos
_
Fwh 10.4, bcc55
Databaselab2002
Posts: 142
Joined: Sun Oct 09, 2005 1:36 am

Post by Databaselab2002 »

Estimado Amigo

Si se puede cualquier duda a tu disposicion

Fabian
Databaselab2002@yahoo.com.ar


0.2,5 DBCOMBO omarca VAR xmarca SIZE 80,80 OF odlg ;
ON CHANGE(MARMODV(XMARCA,OMODELO,XMODELO));
ALIAS "MARCAS" ;
ITEMFIELD "NAME" ;
LISTFIELD "NAME"


@ 1,3 SAY omarca Prompt "Codigo" OF odlg &&COLOR CLR_BLACK,CLR_5
@ 1,18 SAY olinea Prompt "Descripcion" OF odlg &&COLOR CLR_BLACK,CLR_5
@ 1,54 SAY olinea Prompt "Ampl. Foto" OF odlg size 30,10 &&COLOR CLR_BLACK,CLR_5


@ 1.8,356 btnbmp filENAME "visual1.bmp" CENTER NOBORDER OF oDlg size 10,10 action BLANK(ODESCRIP,XDESCRIP), Filtro( olbx,XMARCA,XLINEA,XCODIGO,XMODELO,OPRECIO)


*1***************




SELE 55
USE MODELOS &&alias marcas shared
index on MODELOS->MODELO to MODELOS
set index to MODELOS



@0.2,18 DBCOMBO omodelo VAR xmodelo SIZE 80,80 OF odLG ;
ALIAS "MODELOS" ;
ITEMFIELD "MODELO" ;
LISTFIELD "MODELO"



FUNCTION MARMODV(XMARCA,OMODELO,XMODELO)


Local aItemFld := {}
Local aItemList := {}



SELE 55
USE MODELOS &&alias marcas shared
set index to MODELOS

If ALLTRIM(xmarca)="TODAS LAS MARCAS"


dbGotop()

While ! Eof()

aAdd( aItemFld ,55->MODELO )
aAdd( aItemList,55->MODELO )

dbSkip()

End


oMODELO:SetItems( aItemFld, aItemList )
oModelo:Refresh()
* SET FILTER TO
SELE 5
Use Catalogo && alias catalogo shared
SET INDEX TO catalogo

SysRefresh()

ENDIF
EASYSOFT
Posts: 129
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Post by EASYSOFT »

Gracias Fabian
Voy a probar, si tengo alguna duda te vuelvo a molestar
Saludos
_
Fwh 10.4, bcc55
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Post by Marcelo Via Giglio »

Hola,

aqui te mando un DBCOMBO modificado, el archivo de cabecera es como sigue (para redefine)
#xcommand REDEFINE DBCOMBO [ <oCbx> VAR ] <cVar> ;
[ <items: ITEMS, PROMPTS> <aItems> ] ;
[ ID <nId> ] ;
[ <dlg:OF,WINDOW,DIALOG> <oWnd> ] ;
[ <help:HELPID, HELP ID> <nHelpId> ] ;
[ ON CHANGE <uChange> ] ;
[ VALID <uValid> ] ;
[ <color: COLOR,COLORS> <nClrText> [,<nClrBack>] ] ;
[ <update: UPDATE> ] ;
[ MESSAGE <cMsg> ] ;
[ WHEN <uWhen> ] ;
[ BITMAPS <acBitmaps> ] ;
[ ON DRAWITEM <uBmpSelect> ] ;
[ ALIAS <cAlias> ] ;
[ ITEMFIELD <cFldItem> ] ;
[ LISTFIELD <cFldList> ] ;
[ <list: LIST, PROMPTS> <aList> ] ;
[ <noblank: NOBLANK>] ;
[ ORDER <orden> ] ;
[ FOR <uCond> ] ;
=> ;
[ <oCbx> := ] TDBCombo():ReDefine( <nId>, bSETGET(<cVar>),;
<aItems>, <oWnd>, <nHelpId>, <{uValid}>, [{|Self|<uChange>}],;
<nClrText>, <nClrBack>, <cMsg>, <.update.>, <{uWhen}>,;
<acBitmaps>, [{|nItem|<uBmpSelect>}], ;
<cAlias>, <cFldItem>, <cFldList>, <aList>, <.noblank.>, <{uCond}>, <orden> )
Podras observar que existen 3 modificaciones

NOBLANK para que el primer elemento mostrado no sea blanco
ORDER en caso que la tabla tenga un indice puedes elegir por cual quieres que se ordene
FOR defines la condicion de los datos que se presentaran en el combo

Y el siguiente es un ejemplo de como utilizarlo
REDEFINE DBCOMBO oCbx1 ;
VAR oDbf:pais ;
ID 105 ;
OF oDlg ;
ALIAS "pais" ;
ITEMFIELD "c_pais" ;
LISTFIELD "pais" ;
ON CHANGE ( oCbx2:bFor := &("{|| ciudad -> c_pais ='" + oDBf:pais + "' }"),;
oCbx2:refill( .T. ), ;
oCbx2:Refresh(), ;
EVAL( oCbx2:bChange );
) ;
WHEN ! cJob $ "del,view"

REDEFINE DBCOMBO oCbx2 ;
VAR oDbf:ciudad ;
ID 106 ;
OF oDlg ;
ALIAS "ciudad" ;
ITEMFIELD "c_ciudad" ;
LISTFIELD "ciudad" ;
FOR ciudad -> c_pais = oDbf:pais ;
ON CHANGE ( oCbx3:bFor := &("{|| provincia -> c_pais ='" + oDBf:pais + "' .AND. provincia -> c_ciudad ='" + oDBf:ciudad + "' } "),;
oCbx3:refill( .T. ), ;
oCbx3:Refresh() ;
);
WHEN ! cJob $ "del,view"

REDEFINE DBCOMBO oCbx3 ;
VAR oDbf:prov ;
ID 107 ;
OF oDlg ;
ALIAS "provincia" ;
ITEMFIELD "c_prov" ;
LISTFIELD "prov" ;
FOR provincia -> c_pais = oDbf:pais .AND. provincia -> c_ciudad = oDbf:ciudad ;
WHEN ! cJob $ "del,view"
y aqui te dejo donde bajar el fuente


http://hyperupload.com/download/02fe4e ... o.zip.html

saludos[/url]
EASYSOFT
Posts: 129
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Post by EASYSOFT »

Marcelo antes que nada gracias
Intente bajarlo pero no se pudo me dice que no se encuentra el archivo
seria mucha molestia melo envies a mi correo

easysoft@andinanet.net

Saludos
_
Saludos
_
Fwh 10.4, bcc55
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Post by Marcelo Via Giglio »

Hola,

lo que paso es que se me fue un simbolo al final del url, prueba nuevamente

http://hyperupload.com/download/02fe4ef ... o.zip.html

141005-EASYSOFT wrote:Marcelo antes que nada gracias
Intente bajarlo pero no se pudo me dice que no se encuentra el archivo
seria mucha molestia melo envies a mi correo

easysoft@andinanet.net

Saludos
_
EASYSOFT
Posts: 129
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Post by EASYSOFT »

Listo Marcelo eso era


Gracias


Saludos
_
Saludos
_
Fwh 10.4, bcc55
Post Reply