Descrição:
Por que o arquivo do Access não diminui de tamanho após ter seus registros deletados? Existe alguma forma de fazer com que ele libere este espaço?
Solução:
Esta é uma característica do Access. Quando os registros são deletados, o arquivo permanece com o mesmo tamanho. Assim, é necessária uma compactação, que pode ser feita através do próprio Access ou por script via E3.
O script abaixo pode ser usado para fazer a compactação:
Set JRO = CreateObject(“JRO.JetEngine”)
JRO.CompactDatabase “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dados.mdb”,_
“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dados1.mdb;Jet OLEDB:Engine Type=5”
JRO.CompactDatabase “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dados.mdb”,_
“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dados1.mdb;Jet OLEDB:Engine Type=5”
Isto irá criar outro arquivo MDB (que será o compactado), então este arquivo compactado deverá ser copiado por cima do antigo, e depois deletado. Em anexo, pode ser visualizado um exemplo deste procedimento.
Obs.: A aplicação exemplo em anexo foi feita usando o E3 3.2 build 242.