Oi Ulisses,
Lembrei que havia guardado o seu email anteriormente, pois achava
que um dia eu iria precisar, e acertei.
Já implementei e está funcionando.
Ulisses escreveu:
Bom dia, Cristina! Tudo bem?
Eu já havia comentado com você a respeito de compactar uma tabela do
Access, mas acho que na época você não percebeu a importância.
De qualquer forma, estou enviando um procedure que você pode incluir
no seu aplicativo.
Leia as observações no código, para adaptá-lo para o Access 97.
Pra executar esse procedure, o bando de dados não poderá estar sendo
usado por ninguém.
Boa sorte.
Ulisses
procedure CompactaMDB(Const PathDb :String);
function GetADOObject(ADOClass: string): OLEVariant;
var o: OLEVariant;
begin
try
o := CreateOLEObject(ADOClass);
except on EOleException do
end;
Result := o;
end;
var db: OleVariant;
begin
db := GetADOObject('JRO.JetEngine');
db.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + PathDb + ';Jet OLEDB:Database Password=;',
'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + ExtractFilePath(PathDb) + 'novobd.mdb' +
';Jet OLEDB:Database Password=' +
';Jet OLEDB:Engine Type=5'); // 4 se for Access 97
if not DeleteFile(PathDb) then // deleta bd antigo
begin
ShowMessage('Ocorreram problemas renomeando os arquivos
temporários!'+ #13 + 'A operação foi cancelada.');
DeleteFile(ExtractFilePath(PathDb) + 'novobd.mdb');// deleta
arquivos temporarios
exit;
end;
RenameFile(ExtractFilePath(PathDb) + 'novoBD.mdb', PathDb);
//file://renomeia bd compactado
DeleteFile(ExtractFilePath(PathDb) + 'novobd.mdb');
end;
- Original Message -
From: Cristina [EMAIL PROTECTED]
To: delphi-br@yahoogrupos.com.br
Sent: Wednesday, September 21, 2005 3:38 PM
Subject: [delphi-br] Banco de Dados Access 97
Olá pessoal,
Inseri em uma tabela 100.000 registros para testar a sua
funcionalidade, onde o tamanho do banco ficou com 37Mbytes, mas após
ter
excluído estes 100.000 registros o tamanho do banco permaneceu o mesmo,
sem nenhuma alteração.
Alguém sabe o que está acontecendo, tenho que fazer mais alguma
coisa além do Delete?
--
Atenciosamente
Cristina Orthmann da Silva
HACON Automação e Tecnologia Ltda
Rua Lauro Linhares 589 - Bairro Trindade
Florianópolis - SC - Brasil
CEP 88036-001
Fone/Fax: 55 48 333-0699
Site: http://www.hacon.com.br/
Email: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
--
FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages
Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED] ou [EMAIL PROTECTED]
Links do Yahoo! Grupos
--
FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages
Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED] ou [EMAIL PROTECTED]
*Yahoo! Grupos, um serviço oferecido por:*
*Links do Yahoo! Grupos*
* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]
* O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo! http://br.yahoo.com/info/utos.html.
--
Atenciosamente
Cristina Orthmann da Silva
HACON Automação e Tecnologia Ltda
Rua Lauro Linhares 589 - Bairro Trindade
Florianópolis - SC - Brasil
CEP 88036-001
Fone/Fax: 55 48 333-0699
Site: http://www.hacon.com.br/
Email: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
--
FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages
Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED] ou [EMAIL PROTECTED]
Links do Yahoo! Grupos
* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html