Olá pessoal...
Certa vez eu li este tópico sobre VBSCRIPT
http://maximoaccess.forumeiros.com/t2335-compactar-e-reparar-por-vbscript?highlight=compactar
JPaulo deixou um exemplo significante, resolvendo o problema para quem necessita compactar um Back End, como eu... Mas fiquei com uma dúvida...
Minha história:
Estava difícil de conseguir uma compactação, chamando uma função pelo Form principal de meu DB, então estou compactando via VBS.
Minha dúvida é: Quando eu compacto pelo menu Ferramentas, o meu Front End, com acréscimo de 17MB, cai para 12MB, mas quando eu compacto por um *.vbs, cai para 16MB... O código disponibilizado pelo JPaulo é:
------- Numa folha de bloco de notas e salve como *.vbs --------------
Dim objScript
Dim objAccess
Dim strPathToMDB
Dim strMsg
'caminho e banco a compactar
strPathToMDB = "C:\teste.mdb"
'Caminho e banco virtual para permitir a compressão
strTempDB = "C:\testeCompress.mdb"
Set objAccess = CreateObject("Access.Application.11") 'No exemplo o 11 está em negrito (PQ?)
objAccess.DbEngine.CompactDatabase strPathToMDB ,strTempDB
If Err.Number > 0 Then
strMsg = "O seguinte erro foi encontrado durante a compactação do banco de dados:"
strMsg = strMsg & vbCrLf & vbCrLf & Err.Description
Else
Set objScript= CreateObject("Scripting.FileSystemObject")
objScript.CopyFile strPathToMDB , strPathToMDB & "z", True
objScript.CopyFile strTempDB, strPathToMDB, True
objScript.DeleteFile strTempDB
End If
Set objAccess = Nothing
Set objScript = Nothing
WScript.Echo "Banco compactado com sucesso..."
---------------------
Será que este tipo de compactação por VBS só compacta isso mesmo?
Agradeço desde já!
Paulo César
Certa vez eu li este tópico sobre VBSCRIPT
http://maximoaccess.forumeiros.com/t2335-compactar-e-reparar-por-vbscript?highlight=compactar
JPaulo deixou um exemplo significante, resolvendo o problema para quem necessita compactar um Back End, como eu... Mas fiquei com uma dúvida...
Minha história:
Estava difícil de conseguir uma compactação, chamando uma função pelo Form principal de meu DB, então estou compactando via VBS.
Minha dúvida é: Quando eu compacto pelo menu Ferramentas, o meu Front End, com acréscimo de 17MB, cai para 12MB, mas quando eu compacto por um *.vbs, cai para 16MB... O código disponibilizado pelo JPaulo é:
------- Numa folha de bloco de notas e salve como *.vbs --------------
Dim objScript
Dim objAccess
Dim strPathToMDB
Dim strMsg
'caminho e banco a compactar
strPathToMDB = "C:\teste.mdb"
'Caminho e banco virtual para permitir a compressão
strTempDB = "C:\testeCompress.mdb"
Set objAccess = CreateObject("Access.Application.11") 'No exemplo o 11 está em negrito (PQ?)
objAccess.DbEngine.CompactDatabase strPathToMDB ,strTempDB
If Err.Number > 0 Then
strMsg = "O seguinte erro foi encontrado durante a compactação do banco de dados:"
strMsg = strMsg & vbCrLf & vbCrLf & Err.Description
Else
Set objScript= CreateObject("Scripting.FileSystemObject")
objScript.CopyFile strPathToMDB , strPathToMDB & "z", True
objScript.CopyFile strTempDB, strPathToMDB, True
objScript.DeleteFile strTempDB
End If
Set objAccess = Nothing
Set objScript = Nothing
WScript.Echo "Banco compactado com sucesso..."
---------------------
Será que este tipo de compactação por VBS só compacta isso mesmo?
Agradeço desde já!
Paulo César