Filtrar Dbcombo dependiendo de Otro

Filtrar Dbcombo dependiendo de Otro

Postby EASYSOFT » Wed Feb 07, 2007 12:48 am

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
Oscar
Saludos
Oscar
Fwh 10.4, bcc55
EASYSOFT
 
Posts: 189
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Postby Databaselab2002 » Wed Feb 07, 2007 2:37 am

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
Databaselab2002
 
Posts: 142
Joined: Sun Oct 09, 2005 1:36 am

Postby EASYSOFT » Wed Feb 07, 2007 2:24 pm

Gracias Fabian
Voy a probar, si tengo alguna duda te vuelvo a molestar
Saludos
Oscar
Fwh 10.4, bcc55
EASYSOFT
 
Posts: 189
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Postby Marcelo Via Giglio » Thu Feb 08, 2007 2:00 pm

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


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

saludos[/url]
Marcelo Via Giglio
 
Posts: 1069
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Postby EASYSOFT » Thu Feb 08, 2007 11:19 pm

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
Oscar
Saludos
Oscar
Fwh 10.4, bcc55
EASYSOFT
 
Posts: 189
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Postby Marcelo Via Giglio » Fri Feb 09, 2007 12:09 pm

Hola,

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

http://hyperupload.com/download/02fe4ef127/dbcombo.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
_
Marcelo Via Giglio
 
Posts: 1069
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Postby EASYSOFT » Fri Feb 09, 2007 2:22 pm

Listo Marcelo eso era


Gracias


Saludos
Oscar
Saludos
Oscar
Fwh 10.4, bcc55
EASYSOFT
 
Posts: 189
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador


Return to FiveWin para Harbour/xHarbour

Who is online

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