Стиснення додатків в MS Access, MS Office, Програмні керівництва, статті

Ще коли починав писати на Access 97, виникло питання, як періодично стискати базу даних? За час роботи вона досить сильно розпухає. Рішень було кілька, але всі вони з тих чи інших причин були не оптимальні.



  1. давати користувачеві доступ до повного меню Access, що б він міг стискати базу не дуже добре. Він може змінити якусь важливу установку.
  2. Постачати з базою утиліту JetCompactтеж не давало бажаного ефекту. Утиліту часто втрачали, забували передавати або встановлювати разом з базою, При використанні захисту, потрібно задавати додаткові параметри. Крім того, багато користувачі були так би мовити, “не кваліфікованими”.
  3. Використання параметрів командного рядка /compact і repair вимагало розміщення на робочому столі додаткових іконок і іноді збивало користувача, якщо у іконок виявлялося однакове зображення. Автоматичне створення іконок на робочому столі вимагало додаткових знань в програмуванні, а в ручну створювати було не завжди можливо. Хоча це і був на мій погляд найбільш коректний спосіб забезпечення користувача інструментом для стиснення бази.
  4. Всілякі програмні хитрощі на основі Access і VBScript. Генерувалися всілякі скрипти для запуску програми на стиск, програмно створювалися кнопки, на які вішалися команди на стиск, створювалися спеціальні програми (mdb) сжімалкі. Якщо поікать по форумах то можна знайти багато слідів цієї діяльності.

З появою Access 2000 ситуація дещо покращилася. В параметрах бази з’явився прапорець “Стискати при закритті”. Постійне стискання бази, хоч і дозволяло мінімізувати обсяг бази, але уповільнювало роботу (В і-неті це обговорювалося). Одне очікування завершення стиснення, особливо коли обсяг бази перевалив за 10 Мб, може помотати користувачеві нерви (а він, природно, помотає Вам). От якби можна було керувати цим прапорцем з програми. Тоді можна дати вказівку на стиснення файлу бази при закритті, а при відкритті бази, скидати установку прапорця. Так можна реалізувати одноразове стиснення бази. Можна написати підпрограму стиснення бази за розкладом. Залишилося тільки дізнатися, як це можна зробити. Виявляється зробити це дуже просто. Всього дві строчки коду
SetOption “Auto Compact”, True “включити
і
SetOption “Auto Compact”, False “вимкнути
Тепер один рядок треба повісити на кнопку включення стиснення файлу, а другу вкласти в макрос AutoExec або стартову форму. І все готово.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*