Escrever/Insert no arquivo DBF

13/03/2016

1

Galera estou precisar criar e a exportar dados para um arquivo .DBF, uso o DelphiXe +DBExpress+Firebird2.5;

O arquivo está sendo criado, mas não consigo escrever nele, ou seja, inserir dados.

var
Table1 : TTable;
begin
{ Criar arquivos }
Table1 := TTable.create(Application);
{ Cria arquivo }
with Table1 do
begin
Active := False;
DatabaseName := 'C:\';
TableName := 'ppndbf.dbf';
TableType := ttdBASE;
with FieldDefs do
begin
Clear;
   with AddFieldDef do
    begin
        Name := 'dataven';
        DataType := ftdate;
        Required := True;
    end;
   with AddFieldDef do
    begin
        Name := 'documento';
        DataType := ftString;
        Required := false;
        Size := 12;
    end;
   with AddFieldDef do
    begin
        Name := 'cfop';
        DataType := ftString;
        Required := false;
        size := 4;
    end;
   with AddFieldDef do
    begin
        Name := 'valor';
        DataType := ftCurrency;
        Required := false;
    end;
   with AddFieldDef do
    begin
        Name := 'nomecli';
        DataType := ftString;
        Required := false;
        size := 50;
    end;
   with AddFieldDef do
    begin
        Name := 'cro';
        DataType := ftString;
        Required := false;
        size := 5;
    end;
   with AddFieldDef do
    begin
        Name := 'cpf';
        DataType := ftString;
        Required := false;
        size := 14;
    end;
   with AddFieldDef do
    begin
        Name := 'parcela';
        DataType := ftString;
        Required := false;
        size := 5;
    end;
end;
IndexDefs.Clear ;
IndexDefs.Add ( 'TESTE_01', 'documento', [] );
IndexDefs.Add ( 'TESTE_02', 'cpf' , [] );
CreateTable;

AddIndex('Indice1', 'dataven', [ixExpression]);
end;
Responder

Posts

14/03/2016

Marco Antônio

Sidney, bom dia.

Como esta sendo a inserção. coloca ae pra q possamos dar uma olhada. O padrão é somente dar 'insert' no 'DBF' e depois 'post'.

Particularmente depois que passei utilizar 'ClientDataSet' virtual, nunca mais utilizei o 'DBF", vale a dica. Se possível dê uma olhada.

No canal da DevMedia tem uma video aula do Guinther que foi a base para tudo que uso hoje para esta ferramenta.

http://www.devmedia.com.br/createdataset-curso-trabalhando-com-clientdataset-parte-5/5595

Nessa video foi utilizada o assistente do clientDataSet, mas é possível criar tudo em tempo de execução.

Com esta ferramenta você utilizada, locate, indexFieldName e por ae vae.
E o que é melhor não é preciso criar o arquivo fisicamente. Evitando os famosos erros de acessos que enfrentamentos
no cotidiano em um ambiente de rede.

Abc.
Responder

14/03/2016

Sidney Abreu

Obrigado, vlw pela dica
Responder