Большинство ресурсов, которые я могу найти по этому вопросу, относятся к нескольким годам спустя для более старых версий Access, и мне любопытно, были ли обнаружены лучшие практики / новые методы.
Iу меня есть таблица, содержащая пути к куче файлов .mdb, которые я хочу сжать / исправить.Как правильно это сделать?Это все-таки правильный путь?
Function Compact_DB(path as String, databaseName as String)
'for example, path = "C:\MyFiles\dev\"
'databaseName = "MyDatabase.mdb"
'COMPACT CHOSEN DATABASE, TO TEMPORARY DATABASE NAME
DBEngine.CompactDatabase path & databaseName, path & "Spare1.mdb"
'DELETE OLD DATABASE
Kill path & databaseName
'RENAME TEMPORARY DATABASE TO ORIGINAL NAME
Name path & "Spare1.mdb" As path & databaseName
End Function
А потом просто запустите это в цикле по всем моим базам данных?
Sub Compact_All()
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
DoCmd.SetWarnings False
rs.Open "select * from compactList", CurrentProject.Connection
While Not rs.EOF
call Compact_DB(rs("path"), rs("databaseName"))
rs.MoveNext
Wend
rs.Close
set rs = Nothing
End Sub