In una mia procedura, la funzione "MioEngine.CompactDatabase(DB_UNO, DB_DUE,)" spesso genera errori, specialmente su PC lenti. Questa funzione deve compattare un DB di Access 2007. Ho l'impressione che il sistema passi alla stringa succassiva senza che la compattazione sia terminata. Dovrei scrivere una procedura che effettui la compattazione ma che non proceda oltre se non quando ha terminato, solo che non so da dove cominciare. Qualcuno ha qualche idea?
Il codice attuale è banalmente questo:
codice:
Dim MioEngine As New Microsoft.Office.Interop.Access.Dao.DBEngine
ChiudiDB(DB_UNO) 'Mia procedura che chiude i DB
MioEngine.CompactDatabase(DB_UNO, DB_DUE,)
ChiudiDB(DB_UNO)
ChiudiDB(DB_DUE)
File.Copy(DB_DUE, DB_UNO overwrite:=True)