Изменение подключения проекта Access программными средствами
Дополнительно: требуются экспертные навыки программирования, взаимодействия и многопользовательских навыков.
Эта статья относится только к проекту Microsoft Access (ADP).
Сводка
В этой статье показано, как программно изменить подключение к файлу проекта Microsoft Access (ADP).
Дополнительная информация
Самый простой способ изменить подключение ADP — сделать это вручную. Доступ к свойствам подключения текущего проекта можно получить в Access 2002 или Access 2003: в меню Файл выберите пункт Подключение. В появившемся диалоговом окне можно изменить имя сервера и режимы безопасности, а также другие свойства.
Примечание В Access 2007 выполните следующие действия, чтобы открыть вкладку Подключение диалогового окна Свойства канала данных :
- Нажмите кнопку Microsoft Office и выберите Пункт Параметры доступа.
- На вкладке Настройка щелкните Все команды в списке Выбрать команды из .
- Щелкните Подключение в левой области, нажмите кнопку Добавить, а затем нажмите кнопку ОК.
- Щелкните Подключение на панели быстрого доступа.
Однако иногда может потребоваться автоматизировать процесс. Может потребоваться, чтобы пользователи подключались к другому серверу SQL для определенного раздела приложения, или вам может потребоваться управлять процессом подключения при запуске, чтобы можно было найти ошибки и обработать их соответствующим образом, возможно, путем маршрутизации на другой сервер.
В следующих шагах используется функция, демонстрирующая, как изменить существующее подключение ADP с помощью объектной модели Access. Функция возвращает значение True в случае успешного выполнения и False, если она не выполнена.
Запустите Access и откройте пример проекта Access NorthwindCS.adp.
В Access 2002 или Access 2003 щелкните Модули в разделе Объекты в окне базы данных, а затем нажмите кнопку Создать , чтобы открыть новый модуль.
В Access 2007 щелкните стрелку вниз под макросом в группе Другие на вкладке Создание , а затем щелкните Модуль.
Добавьте следующий код в новый модуль, а затем сохраните модуль:
Function ChangeADPConnection(strServerName As String, strDBName As _
String, Optional strUN As String, Optional strPW As String) As Boolean
Dim strConnect As String
On Error GoTo EH:
Application.CurrentProject.CloseConnection
'The Provider, Data Source, and Initial Catalog arguments are required.
strConnect = "Provider=SQLOLEDB.1" & _
";Data Source=" & strServerName & _
";Initial Catalog=" & strDBName
If strUN <> "" Then
strConnect = strConnect & ";user id=" & strUN
If strPW <> "" Then
strConnect = strConnect & ";password=" & strPW
End If
Else 'Try to use integrated security if no username is supplied.
strConnect = strConnect & ";integrated security=SSPI"
End If
Application.CurrentProject.OpenConnection strConnect
ChangeADPConnection = True
Exit Function
EH:
MsgBox Err.Number & ": " & Err.Description, vbCritical, "Connection Error"
ChangeADPConnection = False
End Function
В Access 2002 или Access 2003 в окне Базы данных щелкните Формы в разделе Объекты , нажмите кнопку Создать, а затем нажмите кнопку ОК , чтобы открыть новую форму в режиме конструктора.
В Access 2007 щелкните Форма на вкладке Создать .
Добавьте в форму кнопку команды.
Задайте для свойства OnClick кнопки команды следующую процедуру события:
Dim bCheckConnection As Boolean
'You must specify the correct parameters for your following server.
'username and password parameters are optional.
bCheckConnection=ChangeADPConnection("ServerName","DBName","UserName","PW")
MsgBox bCheckConnection
Закройте среду Visual Basic, чтобы вернуться к форме.
Сохраните форму, а затем переключите ее в представление формы.
Нажмите кнопку команды, чтобы запустить базовый код.
Если на шаге 6 вы укажали правильные параметры подключения, вы получите сообщение True.
-ИЛИ-
Если вы не указали правильные параметры, появится сообщение об ошибке. При нажатии кнопки ОК для сообщения об ошибке появится окно сообщения, в котором отображается значение False.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по