Página 1 de 1

Mostrar Campo Calculado

Publicado: Jue Oct 14, 2004 8:43 am
por rcardenas
Hola
Tengo un campo calculado que muestro correctamente en un dbBrowse, pero al
editar ese valor en un formalario de Edición no me sale ningun Valor. Como
puedo desplegar ese campo Calculado?
Ej. el Campo calculado es:
::oDataSet:AddCalcField( "xSaldo2", ;
{|oField| oField:oDataSet:Saldo1 + ;
oField:oDataSet:Saldo2 + ;
oField:oDataSet:Saldo3 + ;
oField:oDataSet:Saldo4 + ;
oField:oDataSet:Saldo5 + ;
oField:oDataSet:Saldo6 + ;
oField:oDataSet:Saldo7 + ;
oField:oDataSet:ItbmsM + ;
oField:oDataSet:Saldo8 } )
Luego en le Formulario de Captura/Modificacion lo defino así:
oDataField --- xSaldo2
en el Evento OnCreate --- DefineCampo
METHOD DefineCampo( oSender ) CLASS TForm0701e
oSender:oDataSet := ::oParent:oDataSet
RETURN Nil
--
Saludos
Raúl Eduardo Cárdenas S.
Law & Accounting System's, Inc.
Gerente General
Celular: (507) 672-8838
Email: rcardenas@fgs2002.com
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.776 / Virus Database: 523 - Release Date: 10/12/2004

Mostrar Campo Calculado

Publicado: Jue Oct 14, 2004 5:42 pm
por ignacio
Raúl,
No tiene mucho sentido editar un campo calculado, a no ser de que tu mismo
controles que operaciones se harán cuando se editen y graben que se puede
hacer modificando el evento 'OnSetValue' del propio TDataField del campo
calculado:
oCalcField := oDbf:AddCalcField( "Suma", {|o| .... } )
oCalcFileld:OnSetValue := {|o, v| o:oDataSet:MiCampoReal := v }
Ahora bien, para mostrarlo solamente en un formulario aparte no deberías
tener ningún problema. Lo acabo de probar y me ha funcionado correctamente.
Lo único que veo que no has hecho es asignar a la propiedad oDataField del
datacontrol que mostrará el campo calculado el literal "xSaldo2".
Un saludo,
--
Ignacio Ortiz
www.xailer.com
"Raúl Eduardo Cárdenas" <rcardenas@fgs2002.com> escribió en el mensaje
news:416e20c1$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hola
>
> Tengo un campo calculado que muestro correctamente en un dbBrowse, pero al
> editar ese valor en un formalario de Edición no me sale ningun Valor.
> Como
> puedo desplegar ese campo Calculado?
>
> Ej. el Campo calculado es:
>
> ::oDataSet:AddCalcField( "xSaldo2", ;
> {|oField| oField:oDataSet:Saldo1 + ;
> oField:oDataSet:Saldo2 + ;
> oField:oDataSet:Saldo3 + ;
> oField:oDataSet:Saldo4 + ;
> oField:oDataSet:Saldo5 + ;
> oField:oDataSet:Saldo6 + ;
> oField:oDataSet:Saldo7 + ;
> oField:oDataSet:ItbmsM + ;
> oField:oDataSet:Saldo8 } )
>
> Luego en le Formulario de Captura/Modificacion lo defino así:
> oDataField --- xSaldo2
> en el Evento OnCreate --- DefineCampo
>
>
> METHOD DefineCampo( oSender ) CLASS TForm0701e
> oSender:oDataSet := ::oParent:oDataSet
> RETURN Nil
>
>
>
> --
> Saludos
>
> Raúl Eduardo Cárdenas S.
> Law & Accounting System's, Inc.
> Gerente General
> Celular: (507) 672-8838
> Email: rcardenas@fgs2002.com
>
>
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.776 / Virus Database: 523 - Release Date: 10/12/2004
>
>

Mostrar Campo Calculado

Publicado: Jue Oct 14, 2004 8:48 pm
por ignacio
Raúl,
Veo que efectivamente estaba fallando cuando se utilizaba en controles tipo
DBEdit por ejemplo, pero funcionaba bien con DBLabel. Ahora ya esta
corregido. Obviamente si no se sobreescribe el evento OnSetValue() para
dicho campo calculado cuando se salve (update) el DataSet no guardará nada
pues no sabe como hacerlo.
Gracias por la información, un saludo
--
Ignacio Ortiz
www.xailer.com
"Ignacio Ortiz" <NoNameToAvoidSpam@ozs.com> escribió en el mensaje
news:416e9e6d$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Raúl,
>
> No tiene mucho sentido editar un campo calculado, a no ser de que tu mismo
> controles que operaciones se harán cuando se editen y graben que se puede
> hacer modificando el evento 'OnSetValue' del propio TDataField del campo
> calculado:
>
> oCalcField := oDbf:AddCalcField( "Suma", {|o| .... } )
> oCalcFileld:OnSetValue := {|o, v| o:oDataSet:MiCampoReal := v }
>
> Ahora bien, para mostrarlo solamente en un formulario aparte no deberías
> tener ningún problema. Lo acabo de probar y me ha funcionado
> correctamente. Lo único que veo que no has hecho es asignar a la propiedad
> oDataField del datacontrol que mostrará el campo calculado el literal
> "xSaldo2".
>
> Un saludo,
>
>
> --
> Ignacio Ortiz
> www.xailer.com
> "Raúl Eduardo Cárdenas" <rcardenas@fgs2002.com> escribió en el mensaje
> news:416e20c1$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>> Hola
>>
>> Tengo un campo calculado que muestro correctamente en un dbBrowse, pero
>> al
>> editar ese valor en un formalario de Edición no me sale ningun Valor.
>> Como
>> puedo desplegar ese campo Calculado?
>>
>> Ej. el Campo calculado es:
>>
>> ::oDataSet:AddCalcField( "xSaldo2", ;
>> {|oField| oField:oDataSet:Saldo1 + ;
>> oField:oDataSet:Saldo2 + ;
>> oField:oDataSet:Saldo3 + ;
>> oField:oDataSet:Saldo4 + ;
>> oField:oDataSet:Saldo5 + ;
>> oField:oDataSet:Saldo6 + ;
>> oField:oDataSet:Saldo7 + ;
>> oField:oDataSet:ItbmsM + ;
>> oField:oDataSet:Saldo8 } )
>>
>> Luego en le Formulario de Captura/Modificacion lo defino así:
>> oDataField --- xSaldo2
>> en el Evento OnCreate --- DefineCampo
>>
>>
>> METHOD DefineCampo( oSender ) CLASS TForm0701e
>> oSender:oDataSet := ::oParent:oDataSet
>> RETURN Nil
>>
>>
>>
>> --
>> Saludos
>>
>> Raúl Eduardo Cárdenas S.
>> Law & Accounting System's, Inc.
>> Gerente General
>> Celular: (507) 672-8838
>> Email: rcardenas@fgs2002.com
>>
>>
>> ---
>> Outgoing mail is certified Virus Free.
>> Checked by AVG anti-virus system (http://www.grisoft.com).
>> Version: 6.0.776 / Virus Database: 523 - Release Date: 10/12/2004
>>
>>
>
>