criar tabela em tempo de execução
Pessoal tenho a seguinte necessidade:
tenho uma peça que está cadastrada na tabela de peça da seguinte forma
cod_Peca_Mont. Cod_Peca_Forn. Cod_Forn. Custo
102030 22222 10 10,00
102030 33333 20 20,00
102030 44444 30 30,00
102030 55555 40 40,00
Ou seja tenho código da montadora que é fornecida por vários fornecedores
depois tenho a tabela Fornecedor da seguinte forma:
Cod_Forn. Nome_Forn.
10 joão
20 pedro
30 Mário
40 Antonio
Agora preciso mostrar isto da seguinte forma em um Grid
Cód. Peca Nome_peca João Pedro Mário Antonio
102030 Freio 10,00 20,00 30,00 40,00
Se alguém puder me ajudar eu agradeço
tenho uma peça que está cadastrada na tabela de peça da seguinte forma
cod_Peca_Mont. Cod_Peca_Forn. Cod_Forn. Custo
102030 22222 10 10,00
102030 33333 20 20,00
102030 44444 30 30,00
102030 55555 40 40,00
Ou seja tenho código da montadora que é fornecida por vários fornecedores
depois tenho a tabela Fornecedor da seguinte forma:
Cod_Forn. Nome_Forn.
10 joão
20 pedro
30 Mário
40 Antonio
Agora preciso mostrar isto da seguinte forma em um Grid
Cód. Peca Nome_peca João Pedro Mário Antonio
102030 Freio 10,00 20,00 30,00 40,00
Se alguém puder me ajudar eu agradeço
Anonymous
Curtidas 0
Respostas
Dor_poa
22/02/2003
Criar um arquivo em tempo de execução é relativamente simples, você tem que criar uma instância do objeto TTable, esse objeto(de uma lida no Help TTable e suas propriedades e metodos) tem um método de criação e um de Criar tabela.
Depois disso é só definir as propriedades da nova tabela:
DatabaseName := ´c:\lista´;
TableName := ´Produtos.dbf´;
TableType := ttDbase;
os campos da tabela:
Add(´codigo´, ftString,7, false);
Add(´Nome´, ftString, 45, false);
e os índices:
Add(´prod1´, ´codigo´, []);
Add(´prod2´, ´Fornecedor´, []);
com todos os dados devidamente setados:
CreateTable;
Procedure TMainForm.Inicializa;
var
Table1 : TTable;
begin
{ Criar componente TTable }
Table1 := TTable.create(Application);
{ Definições de Campos e criação do arquivo }
with Table1 do
begin
DatabaseName := ´c:\lista´;
TableName := ´Produtos.dbf´;
TableType := ttDbase;
with FieldDefs do
begin
Clear;
Add(´codigo´, ftString,7, false);
Add(´Nome´, ftString, 45, false);
Add(´Fornecedor´, ftString, 5,false );
Add(´Custo´, ftCurrency, 0, false );
Add(´Venda´, ftCurrency, 0, false );
end;
with IndexDefs do
begin
Clear;
Add(´prod1´, ´codigo´, []);
Add(´prod2´, ´Fornecedor´, []);
end;
CreateTable;
end;
end;
Utilizando o tipo ftCurrency, formato de valores do sistema financeiro, o Delphi cria um campo Dbase com N,20,4
Depois disso é só definir as propriedades da nova tabela:
DatabaseName := ´c:\lista´;
TableName := ´Produtos.dbf´;
TableType := ttDbase;
os campos da tabela:
Add(´codigo´, ftString,7, false);
Add(´Nome´, ftString, 45, false);
e os índices:
Add(´prod1´, ´codigo´, []);
Add(´prod2´, ´Fornecedor´, []);
com todos os dados devidamente setados:
CreateTable;
Procedure TMainForm.Inicializa;
var
Table1 : TTable;
begin
{ Criar componente TTable }
Table1 := TTable.create(Application);
{ Definições de Campos e criação do arquivo }
with Table1 do
begin
DatabaseName := ´c:\lista´;
TableName := ´Produtos.dbf´;
TableType := ttDbase;
with FieldDefs do
begin
Clear;
Add(´codigo´, ftString,7, false);
Add(´Nome´, ftString, 45, false);
Add(´Fornecedor´, ftString, 5,false );
Add(´Custo´, ftCurrency, 0, false );
Add(´Venda´, ftCurrency, 0, false );
end;
with IndexDefs do
begin
Clear;
Add(´prod1´, ´codigo´, []);
Add(´prod2´, ´Fornecedor´, []);
end;
CreateTable;
end;
end;
Utilizando o tipo ftCurrency, formato de valores do sistema financeiro, o Delphi cria um campo Dbase com N,20,4
GOSTEI 0