Работаю с базой данных MsAccess через ADO...
Испоьзую OLE DB Provider.
База локальная, без всяких серверов.
Проблема в том, что когда я удаляю из таблиц записи, база данных не уменьшает свой размер, остаётся прежней.
То есть я заполняю таблицы и база естественно занимает больше места, но когда я эти записи удаляю база по идее должна иметь те же размеры, какие имела перед заполнением.... Но она остаётся прежней.
В итоге, если долго с ней работать, то она нехило разарастается в размере и единственный способ вернуть ей нормальный размер - это в Ассеss сжать её и восстановить(там есть такая опция).
Но у конечного пользователя программы может не быть Access-а.
У меня записи немаленькие, содержат картинки, поэтому размер очень критичен.
Кто-нибудь знает что можно сделать ?
Помогите пожалуйста.
Работа с базой данных Access через ADO
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Если обращаться к базе данных Access через ADO, то этот метод может быть недоступен. Для пересохранения mdb-файла с удалением пустых записей нужно обратиться к его родному компоненту DAO и в нём вызывать метод _DBEngine::CompactDatabase(...).