У меня есть файл доступа, который является сервером в качестве базы данных mySQL. В файле доступа у меня есть несколько таблиц и запросов. Проблема в том, что я изменил базу данных mySQL с одного узла на другой, а другой не существует.
Что я хочу сделать, это привязать таблицы/запросы в этом файле доступа к базе данных, а не к старой базе данных. Я удалил старую запись ODBC, которую я использовал на своем компьютере, и создал новую. Но что происходит, когда каждый раз, когда я пытаюсь получить доступ к одному из запросов, он вызывает свойства соединения ODBC, и я должен изменить имя хоста подключения из старого, нового. Я считаю, что старая информация хранится где-то в файле, поэтому вся информация о том, где это хранится или когда мне приходится вручную делать это с помощью кода VBA, будет с благодарностью.
Существует два возможных места для хранения информации:
в строках подключения для связанных таблиц.
в строках подключения для сохраненных запросов.
Вы можете узнать строку подключения для таблицы с этим:
?CurrentDB.TableDefs("MyTable").Connect
... и для сохраненного запроса с помощью:
?CurrentDB.QueryDefs("MyQuery").Connect
Для обновления первого вы должны просто удалить существующие связанные таблицы и пересортировать с нуля. Для последнего вам придется редактировать каждый отдельно или писать код, чтобы просмотреть коллекцию QueryDefs, а также изменить и сохранить строки Connect с новым значением.
Вы также можете найти код Doug Steele для строк подключения DSN-less.