Devi aggiungere nei riferimenti del tuo progetto:
Microsoft Jet and replication Objects 2.6 Library (msjro.dll)
codice:
Private Sub Salva()
on error goto errori:
NomeDb = C:\...\magicolotto.mdb"
'fa una copia di sicurezza del tuo data base
FileCopy NomeDb, "c:\magicolottosalv.mdb"
'elimina database temporaneo
Kill Mid(Trim(NomeDb), 1, Len(Trim(NomeDb)) - 3) & "tmp"
Set CONN = New JRO.JetEngine
CONN_Sorg = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & NomeDB & ";User ID=Admin;Password=;"
CONN_Dest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Mid(Trim(NomeDB), 1, Len(Trim(NomeDb)) - 3) & "Tmp" & ";"
'
CONN.CompactDatabase CONN_Sorg, CONN_Dest
'
Set CONN = Nothing
Kill NomeDb
'
FileCopy Mid(Trim(NomeDb), 1, Len(Trim(NomeDb)) - 3) & "tmp", NomeDb
Exit Sub
errori:
If Err.Number = 53 Then
Resume Next
Else
MsgBox Err.Description, vbCritical, Err.Number
End If
End Sub
Attenzione quando esegui questo codice il data base deve essere chiuso.