Selecao DevMedia QUERO SER PRIME

Fórum Campo calculado - Aparece apanas o declarado ??? #344910

23/08/2007

0

Amigos, fiz um campo calculado em runtime, até blz, porem quando abro a minha query tem apenas o mesmo, desaparecendo os demais, são +/- uns 10

fFloat              := TFloatField.Create(Self);
       fFloat.FieldName    := ´Calc´;
       fFloat.Name         := ´calcaca´;
       fFloat.FieldKind    := fkCalculated;
       fFloat.Alignment    := taRightJustify;
       fFloat.DisplayWidth := 10;
       fFloat.DataSet      := dmr.Itens_est;
       fFloat.Visible      := true;
       fFloat.SetFieldType(ftFloat);


A minha query os campos não são criados fixo, isto e apenas jogo a mesma lá e dependendo da tabela ela faz o serviço, utilizo o ibquery


Sremulador

Sremulador

Responder

Posts

23/08/2007

Luciano_f

Meu amigo faça o seguinte.

var
i: Integer;
vField: TField;
begin
CDS1.DisableControls;

if CDS1.Active then CDS1.Close;

CDS1.CommandText := ´Select * from tabela´;

CDS1.Fields.Clear;
CDS1.FieldDefs.Clear;
CDS1.FieldDefs.Update;

for i := 0 to CDS1.FieldDefs.Count - 1 do
if CDS1.FindField(CDS1.FieldDefs[i].Name) = nil then
CDS1.FieldDefs.Items[i].CreateField(CDS1);

// aqui voce pode criar quantos campos calculados quiser.
if Assigned(vField) then vField.Free;
vField := TIntegerField.Create(CDS1);
vField.Name := ´Result_ID´;
vField.FieldName := ´ID´;
vField.DisplayLabel := ´Linha´;
vField.Calculated := True;
vField.DataSet := CDS1;
vField.Index := 0;
CDS1.Open;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar