Fórum Pegar campos de uma tabela dinamicamente... #291320
10/08/2005
0
Gostaria de saber se tem como eu pegar em tempo de execução os campos de uma determinada tabela de meu banco access.
obs: gostaria de pegar não só o nome do campo, mas seu tipo, valor padrão, etc....
desde já muito obrigado.
Balceiro
Curtir tópico
+ 0Posts
12/08/2005
Balceiro
Gostei + 0
16/08/2005
L3gion4rio
var
i: integer;
begin
Combobox1.SetFocus;
for i:= 0 to DMDados.QryCliente.FieldCount-1 do
Combobox1.Items.Add(DMDados.QryCliente.Fields[i].FieldName);
for i:= 0 to DMDados.QryCliente.FieldCount-1 do
Combobox2.Items.Add(DMDados.QryCliente.Fields[i].FieldName);
Gostei + 0
16/08/2005
Balceiro
será que alguém poderia me ajudar...
Gostei + 0
18/08/2005
Balceiro
Gostei + 0
18/08/2005
Andremuller
Generalizando você deve fazer uma pesquisa nas tabelas de sistema
ex.: no firebird nas tabelas rdb... e no sql server nas tabelas sys...
Gostei + 0
18/08/2005
Andremuller
Bom aí eu não sei, nunca usei access (e não pretendo usar)
Talvez seja algo parecido com o SQLServer onde tu pesquisa em tabelas como:
sysobjects
sysconstraints
syscolumns
systypes
(...)
Gostei + 0
18/08/2005
Balceiro
Gostei + 0
19/08/2005
Andremuller
eu realmente nunca usei access.
Verifique se tu não cosegue alterar alguma opção para visualizar as tabelas de sistema. Nessas tabelas os bancos de dados armazenam as informações da base, incluíndo nome de tabelas, contraints, campos....
Para todos os bancos que conheço é assim, para access não deve ser diferente.
Desculpe se não te ajudei muito, mas é melhor do que não dizer nada.
Espero que resolva teu problema, mas eu não poderei te ajudar mais que isso.
Gostei + 0
22/08/2005
Balceiro
Será que não dá para fazer isso?
Gostei + 0
22/08/2005
Marco Salles
procedure TForm1.Button1Click(Sender: TObject); var i:Integer; begin ListBox1.Clear; For i:=0 to Table1.FieldCount -1 do begin ListBox1.Items.Add(´Nome : ´+Table1.fields[i].FieldName); ListBox1.Items.Add(´Classe : ´+Table1.fields[i].ClassName); ListBox1.Items.Add(´Size : ´+inttostr(Table1.Fields[i].Size)); // ListBox1.Items.Add(´ ?´+(Table1.Fields[i].Veja outras Propreidades)); ListBox1.Items.Add(´´); end; end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)