Как заставить MS Access открывать гиперссылки в существующем контексте IE - PullRequest
2 голосов
/ 28 апреля 2011

У меня есть база данных MS Access 2007, где одно поле является гиперссылкой на URL-адрес веб-сайта, который требует аутентификации. Когда гиперссылка открывается из MS Access, Internet Explorer требует от пользователя повторной аутентификации при каждом открытии гиперссылки, даже если пользователь уже вошел на веб-сайт.

Когда такая же гиперссылка открывается из MS Outlook 2007 или из диалогового окна «Выполнить» в меню «Пуск», и пользователь уже вошел на веб-сайт, гиперссылка открывается, как и ожидалось, без необходимости повторной аутентификации пользователя. Почему MS Access 2007 ведет себя не так, как MS Outlook 2007, и (по форме) как я могу обойти это?

1 Ответ

1 голос
/ 15 мая 2011

Я нашел обходной путь для этого. В код VBA для базы данных я добавил следующие функции:

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
    ByVal hWnd As Long, _
    ByVal lpOperation As String, _
    ByVal lpFile As String, _
    ByVal lpParameters As String, _
    ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As Long

Public Function OpenURL(theURL as String)
    ShellExecute Screen.ActiveForm.hWnd, "open", theURL, "", "", vbNormalFocus
End Function

В своем коде формы я просто вызываю OpenURL следующим образом:

OpenURL HyperlinkPart(Me![URL], acFullAddress)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...