403 lines
28 KiB
HTML
403 lines
28 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="ru" data-theme="auto">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>Миграция базы данных Access 2003 → Access 2016+</title>
|
||
<link rel="stylesheet" href="design-system/kt-ai-fonts.css">
|
||
<link rel="stylesheet" href="design-system/kt-ai-tokens.css">
|
||
<link rel="stylesheet" href="design-system/kt-ai-components.css">
|
||
<link rel="stylesheet" href="design-system/kt-ai-page.css">
|
||
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🗄️</text></svg>">
|
||
<style>
|
||
a.kt-ai-btn { text-decoration: none; }
|
||
.doc-table { width:100%; border-collapse:collapse; margin:var(--kt-ai-space-4) 0 }
|
||
.doc-table th, .doc-table td { padding:var(--kt-ai-space-3) var(--kt-ai-space-4); border:1px solid var(--kt-ai-border); text-align:left }
|
||
.doc-table th { background:var(--kt-ai-bg-soft); font-weight:var(--kt-ai-weight-semibold) }
|
||
.doc-table tr:hover td { background:var(--kt-ai-bg-soft) }
|
||
.step-num { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:var(--kt-ai-radius-full); background:var(--kt-ai-primary); color:var(--kt-ai-bg); font-size:var(--kt-ai-text-sm); font-weight:var(--kt-ai-weight-bold); margin-right:var(--kt-ai-space-2); flex-shrink:0 }
|
||
.step-row { display:flex; align-items:flex-start; gap:var(--kt-ai-space-3); margin:var(--kt-ai-space-4) 0 }
|
||
.step-row p { margin:0 }
|
||
code { font-family:var(--kt-ai-font-mono); background:var(--kt-ai-bg-soft); padding:2px 6px; border-radius:var(--kt-ai-radius-md); font-size:var(--kt-ai-text-sm) }
|
||
.warn-box { background:var(--kt-ai-bg-soft); border-left:4px solid var(--kt-ai-primary); padding:var(--kt-ai-space-4); border-radius:var(--kt-ai-radius-md); margin:var(--kt-ai-space-4) 0 }
|
||
.checklist { list-style:none; padding:0 }
|
||
.checklist li { padding:var(--kt-ai-space-2) 0; display:flex; align-items:flex-start; gap:var(--kt-ai-space-2) }
|
||
.checklist li::before { content:"☐"; flex-shrink:0 }
|
||
.toc a { color:var(--kt-ai-link); text-decoration:none }
|
||
.toc a:hover { text-decoration:underline }
|
||
.toc li { padding:var(--kt-ai-space-1) 0 }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
|
||
<header class="kt-ai-pagehead">
|
||
<div class="kt-ai-wrap kt-ai-pagehead-in">
|
||
<strong>Миграция Access</strong>
|
||
<span class="kt-ai-spacer"></span>
|
||
<a class="kt-ai-btn" data-variant="ghost" href="#audit">Аудит</a>
|
||
<a class="kt-ai-btn" data-variant="ghost" href="#platform">Платформа</a>
|
||
<a class="kt-ai-btn" data-variant="ghost" href="#migration">Миграция</a>
|
||
<a class="kt-ai-btn" data-variant="ghost" href="#testing">Тесты</a>
|
||
<a class="kt-ai-btn" data-variant="ghost" href="#exploitation">Эксплуатация</a>
|
||
</div>
|
||
</header>
|
||
|
||
<section class="kt-ai-hero" data-align="center">
|
||
<div class="kt-ai-wrap">
|
||
<h1>Миграция базы данных Access 2003 → Access 2016+</h1>
|
||
<p class="kt-ai-hero-sub">Технический документ: переход с формата .mdb (Access 2003) на формат .accdb (Access 2016/2019/365) с сохранением работоспособности на Windows 10.</p>
|
||
</div>
|
||
</section>
|
||
|
||
<div class="kt-ai-wrap" style="margin-top:var(--kt-ai-space-6)">
|
||
<nav class="kt-ai-card" style="padding:var(--kt-ai-space-6)">
|
||
<h2 style="margin-top:0">Содержание</h2>
|
||
<ol class="toc">
|
||
<li><a href="#audit">Аудит текущей структуры данных</a></li>
|
||
<li><a href="#platform">Выбор целевой платформы</a></li>
|
||
<li><a href="#migration">Схема миграции данных</a></li>
|
||
<li><a href="#testing">План тестирования целостности</a></li>
|
||
<li><a href="#exploitation">Инструкция по эксплуатации</a></li>
|
||
</ol>
|
||
</nav>
|
||
</div>
|
||
|
||
<!-- ==================== 1. АУДИТ ==================== -->
|
||
<section id="audit" class="kt-ai-section" data-divider="true">
|
||
<div class="kt-ai-wrap">
|
||
<div class="kt-ai-section-head">
|
||
<h2>1. Аудит текущей структуры данных</h2>
|
||
<p>Перед миграцией необходимо зафиксировать состав объектов базы и выявить потенциальные проблемы.</p>
|
||
</div>
|
||
|
||
<h3>1.1. Инвентаризация объектов</h3>
|
||
<p>Откройте базу .mdb в Access 2003 (или в режиме совместимости) и заполните таблицу:</p>
|
||
<table class="doc-table">
|
||
<thead>
|
||
<tr><th>Тип объекта</th><th>Имя</th><th>Кол-во записей</th><th>Примечание</th></tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr><td>Таблица</td><td colspan="3"><em>заполнить по каждой таблице</em></td></tr>
|
||
<tr><td>Запрос</td><td colspan="3"><em>заполнить по каждому запросу</em></td></tr>
|
||
<tr><td>Форма</td><td colspan="3"><em>заполнить по каждой форме</em></td></tr>
|
||
<tr><td>Отчёт</td><td colspan="3"><em>заполнить по каждому отчёту</em></td></tr>
|
||
<tr><td>Макрос</td><td colspan="3"><em>заполнить по каждому макросу</em></td></tr>
|
||
<tr><td>Модуль VBA</td><td colspan="3"><em>заполнить по каждому модулю</em></td></tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3>1.2. Что проверить обязательно</h3>
|
||
<div class="kt-ai-grid" style="margin-top:var(--kt-ai-space-4)">
|
||
<article class="kt-ai-tile">
|
||
<h3>Связи между таблицами</h3>
|
||
<p>Откройте окно связей (Ctrl+L). Зафиксируйте все связи, типы (1:1, 1:∞) и каскадные правила. После миграции связи должны сохраниться, но проверить нужно.</p>
|
||
</article>
|
||
<article class="kt-ai-tile">
|
||
<h3>Типы полей</h3>
|
||
<p>Обратите внимание на: <code>Счётчик</code> (AutoNumber), <code>OLE Object</code> (проблемный при миграции), <code>Гиперссылка</code>, <code>Расчётное поле</code>. Запишите все нестандартные типы.</p>
|
||
</article>
|
||
<article class="kt-ai-tile">
|
||
<h3>VBA-код и макросы</h3>
|
||
<p>Откройте редактор VBA (Alt+F11). Проверьте: ссылки на внешние библиотеки (Tools → References), использование <code>DoCmd.TransferDatabase</code>, API-вызовы Windows (<code>Declare</code>).</p>
|
||
</article>
|
||
<article class="kt-ai-tile">
|
||
<h3>Фронтенд / бэкенд</h3>
|
||
<p>Если база разделена (linked tables → отдельный .mdb), зафиксируйте путь к бэкенду и список связанных таблиц.</p>
|
||
</article>
|
||
</div>
|
||
|
||
<div class="warn-box">
|
||
<strong>Внимание: объекты OLE Object</strong><br>
|
||
Поле <code>OLE Object</code> в Access 2003 хранило встроенные объекты (Excel, Word, картинки). В .accdb эти данные могут не отобразиться корректно. Рекомендуется экспортировать содержимое OLE-полей в файлы до миграции.
|
||
</div>
|
||
|
||
<h3>1.3. Размер и производительность</h3>
|
||
<table class="doc-table">
|
||
<thead><tr><th>Параметр</th><th>Значение</th><th>Комментарий</th></tr></thead>
|
||
<tbody>
|
||
<tr><td>Размер файла .mdb</td><td><em>___ МБ</em></td><td>Файлы > 2 ГБ потребуют архивации старых записей</td></tr>
|
||
<tr><td>Кол-во таблиц</td><td><em>___</em></td></tr>
|
||
<tr><td>Кол-во записей (суммарно)</td><td><em>___</em></td></tr>
|
||
<tr><td>Кол-во форм/отчётов</td><td><em>___</em></td></tr>
|
||
<tr><td>Наличие VBA</td><td><em>Да / Нет</em></td></tr>
|
||
<tr><td>Linked tables (бэкенд)</td><td><em>Да / Нет</em></td><td>Если да — нужна миграция обоих файлов</td></tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ==================== 2. ПЛАТФОРМА ==================== -->
|
||
<section id="platform" class="kt-ai-section" data-divider="true">
|
||
<div class="kt-ai-wrap">
|
||
<div class="kt-ai-section-head">
|
||
<h2>2. Выбор целевой платформы</h2>
|
||
<p>Целевой формат: <code>.accdb</code> — нативный формат Access 2007–2019/365. Полностью совместим с Windows 10.</p>
|
||
</div>
|
||
|
||
<h3>2.1. Сравнение версий</h3>
|
||
<table class="doc-table">
|
||
<thead><tr><th>Параметр</th><th>Access 2003 (.mdb)</th><th>Access 2016+ (.accdb)</th></tr></thead>
|
||
<tbody>
|
||
<tr><td>Макс. размер файла</td><td>2 ГБ</td><td>2 ГБ (без изменений)</td></tr>
|
||
<tr><td>Формат по умолчанию</td><td>Jet 4.0 (.mdb)</td><td>ACE (.accdb)</td></tr>
|
||
<tr><td>Шифрование</td><td>Нет</td><td>Да (AES-128)</td></tr>
|
||
<tr><td>Поля вложений</td><td>Нет</td><td>Да (замена OLE Object)</td></tr>
|
||
<tr><td>Многозначные поля</td><td>Нет</td><td>Да (но не рекомендуется)</td></tr>
|
||
<tr><td>История изменений Memo</td><td>Нет</td><td>Да</td></tr>
|
||
<tr><td>Вычисляемые поля</td><td>Нет</td><td>Да</td></tr>
|
||
<tr><td>Внешние данные (SharePoint, Outlook)</td><td>Ограниченно</td><td>Расширенная интеграция</td></tr>
|
||
<tr><td>Совместимость с Windows 10</td><td>Проблемная (UAC, DEP)</td><td>Полная</td></tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3>2.2. Рекомендуемая версия</h3>
|
||
<div class="kt-ai-card" style="padding:var(--kt-ai-space-6)">
|
||
<table class="doc-table">
|
||
<thead><tr><th>Вариант</th><th>Лицензия</th><th>Плюсы</th><th>Минусы</th></tr></thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>Access 2016 (standalone)</strong></td>
|
||
<td>Разовая покупка</td>
|
||
<td>Стабильная, без подписки, совместима с Windows 10/11</td>
|
||
<td>Нет обновлений функционала</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Access 2019 (standalone)</strong></td>
|
||
<td>Разовая покупка</td>
|
||
<td>Последняя «коробочная» версия</td>
|
||
<td>Только Windows 10/11</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Microsoft 365 (Access included)</strong></td>
|
||
<td>Подписка</td>
|
||
<td>Постоянные обновления, последняя версия</td>
|
||
<td>Ежемесячная/годовая оплата</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p style="margin-bottom:0"><strong>Рекомендация:</strong> Access 2016 или 2019 — минимальная версия, гарантирующая полную совместимость с Windows 10 и форматом .accdb.</p>
|
||
</div>
|
||
|
||
<div class="warn-box">
|
||
<strong>Важно: нельзя перейти на .accdb и вернуться обратно</strong><br>
|
||
Обратная конвертация .accdb → .mdb не поддерживается. Перед миграцией обязательно сделайте резервную копию исходного .mdb файла.
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ==================== 3. МИГРАЦИЯ ==================== -->
|
||
<section id="migration" class="kt-ai-section" data-divider="true">
|
||
<div class="kt-ai-wrap">
|
||
<div class="kt-ai-section-head">
|
||
<h2>3. Схема миграции данных</h2>
|
||
<p>Пошаговый процесс конвертации базы из формата .mdb в .accdb с сохранением всех объектов.</p>
|
||
</div>
|
||
|
||
<h3>3.1. Подготовка</h3>
|
||
<div class="step-row"><span class="step-num">1</span><div><p><strong>Резервная копия.</strong> Скопируйте исходный файл <code>база.mdb</code> в безопасное место. Имя копии — с датой: <code>база_backup_2026-09-14.mdb</code>.</p></div></div>
|
||
<div class="step-row"><span class="step-num">2</span><div><p><strong>Сжатие и восстановление.</strong> В Access 2003: <code>Сервис → Служебные программы → Сжатие и восстановление</code>. Это устраняет повреждения перед миграцией.</p></div></div>
|
||
<div class="step-row"><span class="step-num">3</span><div><p><strong>Документация.</strong> Заполните таблицы из раздела 1 (аудит) — они нужны для проверки после конвертации.</p></div></div>
|
||
|
||
<h3>3.2. Конвертация</h3>
|
||
<div class="step-row"><span class="step-num">4</span><div><p><strong>Откройте .mdb в Access 2016/2019/365.</strong> Двойной клик по файлу — Access откроет его в режиме совместимости (строка заголовка покажет «Режим совместимости»).</p></div></div>
|
||
<div class="step-row"><span class="step-num">5</span><div><p><strong>Конвертация формата.</strong> <code>Файл → Сохранить как → База данных Access (*.accdb)</code>. Укажите новое имя (например, <code>база_new.accdb</code>). Access преобразует формат.</p></div></div>
|
||
<div class="step-row"><span class="step-num">6</span><div><p><strong>Проверка объектов.</strong> После конвертации откройте .accdb и сверьте количество таблиц, запросов, форм, отчётов, макросов и модулей с данными аудита.</p></div></div>
|
||
|
||
<h3>3.3. Пост-миграция: что исправить вручную</h3>
|
||
<table class="doc-table">
|
||
<thead><tr><th>Проблема</th><th>Где искать</th><th>Решение</th></tr></thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>Поля OLE Object пустые или не читаются</td>
|
||
<td>Таблицы с полем типа OLE Object</td>
|
||
<td>Заменить на «Вложение» (Attachment) или сохранить файлы отдельно и использовать гиперссылки</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Ссылки на внешние библиотеки VBA (MISSING:)</td>
|
||
<td>VBA → Tools → References</td>
|
||
<td>Снять галочку с помеченных «MISSING», подключить актуальные версии библиотек</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Linked tables указывают на старый .mdb</td>
|
||
<td>Диспетчер связанных таблиц (внешние данные)</td>
|
||
<td>Переподключить на новый .accdb-бэкенд</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Макросы с <code>DoCmd.TransferDatabase</code></td>
|
||
<td>Макросы и VBA-процедуры</td>
|
||
<td>Проверить параметры — формат источника/приёмника должен быть <code>ACCD</code></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Специальные символы в именах полей</td>
|
||
<td>Все таблицы</td>
|
||
<td>Переименовать: убрать пробелы, точки, спецсимволы. Использовать <code>snake_case</code> или <code>CamelCase</code></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3>3.4. Разделённая база (frontend / backend)</h3>
|
||
<p>Если база разделена на фронтенд (.mdb) и бэкенд (.mdb):</p>
|
||
<div class="step-row"><span class="step-num">A</span><div><p>Сконвертируйте <strong>бэкенд</strong> в .accdb первым (пункты 4–6).</p></div></div>
|
||
<div class="step-row"><span class="step-num">B</span><div><p>Сконвертируйте <strong>фронтенд</strong> в .accdb.</p></div></div>
|
||
<div class="step-row"><span class="step-num">C</span><div><p>Во фронтенде: <code>Внешние данные → Управление связями</code> — переподключите все таблицы на новый .accdb-бэкенд.</p></div></div>
|
||
<div class="step-row"><span class="step-num">D</span><div><p>Разверните .accdb-фронтенд пользователям.</p></div></div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ==================== 4. ТЕСТИРОВАНИЕ ==================== -->
|
||
<section id="testing" class="kt-ai-section" data-divider="true">
|
||
<div class="kt-ai-wrap">
|
||
<div class="kt-ai-section-head">
|
||
<h2>4. План тестирования целостности</h2>
|
||
<p>Проверка после миграции — убедиться, что все данные и объекты работают корректно.</p>
|
||
</div>
|
||
|
||
<h3>4.1. Проверка данных</h3>
|
||
<table class="doc-table">
|
||
<thead><tr><th>№</th><th>Проверка</th><th>Метод</th><th>Результат</th></tr></thead>
|
||
<tbody>
|
||
<tr><td>1</td><td>Кол-во записей в каждой таблице</td><td>Сравнить с данными аудита (раздел 1)</td><td><em>☐ Совпадает</em></td></tr>
|
||
<tr><td>2</td><td>Первичные ключи</td><td>Открыть таблицу, проверить уникальность PK</td><td><em>☐ Без дублей</em></td></tr>
|
||
<tr><td>3</td><td>Внешние ключи (связи)</td><td>Проверить окно связей, каскадные правила</td><td><em>☐ Сохранены</em></td></tr>
|
||
<tr><td>4</td><td>Поля с маской ввода</td><td>Открыть таблицу в режиме конструктора, проверить свойства полей</td><td><em>☐ Работают</em></td></tr>
|
||
<tr><td>5</td><td>Значения по умолчанию</td><td>Проверить свойства полей в конструкторе</td><td><em>☐ Совпадают</em></td></tr>
|
||
<tr><td>6</td><td>Подстановки (Lookup)</td><td>Открыть таблицы с полями Lookup, проверить выпадающие списки</td><td><em>☐ Работают</em></td></tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3>4.2. Проверка объектов</h3>
|
||
<table class="doc-table">
|
||
<thead><tr><th>№</th><th>Проверка</th><th>Метод</th><th>Результат</th></tr></thead>
|
||
<tbody>
|
||
<tr><td>7</td><td>Запросы выполняются</td><td>Открыть каждый запрос, проверить результат</td><td><em>☐ Без ошибок</em></td></tr>
|
||
<tr><td>8</td><td>Формы открываются</td><td>Открыть каждую форму, пролистать записи</td><td><em>☐ Данные отображаются</em></td></tr>
|
||
<tr><td>9</td><td>Отчёты формируются</td><td>Предпросмотр каждого отчёта</td><td><em>☐ Без ошибок</em></td></tr>
|
||
<tr><td>10</td><td>Макросы работают</td><td>Запустить каждый макрос</td><td><em>☐ Выполняются</em></td></tr>
|
||
<tr><td>11</td><td>VBA-модули компилируются</td><td>VBA → Debug → Compile</td><td><em>☐ Без ошибок</em></td></tr>
|
||
<tr><td>12</td><td>Кнопки на формах</td><td>Нажать каждую кнопку с привязанным действием</td><td><em>☐ Работают</em></td></tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3>4.3. Проверка на Windows 10</h3>
|
||
<table class="doc-table">
|
||
<thead><tr><th>№</th><th>Проверка</th><th>Ожидаемый результат</th></tr></thead>
|
||
<tbody>
|
||
<tr><td>13</td><td>Открытие .accdb двойным кликом</td><td>Access открывает базу без ошибок UAC/DEP</td></tr>
|
||
<tr><td>14</td><td>Работа с включённым UAC</td><td>База работает без запуска от имени администратора</td></tr>
|
||
<tr><td>15</td><td>Печать отчётов</td><td>PDF-экспорт и печать работают корректно</td></tr>
|
||
<tr><td>16</td><td>Экспорт в Excel</td><td>Выгрузка данных из таблиц/запросов в .xlsx</td></tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3>4.4. Нагрузочный тест (для многопользовательских баз)</h3>
|
||
<p>Если база используется несколькими пользователями одновременно:</p>
|
||
<ul class="checklist">
|
||
<li>Откройте .accdb с 2–3 компьютеров одновременно</li>
|
||
<li>Проверьте, что блокировки записей работают корректно</li>
|
||
<li>Выполните одновременную запись в одну таблицу с разных машин</li>
|
||
<li>Проверьте, что нет конфликтов и потери данных</li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ==================== 5. ЭКСПЛУАТАЦИЯ ==================== -->
|
||
<section id="exploitation" class="kt-ai-section" data-divider="true">
|
||
<div class="kt-ai-wrap">
|
||
<div class="kt-ai-section-head">
|
||
<h2>5. Инструкция по эксплуатации</h2>
|
||
<p>Правила работы с мигрированной базой на Windows 10.</p>
|
||
</div>
|
||
|
||
<h3>5.1. Требования к окружению</h3>
|
||
<table class="doc-table">
|
||
<thead><tr><th>Компонент</th><th>Минимум</th><th>Рекомендуется</th></tr></thead>
|
||
<tbody>
|
||
<tr><td>ОС</td><td>Windows 10 (x64)</td><td>Windows 10 22H2+ / Windows 11</td></tr>
|
||
<tr><td>Access</td><td>Access 2016</td><td>Access 2019 или Microsoft 365</td></tr>
|
||
<tr><td>ОЗУ</td><td>4 ГБ</td><td>8 ГБ+</td></tr>
|
||
<tr><td>Свободное место</td><td>2× размер базы</td><td>Для сжатия и резервных копий</td></tr>
|
||
<tr><td>Сеть (для общего доступа)</td><td>100 Мбит/с</td><td>1 Гбит/с, стабильное соединение</td></tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3>5.2. Ежедневные операции</h3>
|
||
<div class="kt-ai-grid" style="margin-top:var(--kt-ai-space-4)">
|
||
<article class="kt-ai-tile">
|
||
<h3>Резервное копирование</h3>
|
||
<p><strong>Частота:</strong> ежедневно (или перед каждым сеансом массовых изменений).<br>
|
||
<strong>Метод:</strong> копировать .accdb на сетевой диск / USB / облако.<br>
|
||
<strong>Имя:</strong> <code>база_YYYY-MM-DD.accdb</code>.<br>
|
||
<strong>Хранение:</strong> минимум 7 последних копий.</p>
|
||
</article>
|
||
<article class="kt-ai-tile">
|
||
<h3>Сжатие базы</h3>
|
||
<p><strong>Частота:</strong> еженедельно или при росте файла.<br>
|
||
<strong>Метод:</strong> <code>Файл → Сведения → Сжатие и восстановление</code>.<br>
|
||
<strong>Зачем:</strong> удаляет «мусор», уменьшает файл, ускоряет работу.</p>
|
||
</article>
|
||
<article class="kt-ai-tile">
|
||
<h3>Обновление связей</h3>
|
||
<p>Если бэкенд перемещён — переподключите таблицы через <code>Внешние данные → Управление связями</code>. Путь к бэкенду должен быть доступен всем пользователям.</p>
|
||
</article>
|
||
<article class="kt-ai-tile">
|
||
<h3>Локальная копия фронтенда</h3>
|
||
<p>Каждый пользователь должен иметь <strong>свою локальную копию</strong> фронтенда (.accdb). Не открывайте общий файл одновременно — это источник повреждений. Обновления фронтенда — через замену файла.</p>
|
||
</article>
|
||
</div>
|
||
|
||
<h3>5.3. Типичные проблемы и решения</h3>
|
||
<table class="doc-table">
|
||
<thead><tr><th>Проблема</th><th>Причина</th><th>Решение</th></tr></thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>«Файл заблокирован другим пользователем»</td>
|
||
<td>Файл .laccdb не удалён (аварийное завершение)</td>
|
||
<td>Удалить файл <code>база.laccdb</code> в папке с базой (когда никто не работает)</td>
|
||
</tr>
|
||
<tr>
|
||
<td>База открывается медленно</td>
|
||
<td>Фрагментация, накоплен «мусор»</td>
|
||
<td>Сжатие и восстановление (пункт 5.2)</td>
|
||
</tr>
|
||
<tr>
|
||
<td>«Недостаточно памяти»</td>
|
||
<td>Сложные запросы, индексы</td>
|
||
<td>Оптимизировать запросы, добавить индексы на поля фильтрации</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Формы выглядят иначе</td>
|
||
<td>Разрешение экрана, тема Windows</td>
|
||
<td>Настроить макет форм в конструкторе под текущее разрешение</td>
|
||
</tr>
|
||
<tr>
|
||
<td>VBA не компилируется</td>
|
||
<td>Ссылки на старые библиотеки</td>
|
||
<td>VBA → Tools → References → снять MISSING, подключить актуальные</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3>5.4. Чек-лист перед «боевым» запуском</h3>
|
||
<ul class="checklist">
|
||
<li>Резервная копия исходного .mdb сохранена и проверена</li>
|
||
<li>Все объекты (таблицы, запросы, формы, отчёты, макросы, модули) перенесены</li>
|
||
<li>Данные совпадают с аудитом (кол-во записей, ключи, связи)</li>
|
||
<li>VBA компилируется без ошибок (Debug → Compile)</li>
|
||
<li>Все формы открываются и отображают данные</li>
|
||
<li>Все отчёты формируются корректно</li>
|
||
<li>Проверено на Windows 10 (UAC, DEP, печать, экспорт)</li>
|
||
<li>Многопользовательский доступ протестирован (если применимо)</li>
|
||
<li>Резервное копирование настроено и работает</li>
|
||
<li>Пользователи проинструктированы (локальная копия фронтенда)</li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
|
||
<footer class="kt-ai-wrap kt-ai-pagefoot">
|
||
<span>© 2026 Миграция Access</span>
|
||
<span class="kt-ai-spacer"></span>
|
||
<span>Технический документ</span>
|
||
</footer>
|
||
|
||
</body>
|
||
</html> |