Вот мои 2 *.
Вопрос 1 - Я никогда не использовал сплиттер базы данных, так как чувствую, что у меня больше контроля над этим вручную. Если вы делаете это вручную, вы можете сделать это с версией, которая не имеет разделителя базы данных. Но если вы используете сплиттер, то - да - вам придется обновить его до версии, в которой есть сплиттер, прежде чем делать это.
Чтобы сделать это вручную, выполните следующие действия.
- Резервное копирование всего.
- Создайте копию вашего файла в том же каталоге. Поэтому, если у вас есть MyApp.MDB, создайте копию в том же каталоге с новым именем, например, MyAppDATA.mdb.
- Откройте новый файл DATA (MyAppDATA.mdb) и удалите все объекты, КРОМЕ ТАБЛИЦ.
- Откройте файл приложения (MyApp.mdb) и удалите все таблицы.
- Также в MyApp.mdb ... перейдите в меню Файл / Получить внешние данные / Связать таблицы, чтобы связать таблицы в MyAppDATA.mdb с MyApp.mdb. Выберите Все и создайте ссылки.
Это должно сделать это. И если вы облажались, вы сделали резервную копию ... правильно?
Несколько советов и ошибок ... убедитесь, что вы идете в Инструменты / Параметры и что вы НЕ показываете Системные и Скрытые таблицы. Вы просто не хотите удалять системные таблицы из MyApp. Другой способ сделать это - НЕ удалять таблицы, начинающиеся с MSys или USys.
Вопрос 2 - Неважно, сколько у вас объектов. На самом деле у вас не так много объектов.
Вопрос 3 - Да ... вы сделаете внутренние изменения в MyAppData.mdb, и когда вы откроете MyApp.mdb, эти изменения будут автоматически отображаться и выполнять запросы и т. Д. (В конструкторе запросов вам может понадобиться сохранить / закрыть / открыть, чтобы увидеть новые поля, если вы сделали мод в запросе). ИСКЛЮЧЕНИЕ для этого - Новые таблицы. Вам придется использовать опцию Файл / Получить внешние данные / Связать таблицы, чтобы создавать ссылки на новые таблицы.
Следует помнить одну вещь (и я надеюсь, что вы уже поняли), что одним из недостатков разделения базы данных является то, что при развертывании файла переднего плана, как правило, относительный путь к данным будет варьироваться от машины к машине и там. нет автоматической перекомпоновки таблиц в доступе. Если ваши целевые клиенты имеют полный доступ, вы всегда можете использовать Инструменты / Утилиты базы данных / Менеджер связанных таблиц, чтобы обновить ссылки в нужном месте. Если вы не можете этого сделать, вам придется выполнить одно из следующих действий:
1. Напишите код, который сделает автоматическую рессылку за вас. Обычно он проверяет ссылки ... если они недействительны, он запрашивает у пользователя местоположение данных (или ищет его в файле INI) и повторно связывает таблицы.
2. Всегда развертывайте свое приложение в одном и том же месте на всех компьютерах. Если у вас есть коммерческое видение для вашего приложения, это не сработает ... Я упоминаю об этом по академическим причинам. Это может быть выполнимо для ограниченного развертывания, где у вас есть большой контроль над размещением файлов на каждом компьютере.
3. Поместите файл данных (MyAppDATA.mdb) в общую сетевую папку и свяжите таблицу через сеть, используя сопоставление дисков или UNC (\ myserver \ mydata \ ApplicationData \ MyAppData.mdb). Последнее предпочтительнее, но они оба подвержены тем же рискам, что и номер два.
Сет
PS Этот ответ предполагает Access 2003.
PPS Если у вас есть коммерческое видение для вашего приложения, то связывание таблиц должно быть ДЕЙСТВИТЕЛЬНО надежным.
PPPS Я согласен с комментатором, что вы можете сделать решающий шаг и выполнить SQL, если это входит в ваш набор навыков.