Перед тем, как поместить свой интерфейс и сервер в одну и ту же папку, подумайте об этом. Разве не стоит иметь 2 папки? А как насчет нескольких пользователей на одном компьютере, имеющих доступ к одной и той же внутренней базе данных? А как насчет нескольких пользователей, имеющих доступ к одной и той же базе данных через сеть? Зачем нужна типология внешнего интерфейса, если ваше приложение в основном однопользовательское?
Почему бы вам не добавить диалоговое окно в ваше приложение на случай потери соединения? Вы можете создать объект fileDialog в своем коде, позволяя пользователю искать файл * mdb в любом месте своего компьютера / сети. Тогда можно контролировать, что выбранный файл MDB содержит все запрошенные таблицы и открывать соответствующие ссылки (я полагаю, вы используете команду TransferDatabase).
А как насчет дополнительных инструментов / ссылок, которые понадобятся вашему приложению для запуска, когда вы будете распространять его среди своих конечных пользователей? По умолчанию MS Access записывает 3 основных:
- Visual Basic для приложений
- Библиотека Microsoft Access
- Библиотека Microsoft DAO
Если вашему приложению требуется что-то еще, например объекты ADO или Office (например, ADODB.recordset или панели команд Office), вам придется добавлять ссылки вручную для каждой установки, так как конечный пользователь не сможет открыть окно VBA и доступ к меню инструментов / ссылок.
Итак, если вам нужно развернуть приложение на нескольких компьютерах, я настоятельно рекомендую вам использовать такой инструмент развертывания, как этот бесплатный . Вам понадобится несколько часов, чтобы правильно его использовать, но результат того стоит. Вы сможете дать своим клиентам настоящий установочный модуль. Он будет создавать папки, добавлять запрошенные ярлыки и управлять ссылками в реестре компьютера. Это сделает ваше развертывание определенно безболезненным!
EDIT: макрос autoexec определенно является правильным решением для вызова кода перед любым событием.
РЕДАКТИРОВАТЬ: не забывайте, что ваши конечные пользователи могут получить выгоду от бесплатной версии Access!