Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   llenar campo calculado en ejecucion (https://www.clubdelphi.com/foros/showthread.php?t=67934)

andresorozco86 14-05-2010 18:18:18

llenar campo calculado en ejecucion
 
Buenos dias:

De antemano agradezco sus respuestas, Lo que sucede es que estoy trabajando en delphi con una BD oracle, entonces tengo un DBgrid donde me muestra la informacin de una tabla por medio de un query, al DBgrid le cree un campo calculado pero quiero que este se llene al darle clik a un boton. Osea en ejecucion el DBgrid esta lleno pero el campo calculado no tiene nada y al darle click al boton quiero que los otro campos queden como estan y que se llene el calculado.¿Alguien me podria decir como hacerlo?

cloayza 14-05-2010 21:57:58

Para asignar valor a un campo calculado debes utilizar el evento OnCalcFields del TTable o TQuery...

Aqui un ejemplo de como calcular el valor...


Código Delphi [-]
{
VALOR_1 ->Campo de la Tabla...
VALOR_2 -> Campo de la TABLA

VALOR_3 ->Campo calculado...

}

procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
       {Forma 1}
      Dataset['VALOR_3']:=Dataset['VALOR_1'] + Dataset['VALOR_2'];

      {Forma 2}
      Table1.FieldByName('VALOR_3').AsInteger:=Table1.FieldByName('VALOR_1').AsInteger+Table1.FieldByName(  'VALOR_2').AsInteger;
end;

Saludos...

andresorozco86 14-05-2010 22:05:52

Cita:

Empezado por cloayza (Mensaje 364065)
Para asignar valor a un campo calculado debes utilizar el evento OnCalcFields del TTable o TQuery...

Aqui un ejemplo de como calcular el valor...


Código Delphi [-]{ VALOR_1 ->Campo de la Tabla... VALOR_2 -> Campo de la TABLA VALOR_3 ->Campo calculado... } procedure TForm1.Table1CalcFields(DataSet: TDataSet); begin {Forma 1} Dataset['VALOR_3']:=Dataset['VALOR_1'] + Dataset['VALOR_2']; {Forma 2} Table1.FieldByName('VALOR_3').AsInteger:=Table1.FieldByName('VALOR_1').AsInteger+Table1.FieldByName( 'VALOR_2').AsInteger; end;


Saludos...


Hola lo que sucede es que utilizo el evento OnCalcFields el llena el campo cuando se ejecuta el programa y yo necesito es que se calcule el campo cuando se le de click a un boton es decir en tiempo de ejecucion.

ecfisa 18-05-2010 00:35:11

Hola.

Si sólo querés que muestre el valor en en campo calculado del registro actual, basta con que hagas:

Código:

procedure TForm1.BtnClick(Sender: TObject);
begin
  Tabla.Edit;
  TablaCpoCalculado.Value:= TablaCpo1.Value + TablaCpo2 *  TablaCpo3...;
end

Pero por supuesto, el dato sólo va a permanecer en pantalla hasta que cambies la posición del registro...

Saludos.


La franja horaria es GMT +2. Ahora son las 10:16:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi