Página 1 de 1

Edición de un campo calculado

Publicado: Mié Dic 01, 2010 5:25 pm
por artur
Hola de nuevo!
Cómo puedo editar un campo calculado ?
Tengo un dataset donde añado un campo calculado saldo y lo inicializo a 0 con el siguiente código
::ds:AddCalcField("Saldo", {|oField| 0 })
Luego necesito cambiar su valor pero al editarlo como un campo qualquiera con
::ds:CAMPO:=valor
No hace nada , en cambio con los campos no calculados si que funciona. Por supuesto me encuentro en modo edición.
saludos

Edición de un campo calculado

Publicado: Mié Dic 01, 2010 7:47 pm
por Juan Jose
prueba al go asi
::AddCalcField("nombre_empleado", {|oField| oField:oDataSet:apellidos+",
"+oField:oDataSet:empl_nombre } )
::oFieldByName("nombre_empleado"):OnSetValue := {|oField, Value|
Save_Nombre_Completo( oField:oDataSet, Value ) }
Return Self
//---------------------------------------------------------- --------------------
FUNCTION Save_Nombre_Completo( oDataSet, Value )
oDataSet:Apellidos := AllTrim(SubStr(Value, 1, at(",",Value)-1))
oDataSet:Nombre := AllTrim(SubStr(Value, at(",",Value), Len(Value)))
RETURN nil
"artur" <artur[at]technologycenter[dot]es> escribió en el mensaje
news:4cf676ef$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Hola de nuevo!
>
> Cómo puedo editar un campo calculado ?
> Tengo un dataset donde añado un campo calculado saldo y lo
> inicializo a 0 con el siguiente código ::ds:AddCalcField("Saldo",
> {|oField| 0 })
>
> Luego necesito cambiar su valor pero al editarlo como un
> campo qualquiera con
> ::ds:CAMPO:=valor
> No hace nada , en cambio con los campos no calculados si que
> funciona. Por supuesto me encuentro en modo edición.
>
> saludos
>
>
>
> __________ Informacin de ESET NOD32 Antivirus, versin de la base de firmas
> de virus 5664 (20101201) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5664 (20101201) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com

Edición de un campo calculado

Publicado: Jue Dic 02, 2010 9:14 am
por artur
Creo que no es lo que busco ya que no edito este campo. El browse donde trabajo con el dataset es de sólo lectura.
Este campo calculado calcula el saldo pero no lo guarda , sólo lo muestra el problema es que el cálculo del saldo lo hace una rutina especí­ficamente creada para ello
En el ejemplo estas guardando los datos en otros campos que si que existen.
Estoy intentando solucionarlo de la siguiente forma pero me aparece un "Stack overflow"
::osqlExtracto:oFieldByName("Saldo"):OnSetValue := {| oField, Value | ::CalcSal(oField,Value)}
METHOD CalcSal(oField, Value ) CLASS TExtractos
LOCAL saldo
saldo:=oField:oDataSet:MDEB-oField:oDataSet:MHAB
...
oField:value:=saldo
RETURN NiL