Как уплотнить базу данных Access MS, в то время как база данных открыта, с помощью vba

Я выполняю несколько модулей кода VBA. Посреди выполнения катастрофических отказов кода, поскольку Доступ достигает своего макс. размера 2 ГБ; но, если я сжимаю базу данных в той точке, это - только 200 МБ.

Действительно ли возможно сжать базу данных равномерно, в то время как код работает?

5
задан Tony Toews 14 May 2010 в 05:02
поделиться

2 ответа

Да, можно. Однако вам необходимо закрыть все переменные, формы и отчеты набора записей и базы данных, которые используют файл базы данных. Вы можете проверить это самостоятельно, запустив свой код и проверив, не существует ли больше файл LDB. Кроме того, все пользователи, кроме вас, конечно, должны быть вне файла базы данных.

Вы можете в цикле пройти через коллекцию форм (которая на самом деле является открытыми формами) и коллекцию отчетов, чтобы обработать их все. Конечно, когда вы закончите обработку, вам нужно будет повторно открыть все формы автозапуска и т. Д. И т. Д.

2
ответ дан 14 December 2019 в 13:28
поделиться

Вы можете сжать только закрытую базу данных (или сжать ее в файл с другим именем).

См. здесь для шагов.

0
ответ дан 14 December 2019 в 13:28
поделиться