FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Filtrar Dbcombo dependiendo de Otro
Posts: 195
Joined: Sat Oct 22, 2005 01:17 PM

Filtrar Dbcombo dependiendo de Otro

Posted: 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 23.10, bcc55

Posts: 142
Joined: Sun Oct 09, 2005 01:36 AM

Filtrar Dbcombo dependiendo de Otro

Posted: Wed Feb 07, 2007 02: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

Posts: 195
Joined: Sat Oct 22, 2005 01:17 PM

Filtrar Dbcombo dependiendo de Otro

Posted: Wed Feb 07, 2007 02:24 PM

Gracias Fabian
Voy a probar, si tengo alguna duda te vuelvo a molestar

Saludos

Oscar

Fwh 23.10, bcc55

Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM

Filtrar Dbcombo dependiendo de Otro

Posted: Thu Feb 08, 2007 02: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


http://hyperupload.com/download/02fe4ef ... o.zip.html" rel="noopener">
http://hyperupload.com/download/02fe4ef ... o.zip.html

saludos[/url]
Posts: 195
Joined: Sat Oct 22, 2005 01:17 PM

Filtrar Dbcombo dependiendo de Otro

Posted: 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 23.10, bcc55

Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM

Filtrar Dbcombo dependiendo de Otro

Posted: 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
_
Posts: 195
Joined: Sat Oct 22, 2005 01:17 PM

Filtrar Dbcombo dependiendo de Otro

Posted: Fri Feb 09, 2007 02:22 PM

Listo Marcelo eso era

Gracias

Saludos
Oscar

Saludos

Oscar

Fwh 23.10, bcc55

Continue the discussion