Non dovrebbe avere problemi di versione di acces. (io la uso per la 8 che per la 10).
codice:
'DBFile= pathDB + NameDB
Function CompattaDB(ByVal DBFile As String) As Boolean
Dim Rc As Boolean
Dim m_Jro As Object
Dim DB_Dest As String
Rc = False 'Default
On Error GoTo ERR_FUNCTION
Set m_Jro = CreateObject("JRO.JetEngine")
DB_Dest = Mid(DBFile, 1, Len(DBFile) - 4) & "_New"
m_Jro.CompactDataBase "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" & DBFile, _
"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" & DB_Dest & " ; Jet OLEDB:Engine Type=5"
'Cancella DBFile
'Copia DB_Dest in DBFile
'Cancella DB_Dest
Rc = True
END_FUNCTION:
CompattaDB = Rc
Exit Function
ERR_FUNCTION:
MsgBox Err.Number & " - " & Err.Description, vbCritical, "Compattazione DB"
Rc = False
Resume END_FUNCTION
End Function
Mauro