COMPACTAR BANCO DE DADOS

USUARIO.EXCLUIDOS 06/04/2004 09:59:59
#19024
Bom dia Pessoal.
Preciso desenvolver um pequeno projeto apenas para Reparar e Compactar minhas duas bases de dados que são .mdb ...
Alguém sabe como fazer para Reparar e Compactar via código ?

Obrigado ....

Marcelo
USUARIO.EXCLUIDOS 06/04/2004 10:17:58
#19033
Resposta escolhida
Depende do engine que você usa. Com ambos, você tem de encerrar todas as conexões á base de dados ANTES de compactar/reparar.
Com DAO, um exemplo poderia ser:
...
DBEngine.CompactDatabase sTR, sTR2, sPD, dbEncrypt, sPD
Kill sTR
Name sTR2 As sTR
...

onde
sTR é o nome/caminho da base de dados á ser compactada
sTR2 é o nome da base para onde a base atual será compactada
sPD é localização da base, seguida pela senha, se houver uma (por exemplo dbLangGeneral;PWD=SENHA )
USUARIO.EXCLUIDOS 06/04/2004 10:31:12
#19038
Para o caso de querer utilizar o ADO, você terá de referenciar a biblioteca Microsoft Jet and Replication Objects.
Depois disso, fica parecido. Veja:

...
Dim jro As jro.JetEngine
Set jro = New jro.JetEngine
jro.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=X:\BASEEXEMPLO.MDB;Jet OLEDB:Database Password=senha", _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Y:\BASEEXEMPLO2.mdb;Jet OLEDB:Engine Type=4;Jet OLEDB:Database Password=senha"
...
Depois, substituir a base original pela compactada, como no exemplo anterior.
Tópico encerrado , respostas não são mais permitidas