Página 1 de 1
Campo calculado no se refresca.
Publicado: Mié Mar 28, 2007 5:25 pm
por Bingen Ugaldebere
Hola compañeros.
Tengo un campo tDBDataEdit con la fecha de nacimiento y me he creado un
campo calculado Edad
::oDbfUsuarios:AddCalcField("Edad",{|oField|
If(!Empty(::oDbfUsuarios:FechaNacim),Int((Date()-::oDbfUsuar ios:FechaNacim)/365.25),0)
})
Al entrar en el Form veo la edad correctamente calculada dentro de un
control tDBMaskEdit pero si cambio la fecha no se refresca este control,
aunque pongo un Logdebug del campo edad y si veo que cambia.
Tengo que hacer algún refresh() del campo por que he probado y nada de nada.
Gracias y salu2.
Campo calculado no se refresca.
Publicado: Mié Mar 28, 2007 5:44 pm
por ignacio
Bingen,
Tienes que indicar que SIEMPRE esos valores los deseas de la tabla no del
buffer de edición. De esta forma:
::oDbfUsuarios:AddCalcField("Edad",{|oField|
If(!Empty(::oDbfUsuarios:FechaNacim(
dsFIELD ) ),Int((Date()-::oDbfUsuarios:FechaNacim( dsFIELD ))/365.25),0) })
Mira el ejemplo DatacontrolsDbfData1. Lo acabo de modificar con tu misma
formula con el campo HIREDATE y funciona perfectamente.
Para más información consulta en la documentación el capítulo 'Introduccción
a los Datacontrols'
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Bingen Ugaldebere" <
bingen@muninser.com> escribió en el mensaje
news:[email=
460a88f7@ozsrv2.ozlan.local...]
460a88f7@ozsrv2.ozlan.local...[/email]
> Hola compañeros.
>
> Tengo un campo tDBDataEdit con la fecha de nacimiento y me he creado un
> campo calculado Edad
>
> ::oDbfUsuarios:AddCalcField("Edad",{|oField|
> If(!Empty(::oDbfUsuarios:FechaNacim),Int((Date()-::oDbfUsuar ios:FechaNacim)/365.25),0)
> })
>
> Al entrar en el Form veo la edad correctamente calculada dentro de un
> control tDBMaskEdit pero si cambio la fecha no se refresca este control,
> aunque pongo un Logdebug del campo edad y si veo que cambia.
>
> Tengo que hacer algún refresh() del campo por que he probado y nada de
> nada.
>
> Gracias y salu2.
Campo calculado no se refresca.
Publicado: Mié Mar 28, 2007 8:17 pm
por Bingen Ugaldebere
Muchas gracias me volveré a leer ese capítulo.
Salu2.
Campo calculado no se refresca.
Publicado: Vie Mar 30, 2007 10:22 am
por Bingen Ugaldebere
Siento contradecirte Ignacio pero no veo que el ejemplo
DatacontrolsDbfData1 funcione por mas que cambio la fecha no refresca
la edad del browse.
Salu2.
Ignacio Ortiz de Zúñiga escribió:
> Bingen,
>
> Tienes que indicar que SIEMPRE esos valores los deseas de la tabla no del
> buffer de edición. De esta forma:
>
> ::oDbfUsuarios:AddCalcField("Edad",{|oField|
> If(!Empty(::oDbfUsuarios:FechaNacim(
> dsFIELD ) ),Int((Date()-::oDbfUsuarios:FechaNacim( dsFIELD ))/365.25),0) })
>
> Mira el ejemplo DatacontrolsDbfData1. Lo acabo de modificar con tu misma
> formula con el campo HIREDATE y funciona perfectamente.
>
> Para más información consulta en la documentación el capítulo 'Introduccción
> a los Datacontrols'
>
> Un saludo
>
Campo calculado no se refresca.
Publicado: Vie Mar 30, 2007 10:33 am
por ignacio
Bingen,
Pruebalo y me cuentas. Gracias.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Bingen Ugaldebere" <
bingen@muninser.com> escribió en el mensaje
news:[email=
460cc8d9@ozsrv2.ozlan.local...]
460cc8d9@ozsrv2.ozlan.local...[/email]
> Siento contradecirte Ignacio pero no veo que el ejemplo
> DatacontrolsDbfData1 funcione por mas que cambio la fecha no refresca
> la edad del browse.
>
> Salu2.
>
> Ignacio Ortiz de Zúñiga escribió:
>> Bingen,
>>
>> Tienes que indicar que SIEMPRE esos valores los deseas de la tabla no del
>> buffer de edición. De esta forma:
>>
>> ::oDbfUsuarios:AddCalcField("Edad",{|oField|
>> If(!Empty(::oDbfUsuarios:FechaNacim(
>> dsFIELD ) ),Int((Date()-::oDbfUsuarios:FechaNacim(
>> sFIELD ))/365.25),0) })
>>
>> Mira el ejemplo DatacontrolsDbfData1. Lo acabo de modificar con tu misma
>> formula con el campo HIREDATE y funciona perfectamente.
>>
>> Para más información consulta en la documentación el capítulo
>> 'Introduccción
>> a los Datacontrols'
>>
>> Un saludo
>>
Attached files prueba.zip (3.5 KB)Â
Campo calculado no se refresca.
Publicado: Vie Mar 30, 2007 12:53 pm
por Bingen Ugaldebere
Muy bien y muchas gracias así si que funciona correctamente, pero....
Si en vez de mostrar la edad en el browse como en tu ejemplo hay un
tDbMaskEdit del formulario que muestra la edad, como hacer que este
cambie de contenido al cambiar la fecha de nacimiento.
He probado a hacer el el onExit del tDBDateEdit de la fecha de
nacimiento {|| ::oDbMaskEdit1:Refresh() } y nada de nada.
Gracias por tu atención.
Campo calculado no se refresca.
Publicado: Vie Mar 30, 2007 1:23 pm
por ignacio
Bingen,
Entonces, haz el cálculo sobre el valor del TDBDateEdit:Value()
Saludos,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Bingen Ugaldebere" <
bingen@muninser.com> escribió en el mensaje
news:[email=
460cec43@ozsrv2.ozlan.local...]
460cec43@ozsrv2.ozlan.local...[/email]
> Muy bien y muchas gracias así si que funciona correctamente, pero....
>
> Si en vez de mostrar la edad en el browse como en tu ejemplo hay un
> tDbMaskEdit del formulario que muestra la edad, como hacer que este cambie
> de contenido al cambiar la fecha de nacimiento.
>
> He probado a hacer el el onExit del tDBDateEdit de la fecha de nacimiento
> {|| ::oDbMaskEdit1:Refresh() } y nada de nada.
>
> Gracias por tu atención.
>
>
>
Campo calculado no se refresca.
Publicado: Vie Mar 30, 2007 2:17 pm
por Bingen Ugaldebere
Nada Ignacio ni cambiándole el Value ni nada, muchas gracias por tu
esfuerzo pero hoy debo de estar un poco espeso, así que lo dejo hasta
después de las vacaciones.
Salu2.