Я выполняю несколько модулей кода VBA. Посреди выполнения катастрофических отказов кода, поскольку Доступ достигает своего макс. размера 2 ГБ; но, если я сжимаю базу данных в той точке, это - только 200 МБ.
Действительно ли возможно сжать базу данных равномерно, в то время как код работает?
Да, можно. Однако вам необходимо закрыть все переменные, формы и отчеты набора записей и базы данных, которые используют файл базы данных. Вы можете проверить это самостоятельно, запустив свой код и проверив, не существует ли больше файл LDB. Кроме того, все пользователи, кроме вас, конечно, должны быть вне файла базы данных.
Вы можете в цикле пройти через коллекцию форм (которая на самом деле является открытыми формами) и коллекцию отчетов, чтобы обработать их все. Конечно, когда вы закончите обработку, вам нужно будет повторно открыть все формы автозапуска и т. Д. И т. Д.
Вы можете сжать только закрытую базу данных (или сжать ее в файл с другим именем).
См. здесь для шагов.