我有一个基本的MS Access应用程序,它在表单上有一个按钮,该按钮应打开一个以Access记录的ID作为参数的网页,但我尝试的所有内容都会导致Access出错或只有基本URL在网页上打开。
我尝试将VBA添加到按钮的点击事件中,如下所示:
Application.FollowHyperlink _
"http://example.com/index.php?r=controller/action&id=" & Me.ID
但我得到的只是在网络浏览器上打开的基本网址(即http://example.com)。如果我删除了'?'和'&'从完整的网址按钮将打开浏览器,其中包含完整的网址减去'?'和'&',当然这会使页面出错。
我尝试将超链接控件的属性设置为:
="http://example.com/index.php?r=controller/action&id=" & Me.ID
但它与上面提到的相同。
我尝试过创建一个具有相同结果的宏。我尝试过使用Hyperlink Builder并使用[formName]![id]
作为参数,但发生同样的事情或访问错误。
我已经阅读了这篇文章:https://msdn.microsoft.com/en-us/library/office/ff822080.aspx并尝试将< index.php /之后的URl中的部分添加到代码中的ExtraInfo位置,但同样的事情。
帮助!如果只是让Access打开一个带有URL末尾参数的URL,那就太难了。
答案 0 :(得分:7)
Application.FollowHyperlink
变幻莫测。
使用ShellExecute
:
Open an html page in default browser with VBA?
或
CreateObject("Shell.Application").Open "http://example.com/index.php?r=controller/action&id=" & Me.ID
答案 1 :(得分:0)
请注意,如果您遇到CreateObject("Shell.Application").Open
无法使用变量的问题,则可能是强制转换问题-请尝试在参数周围加上CVar()
。有关更多详细信息,请参见https://stackoverflow.com/a/56173911/8512931。