FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ayuda con dbcombo "alias"
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
ayuda con dbcombo "alias"
Posted: Tue May 08, 2007 08:47 PM

quiero actualizar un dbcombo dependiendo de otra variable en tiempo de ejecucion (el alias)
asi tengo mi codigo

REDEFINE COMBOBOX oCbx VAR cCbx ITEMS aConc ID 103 OF oDlg UPDATE

REDEFINE DBCOMBO oCbx2 VAR cCbx2 ID 104 OF oDlg ;
alias if(oCbx:nAt==3,oDCos,if(oCbx:nAt==4,oDCom,if(oCbx:nAt==5,oDGru,))) ;
itemfield "CODIGO" ;
listfield "DESCRI";
update WHEN oCbx:nAt > 2 .AND. nRad == 2

pero no me carga nada de datos, como hacer para que seleccione el alias correcto dependiendo del valor del combobox?
salu2
paco

____________________

Paco
Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM
ayuda con dbcombo "alias"
Posted: Wed May 09, 2007 12:36 PM

Hola,

añade oCbx:refill() luego de cambiar el alias

saludos

Marcelo

Posts: 205
Joined: Fri Oct 07, 2005 05:07 PM
ayuda con dbcombo "alias"
Posted: Wed May 09, 2007 01:51 PM
tienes que evaluar en el onchange del combobox

REDEFINE COMBOBOX oCbx VAR cCbx ITEMS aConc ID 103 OF oDlg  UPDATE ;
          ON CHANGE ( oCbx:cAlias := if(oCbx:nAt==3,oDCos,if(oCbx2:nAt==4,oDCom,if(oCbx:nAt==5,oDGru,))), ;
                      oCbx2:Update() )

REDEFINE DBCOMBO oCbx2 VAR cCbx2 ID 104 OF oDlg ;
               alias oDCos ; // el alias por defecto
               itemfield "CODIGO" ;
               listfield "DESCRI";
               WHEN oCbx:nAt > 2 .AND. nRad == 2


Salu2[/b]
Saludos/regards

RenOmaS



skype: americo.balboa
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
ayuda con dbcombo "alias"
Posted: Wed May 09, 2007 04:11 PM

gracias marcelo y renzo,

ya probe y no funciona, ahora me tira un error diferente, puede ser de la clase, aki pego el codigo de como lo hago:

REDEFINE COMBOBOX oCbx VAR cCbx ITEMS aConc ID 103 OF oDlg UPDATE ;
ON CHANGE ( oCbx2:cAlias := if(oCbx:nAt==3,oDCos,;
if(oCbx:nAt==4,oDCom,;
if(oCbx:nAt==5,oDGru,oDEqu))), ;
oCbx2:update() )

REDEFINE RADIO oRad VAR nRad ID 101,102 OF oDlg ;
WHEN oCbx:nAt > 2 UPDATE

REDEFINE DBCOMBO oCbx2 VAR cCbx2 ID 104 OF oDlg ;
alias oDEqu ;
itemfield "CODIGO" ;
listfield "DESCRI";
update WHEN oCbx:nAt > 2 .AND. nRad == 2

y este es el error:

Error description: Error BASE/2022 Argument error: ALLTRIM
Args:
[ 1] = N 0

Stack Calls

Called from: => ALLTRIM(0)
Called from: => (b)SET(0)
Called from: => ASCAN(0)
Called from: => TDBCOMBO:SET(0)
Called from: => TDBCOMBO:DEFAULT(0)
Called from: => TDBCOMBO:UPDATE(0)
Called from: E:\Proyectos\Combustibles\fuentes\cb1500.prg => (b)IMP_CATALOGO(525)
Called from: => TCOMBOBOX:CHANGE(0)

gracias
paco

____________________

Paco
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
ayuda con dbcombo "alias"
Posted: Wed May 09, 2007 06:25 PM

gracias, error detectado en el campo "CODIGO" en 2 dbf esta caracter y en otra esta numerico, veo como lo corrijo
gracias
salu2
paco

____________________

Paco

Continue the discussion