我有一个MS Access 2007数据库,其中一个字段是指向需要身份验证的网站上的URL的超链接。从MS Access打开超链接时,Internet Explorer要求用户每次打开超链接时重新进行身份验证,即使用户已登录到网站。
当从MS Outlook 2007或“开始”菜单中的“运行”对话框打开相同的超链接,并且用户已登录到网站时,超链接将按预期打开,而不会强制用户重新进行身份验证。为什么MS Access 2007的行为与MS Outlook 2007不同,并且(在表单中)我该如何解决这个问题?
答案 0 :(得分:1)
我找到了解决方法。在数据库的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)