Вопрос № 114740: Есть программа 1.mdb, которая использует базу 2.mdb. Как сделать программно чтобы из 1.mdb сжимать базу 2.mdb, например на форме сделать кнупку которая сжимала базу. Я пытался использовать DBEngine.CompactDatabase но сама себя она не заменяет....
Вопрос № 114.740
Есть программа 1.mdb, которая использует базу 2.mdb. Как сделать программно чтобы из 1.mdb сжимать базу 2.mdb, например на форме сделать кнупку которая сжимала базу. Я пытался использовать DBEngine.CompactDatabase но сама себя она не заменяет.
Отправлен: 18.12.2007, 21:16
Вопрос задал: Hgtty ghtry dtfytry
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Тесленко Евгений Алексеевич
Здравствуйте, Hgtty ghtry dtfytry!
Пример из справочника Алексея Егорова.
- Функция позволяет сжать текущую БД (базу данных, в которой выполняется VBA-код, вызывающий сжатие). Данный вариант является единственным вариантом, позволяющим сжимать текущую не закрытую БД
Евгений.
Отвечает: Челноков Виктор Альбертович
Здравствуйте, !
В форме базы данных 1 создайте кнопку и введите следующий код в процедуру обработки собыия нажатия кнопки:
Private Sub Кнопка0_Click()
CompactDatabase "c:dia2.mdb", "c:dia3.mdb" '- сжимаем и копируем бд 2 в бд 3
FileCopy "c:dia3.mdb", "c:dia2.mdb" '- обратно копируем сжатую бд
Kill "c:dia3.mdb" '- удаляем промежуточниюбд 3
End Sub
должно получиться, незабудьте заменить пути к базам данных.