Fórum Criar um arquivo Access(*.mdb) #184400
26/09/2003
0
Veja neste exemplo:
var
obj: OleVariant;
begin
obj := CreateOleObject(´ADOX.Catalog´);
obj.Create(´Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\teste\banco1.mdb;Jet OLEDB:Engine Type=4´);
obj := VarNull;
....//Aqui tem o codigo que insere os Dados
end;
Qdo uso o Type=4, estou criando um mdb do Access97 e qdo uso Type=5 estou criando um mdb do Access2000. Só que qdo uso o Type=5 e após inserir 1000 linhas o arquivo fica enorme(em torno de 30 mb). Com o Type=4 isto nao acontece, só que eu estou querendo usar o Type=5.
O que estou fazendo de errado? Alguem sabe outra forma de criar um mdb?
Agradeço desde já.
Delphiz
Curtir tópico
+ 0Posts
26/09/2003
Delphiz
Eu cheguei a esta conclusao pq tem uma opcao no Access de comprimir o arquivo MDB e qdo eu usei ele no arquivo gerado pelo Type=5 ele ficou do tamanho do arquivo gerado pelo Type=4. Tb tentei compactar o arquivo gerado pelo Type=4, só para garantir se eu estava certo e nao comprimiu, ou seja, ele ja estava comprimido.
Agora só resta saber como compacto o arquivo mdb (via programacao). Se alguem souber...
Gostei + 0
27/09/2003
Quadrado
http://delphi.about.com/library/weekly/aa091801a.htm
Quadrado.
Gostei + 0
29/09/2003
Delphiz
Nao entendo o pq disto, se eu ja dei ´VarNull´ na variavel.
SEGUE O CODIGO ABAIXO:
var
obj: OleVariant;
begin
obj := CreateOleObject(´ADOX.Catalog´);
obj.Create(´Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\teste\banco1.mdb;Jet OLEDB:Engine Type=4´);
obj := VarNull; // <==== AQUI ESTOU LIBERANDO
....//Aqui tem o codigo que insere os Dados
//FECHO A CONEXAO COM O ADO
AdoConnection1.connected:= false;
//AQUI COMPACTA O ARQUIVO
jro:= CreateOleObject(´JRO.JetEngine´);
jro.CompactDatabase(´Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\teste\banco1.mdb´,´Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\teste\banco2.mdb´);
jro := VarNull;
end;
Gostei + 0
29/09/2003
Zamedi
Cara nunca trabalhei Delphi x Access, mas talvez esta dica seja útil.
Não sei se dá pra definir isso pelo Delphi, mas o Access2000+..., tem uma opção de compactar ao fechar em Ferramentas => Opções => Geral
Tenta fazer isso.
Até +
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)