如何使用参数

时间:2016-11-07 09:51:16

标签: vba ms-access url

我有一个基本的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,那就太难了。

2 个答案:

答案 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 

请参阅https://stackoverflow.com/a/18922262/3820271

答案 1 :(得分:0)

请注意,如果您遇到CreateObject("Shell.Application").Open无法使用变量的问题,则可能是强制转换问题-请尝试在参数周围加上CVar()。有关更多详细信息,请参见https://stackoverflow.com/a/56173911/8512931