Questo e' il codice da usare per compattare.
Era sul forum ma non l'ho trovato, quindi te lo riposto.
Ovviamente lo devi adattare x compattare il tuo MDB.
Ciao.
codice:Option Explicit Private Sub Command1_Click() Dim CONN As JRO.JetEngine Dim CONN_Sorg As String Dim CONN_Dest As String ' Attenzione : Il programma compatta i database di access 97. ' Per compattare database diversi da access 97 cambiare il "Engine Type=4" ' es. access 2000 cambiare il "Engine Type=5" Screen.MousePointer = vbHourglass On Error GoTo ConnectionError Set CONN = New JRO.JetEngine ' If Dir("C:\Temp\New_Biblio.mdb") <> "" Then Kill "C:\Temp\New_Biblio.mdb" End If ' CONN_Sorg = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\Biblio.mdb;User ID=Admin;Password=;" CONN_Dest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\New_Biblio.mdb;Jet OLEDB:Engine Type=4;" ' CONN.CompactDatabase CONN_Sorg, CONN_Dest ' Set CONN = Nothing ' If Dir("C:\Temp\Biblio.mdb") <> "" And Dir("C:\Temp\New_Biblio.mdb") <> "" Then Kill "C:\Temp\Biblio.mdb" FileCopy "C:\Temp\New_Biblio.mdb", "C:\Temp\Biblio.mdb" End If ' On Error GoTo 0 Screen.MousePointer = vbDefault ExitError: Exit Sub ConnectionError: Screen.MousePointer = vbDefault ' MsgBox " VB #" & Err.Number & " " & Err.Description & " " & Err.Source ' Resume ExitError End Sub


