Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Crear Campos Calculados en una Dataset (https://www.clubdelphi.com/foros/showthread.php?t=68549)

GerTorresM 20-06-2010 15:09:56

Crear Campos Calculados en una Dataset
 
Hola a todos:

La situación del día de hoy es la siguiente:

estoy creando mediante código una consulta y para el caso necesito adicionar unos campos a dicha consulta, como la ésta fue creada mediante código poir lo tanto no dispongo de la presentación gráfica y de los asistentes del caso para poderle adicionar campos calculados. Entonces mi pregunta en concreto es si alguien conocen la forma adicionarlos

mis agradecimientos anticipados y muchas gracias de antemano



Gertorresm
Colombia

ecfisa 20-06-2010 20:19:49

Hola GerTorresM.

No decís con que base de datos estás trabajando, por lo que lamento no poder ser más específico.

Te escribo un ejemplo simple con BDE.

Código:

var
  tbCalc: TStringField;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  tbCalc:= TStringField.Create(Self);
  with tbCalc do
  begin
    Name := 'tbCalc';
    FieldKind:= fkCalculated;
    FieldName:= 'tbCalc';
    DisplayLabel:= 'CALCULADO';
    Size := 30;
    DataSet := Table1;
  end;
  Table1.OnCalcFields:= Table1CalcFields;
  Table1.Open;
end;

Saludos.

GerTorresM 20-06-2010 23:13:39

Muchas Gracías
 
Te agradezco el detalle de tu respuesta, para el caso de hecho trabajo con BDE, Pero quisiera colocarte una nueva molestia, como opera para el caso de los lookUp y en el caso de utilizar Postgres y Zeos el procedimiento sería similar.

Muchas gracías de antemano.


gertorresm
Colombia

ecfisa 28-06-2010 15:41:13

Hola GerTorresM.

No estoy con Delphi en esta máquina pero creo que sería algo así:

Código:

...
  with TStringField.Create(Table1) do
  begin
    DataSet := Table1;
    FieldName := 'Table1_NombreDeCampo';
    FieldKind := fkLookup;
    Name := Table1.Name + FieldName;
    KeyFields := 'Table1_KeyFields';
    LookupDataSet := Table2;
    LookupKeyFields := 'Table2_KeyFields';
    LookupResultField := 'Table2_Resultado';
    FieldDefs.Add(FieldName, ftString, 30, False);
  end;

En cuanto a postgress y zeos lamento no poder ayudarte ya que no los uso.

Pero create un nuevo hilo en el foro correspondiente y seguro que hay quien te pueda asesorar sobre ellos.

Saludos


La franja horaria es GMT +2. Ahora son las 16:36:11.

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