Связанная таблица ms access 2010 change connection string

Я работаю над существующим проектом MS Access 2010, у которого есть связанная таблица с базой данных Sql Server.

Когда я перейду к связанной таблице, я вижу строку подключения 'ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.user'

Это выглядит как связанная с dsn-less таблица.

Вопрос

  • Где находится строка подключения? Как изменить его (пример имени базы данных)?

  • Как создать подобную таблицу привязки dsn-less? В любое время, когда я создаю связанную таблицу, Access 2010 всегда заставляет меня выбирать \create dsn (файл или машину).

Ответы

Ответ 1

Чтобы распечатать все строки подключения:

Dim tdf As TableDef
Dim db As Database

    Set db = CurrentDb

    For Each tdf In CurrentDb.TableDefs
        If tdf.Connect <> vbNullString Then
           Debug.Print tdf.Name; " -- "; tdf.SourceTableName; " -- "; tdf.Connect
        End If
    Next

Чтобы создать связанную таблицу:

With CurrentDb
    ''If the table does not have a unique index, you will need to create one
    ''if you wish to update.
    Set tdf = .CreateTableDef("LocalName")
    tdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;" _
      & "UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.user"
    tdf.SourceTableName = "TABLE_NAME"
    .TableDefs.Append tdf
    .TableDefs.Refresh
End With

Чтобы изменить ссылку:

    Set db = CurrentDB
    Set tdf = db.TableDefs("MyTable")
    tdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;" _
      & "UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.user"
    tdf.RefreshLink

Ответ 2

Вы можете изменить строку подключения, используя следующее руководство (Исходный источник).

Во-первых, получите существующую строку соединения.

  • Открыть MS Access
  • Щелкните правой кнопкой мыши на таблице, которая использовалась для работы, или вы уверены, что она работает, и выберите "Design View".
  • Выберите "Да" на экране предупреждения, чтобы продолжить.
  • Если справа справа нет окна свойств для таблицы, на ленте (Access 2010) щелкните Property Sheet
  • Это показывает свойство Description - скопируйте все, что есть в этом свойстве, и вставьте его в Блокнот или где-нибудь позже.

Во-вторых, обновите строку подключения.

  • Нажмите "Внешние данные" на ленте и выберите "Связанный менеджер таблиц"
    • Установите флажок "Всегда предлагать новое местоположение" - это сложный способ спросить пользователя, если он хочет изменить информацию о подключении.
    • Нажмите кнопку "Выбрать все" или выберите таблицы, которые вы хотите обновить, с помощью флажков
    • Нажмите "ОК"
  • Появится диалог. Нажмите "Создать"
    • Выберите SQL Server в качестве драйвера
    • Нажмите кнопку "Дополнительно"
    • Вставить все это в Блокнот
      • ЗА ИСКЛЮЧЕНИЕМ УДАЛИТЬ ТАБЛИЦУ =... до следующей точки с запятой.
      • Измените имя сервера
      • Нажмите "ОК"
    • Затем он предлагает вам сохранить все это в файл для последующего использования. Чувствительность места в папке Мои документы в папке с соединениями - или еще лучше в сетевом расположении для других, которые будут использоваться позже.
    • Несколько раз нажмите OK
    • Теперь Access заменит все ваши таблицы новой строкой DSN (подробности подключения).