Fórum Pegar valores do Description dos campos da Tabela. #497830
14/10/2014
0
Boa tarde estou montando um banco de dados e queria aproveitar os valores que coloco em cada campo description na tabela para povoar um ComboBox com estes valores.
Consegui via script fazer uma consulta no banco de dados e filtrar o NomeDoCampo e sua Description:
Só que não estou conseguindo passar estes valores para o ComboBox.
No ComboBox estou fazendo assim:
Desta forma eu consigo pegar o que coloco em cada DisplayLabel do ClientDataSet e passar para o ComboBox mas, sempre tenho que entrar nele e sair alterando cada um.
Se conseguisse passar para o DisplayLabel ficaria ótimo também.
Estou usando Windows 7, Delphi X6, Firebird 2.5
Se alguém puder ajudar agradeço.
Consegui via script fazer uma consulta no banco de dados e filtrar o NomeDoCampo e sua Description:
select rdb$relation_fields.rdb$field_name, rdb$description FROM rdb$relation_fields WHERE rdb$description <> 0 AND RDB$RELATION_NAME='CLIENTES'
Só que não estou conseguindo passar estes valores para o ComboBox.
No ComboBox estou fazendo assim:
procedure TfrmCadPadrao.FormShow(Sender: TObject);
var
I, J: Integer;
begin
for I := 0 to DS.DataSet.FieldCount - 1 do
begin
if DS.DataSet.Fields[I].DataType in [ftString, ftWideString, ftInteger,
ftFixedChar] then
begin
J := cbxCampo.Items.Add(DS.DataSet.Fields[I].DisplayLabel);
SetLength(ListaCheckBox, High(ListaCheckBox) + 2);
ListaCheckBox[J] := I;
end;
end;
end;
Desta forma eu consigo pegar o que coloco em cada DisplayLabel do ClientDataSet e passar para o ComboBox mas, sempre tenho que entrar nele e sair alterando cada um.
Se conseguisse passar para o DisplayLabel ficaria ótimo também.
Estou usando Windows 7, Delphi X6, Firebird 2.5
Se alguém puder ajudar agradeço.
Jiraya San
Curtir tópico
+ 0
Responder
Posts
14/10/2014
Jiraya San
Estou fazendo uns testes aqui e cheguei a este código até o momento:
Obs: No componente TSQLQuery coloquei a string de consulta acima.
Mas na hora de mostrar os valores no combo aparece assm: aí invés do conteúdo do campo.
for X := 0 to DS.DataSet.FieldCount - 1 do
begin
if DS.DataSet.Fields[X].DataType in [ftString, ftWideString, ftInteger,
ftFixedChar] then
begin
SQLQuery.Open;
StrCampo := SQLQueryRDBDESCRIPTION.FieldName;
Y := cbxCampo2.Items.Add(StrCampo);
SetLength(ListaCheckBox, High(ListaCheckBox) + 2);
ListaCheckBox[Y] := X;
end;
end;
Obs: No componente TSQLQuery coloquei a string de consulta acima.
Mas na hora de mostrar os valores no combo aparece assm:
RDB$DESCRIPTION
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)