ayuda con dbcombo "alias"

Post Reply
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

ayuda con dbcombo "alias"

Post by Francisco Horta »

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
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Post by Marcelo Via Giglio »

Hola,

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

saludos

Marcelo
User avatar
RenOmaS
Posts: 205
Joined: Fri Oct 07, 2005 5:07 pm

Post by RenOmaS »

tienes que evaluar en el onchange del combobox

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 
Salu2[/b]
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Post by Francisco Horta »

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
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Post by Francisco Horta »

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