In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Edición de un campo calculado

Foro público de Xailer en español
Responder
artur
Mensajes: 31
Registrado: Lun Sep 06, 2010 11:13 am

Edición de un campo calculado

Mensaje 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
Juan Jose
Mensajes: 72
Registrado: Lun Jun 09, 2008 3:43 pm

Edición de un campo calculado

Mensaje 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
artur
Mensajes: 31
Registrado: Lun Sep 06, 2010 11:13 am

Edición de un campo calculado

Mensaje 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
Responder