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
ayuda con dbcombo "alias"
-
- Posts: 845
- Joined: Sun Oct 09, 2005 5:36 pm
- Location: la laguna, mexico.
-
- Posts: 1033
- Joined: Fri Oct 07, 2005 3:33 pm
- Location: Cochabamba - Bolivia
tienes que evaluar en el onchange del combobox
Salu2[/b]
Code: Select all
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
-
- Posts: 845
- Joined: Sun Oct 09, 2005 5:36 pm
- Location: la laguna, mexico.
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
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
-
- Posts: 845
- Joined: Sun Oct 09, 2005 5:36 pm
- Location: la laguna, mexico.