ayuda con dbcombo "alias"

ayuda con dbcombo "alias"

Postby Francisco Horta » Tue May 08, 2007 8: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
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Postby Marcelo Via Giglio » Wed May 09, 2007 12:36 pm

Hola,

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

saludos

Marcelo
Marcelo Via Giglio
 
Posts: 1069
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Postby RenOmaS » Wed May 09, 2007 1:51 pm

tienes que evaluar en el onchange del combobox

Code: Select all  Expand view  RUN
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]
User avatar
RenOmaS
 
Posts: 205
Joined: Fri Oct 07, 2005 5:07 pm

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

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


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 58 guests