Este tópico vai mostrar como compactar o banco de dados criado no Access para eliminar todo seu espaço excedente, reduzindo assim, o tamanho do arquivo de banco de dados.
Procedimentos a serem executados:
Acrescente um Panel invisível (Visible = False) na tela FrmMenuPrin.
Na Unit da tela FrmMenuPrin, acrescente a unit ComObj na sua cláusula Uses e crie a procedure abaixo:
Procedure TFrmMenuPrin.Compactar;
Var
dao : OLEVariant;
Begin
Panel1.Visible := True;
Dm.Conexao.Connected := False;
Try
Panel1.Caption := 'Compactando.Tabela';
Panel1.Repaint;
dao := CreateOleObject('ADO.DBEngine.36');
dao.CompactDataBase(ExtractFileDir(Application.ExeName)+'\Banco.mdb',
ExtractFileDir(Application.ExeName)+'\Banco2.mdb','',0,'');
Panel1.Caption:='Apagando Arquivo Temporário';
Panel1.Repaint;
if FileExists(ExtractFileDir(Application.ExeName)+'\Banco2.mdb')then
DeleteFile(ExtractFileDir (Application.ExeName)+'\Banco.mdb');
Panel1.Caption:='Renomeando Arquivo';
Panel1.Repaint;
if FileExists(ExtractFileDir(Application.ExeName)+'\Banco2.mdb') then
RenameFile(EXtractFileDir(Application.Exename)+'\Banco2.mdb',
ExtractFileDir (Application.ExeName)+'\Banco.mdb');
Panel1.Caption:='Arquivo Banco.mdb Compactado';
Panel1.Repaint;
Except
Panel1.Caption:='Ocorreu um erro durante a Compactação';
end;
Dm.Conexao.ConnectionString := 'provider=Microsoft.jet.OLEDB.4.0;Data Souser='+
ExtractFilePath(Application.ExeName)+'Banco.mdb;Persist Security info=False;';
DM.Conexao.Connected := True;
Panel1.Visible := False;
end;
procedure TFrmMenuPrin.actCompExecute(Sender: TObject);
begin
if MessageDlg('Antes de confirmar esta operação, feche o banco de dados.'+#13+
'Deseja efetuar a compactação do Banco de Dados?',
mtConfirmation, [mbYes,mbNo], 0) = mrNo then
abort;
Compactar;
end;
O programa compila!!! e abre o sistema mais quando eu peço para compactar o banco de dados da erro e informa essa menssagem:
Não foi possivel encontrar o ISAM instalável
Como faço para resolver esse problema
agradeço a atenção de todos
livio_neiva@hotmail.com
Editado por Micheus Incluída tag's CODE para melhorar a visualização. Utilize a identação também ;)
Pergunta
Livio Neiva
Este tópico vai mostrar como compactar o banco de dados criado no Access para eliminar todo seu espaço excedente, reduzindo assim, o tamanho do arquivo de banco de dados.
Procedimentos a serem executados:
Acrescente um Panel invisível (Visible = False) na tela FrmMenuPrin.
Na Unit da tela FrmMenuPrin, acrescente a unit ComObj na sua cláusula Uses e crie a procedure abaixo:
O programa compila!!! e abre o sistema mais quando eu peço para compactar o banco de dados da erro e informa essa menssagem:
Não foi possivel encontrar o ISAM instalável
Como faço para resolver esse problema
agradeço a atenção de todos
livio_neiva@hotmail.com
Editado por MicheusIncluída tag's CODE para melhorar a visualização. Utilize a identação também ;)
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.