PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum criar tabela em tempo execução #237551

14/06/2004

0

Em uma parte do meu programa preciso criar tabelas em tempo de execução, encontrei o código abaixo só que as tabelas ficam todas em um datamodule e não está dando certo gostaria de ajuda.

Var
Tabela: TTable;
Indices: TIndexOptions;
begin
Tabela:= TTable.Create;
Indices:= [ixPrimary, IxUnique];
with Tabela do
begin
active:= false;
databasename:= ´c:\teste´;
tablename:= ´Tabela´;
tabletype:= ttDefault;
fielddefs.clear;
fielddefs.add(´Codigo´, ftInteger, 0, false);
...
indexdefs.clear;
indexdefs.add(´Codigo_Chave´, ´codigo´, Indices);
CreateTable;
end;


Gleiston

Gleiston

Responder

Posts

15/06/2004

Gleiston

Para quem também está a procura de um código assim consegui criar com o código abaixo, só que as minhas tabelas ficam todas em um datamodule, tem como ao se criar a tabela em tempo de execução, fazer com que ela e um datasource sejam inseridos no data module.

var
codigo : integer;
nome : string;
begin
codigo := 0;
codigo := module.tbfuncionarioCodigofuncionario.Value;
tabela := ttable.create(application);
try
Tabela.DatabaseName := ´escola´;
Tabela.TableName := ´ponto´+ inttostr(codigo) + ´.DB´;
nome := tabela.TableName;
label27.Caption := nome;
if FileExists(´c:\dados\´+ nome)=false then
begin
Tabela.TableType := ttParadox;
Tabela.FieldDefs.add(´data´, ftdate, 0, true);
Tabela.FieldDefs.add(´ent1´, fttime, 0, false);
Tabela.FieldDefs.add(´sai1´, fttime, 0, false);
Tabela.FieldDefs.add(´ent2´, fttime, 0, false);
Tabela.FieldDefs.add(´sai2´, fttime, 0, false);
Tabela.CreateTable;
Tabela.AddIndex(´idata´,´data´, [ixPrimary, ixUnique]);
Tabela.addindex(´pordata´, ´data´, [ixCaseInsensitive, ixdescending]);
ShowMessage(´A tabela foi criada com êxito!´);
end
else
ShowMessage(´Este funcionário já possui a tabela de ponto!´);
finally
//Tabela.Free;

end;
end;


Responder

Gostei + 0

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

Aceitar