FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Dbcombo y Itemlist
Posts: 46
Joined: Tue Oct 11, 2005 02:23 PM
Dbcombo y Itemlist
Posted: Sat Feb 02, 2008 10:08 PM

Hola Foro: Tengo el siguiente problema:
En el siguiente Dbcombo y a ejecutar la funcion descuento, me devuelve la posicion relativa del registro y no el valor del campo Codigo del cual tengo que obtener el porcentaje que debo aplicar....

REDEFINE DBCOMBO oCbx1 VAR nTipopago Update id 179 of oDlg;
on Change (Descuento(@nDescuento, nTipopago),o178:Refresh (),o178:Setfocus());
Alias "Tipopago";
Itemfield "Codigo" ;
Listfield "Descrip"
//----------------------------------
STATIC FUNCTION Descuento(nDescuento, nTipopago)

? "nTipopago", nTipopago // aca me devuelve el recno, que lo interpreta como "Codigo"...

If TipoPago ->(Dbseek(Str(nTipopago,2)))
nDescuento:= Tipopago->Porcen
else
MsgAlert(" No Se Encontro, Tipo de Pago " )
Endif

RETURN Nil

o sea me posiciono en "AMEX" del Archivo "Tipopago", que tiene el codigo 16 y tiene un porcentaje de 5, y me devuelve en nTipopago la posicion (por ejemplo) 8 que es el recno del registro en el archivo y es otro tipo de pago .....

El archivo es Codigo Numerico de 2 y descrip caracter de 30..

Estoy usando:
Todo lo incluido en el FHW 712
Harbour for BCC - build 01/December/2007
Y los dialogos con WorkShop

Desde ya Muchas Gracias ...

Carlos Gustavo Marucco

Rio Gallegos - Santa Cruz

PATAGONIA ARGENTINA

FWH 10.08 - Eagle1 Ver 6.0 - xHarbour 1.2.1 Rev 6717

xMate Ver 1.15 - Workshop Ver 4.5 - Windows 7
Posts: 299
Joined: Mon Oct 22, 2007 03:03 PM
Dbcombo y Itemlist
Posted: Wed Feb 06, 2008 04:57 PM

A mi tambien me trabaja mal el DBCOMBO, por lo que evito utilizarlo, Pero de todas formas prueba modificar tu funcion:

IF nTipoPago>0
TipoPago ->(Dbgoto(nTipopago))
nDescuento:= Tipopago->Porcen
ELSE
MsgAlert("Debe Seleccionar Porcentaje")
ENDIF

Saludos



Angel, Valencia, Venezuela



xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
Dbcombo y Itemlist
Posted: Wed Feb 06, 2008 05:09 PM
No se puede usar data numericos con DbCombo., creo que eso es el problema que tienes. Prueba a convertirlo a caracter.

James Bott dice:

You can't use numeric data with either Combobox or DBComobo--the data must be converted to string. If numeric data values are passed as parameters to methods then they are assumed to be locations, not data elements.

DBCombo inherits from the Combobox class so it inherits the same behavior. Some time ago I tried to modify DBCombo to handle numeric data but it turned out to a huge amount of work since I would have to rewrite most of the combobox methods too.

Since DBCombo's can also use arrays, then you can just convert the database info to an array of strings before initializing DBCombo, then convert the selected value back to a number.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
Posts: 46
Joined: Tue Oct 11, 2005 02:23 PM
Dbcombo y Itemlist
Posted: Wed Feb 06, 2008 07:29 PM

Si, depues de varias pruebas, me decidi a agregar a el/los archivo/s un campo mas, que es un campo carater, que al momento de dar de alta un registro, el campo "codigo" que es numerico lo paso a caracter, y luego trabajo los DBcombo con ese campo caracter....... y funciona perfectamente con lo que necesito .....
Desde ya muchas gracias por las respuestas.

Carlos Gustavo Marucco

Rio Gallegos - Santa Cruz

PATAGONIA ARGENTINA

FWH 10.08 - Eagle1 Ver 6.0 - xHarbour 1.2.1 Rev 6717

xMate Ver 1.15 - Workshop Ver 4.5 - Windows 7

Continue the discussion