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
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.
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
Edición de un campo calculado
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
::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
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
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