如何使用参数从 MS Access 打开 URL [英] How to open a URL from MS Access with parameters

查看:26
本文介绍了如何使用参数从 MS Access 打开 URL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个基本的 MS Access 应用程序,它在表单上有一个按钮,该按钮应该打开一个以 Access 记录的 ID 作为参数的网页,但是我尝试过的所有操作都导致 Access 出错或仅导致基本 URL在网页中打开.

I have a basic MS Access application that has a button on a form that should open a webpage with the ID of the Access record as the parameter, but everything I have tried results either in an error by Access or only the base URL opening in the web page.

我尝试将 VBA 添加到按钮的点击事件中:

I have tried adding VBA to the button's click event as so:

Application.FollowHyperlink _ 
"http://example.com/index.php?r=controller/action&id=" & Me.ID 

但我得到的只是在网络浏览器上打开的基本 URL(即 http://example.com).如果我删除?"和&"从完整的 URL 按钮将打开浏览器,完整的 URL 减去?"和&",这当然会使页面出错.

but all I get is the base URL opening on the web browser (ie http://example.com). If I remove the '?' and the '&' from the full URL the button will open the browser with the full URL minus the '?' and the '&', which of course errors the page.

我尝试将超链接控件的属性设置为:

I have tried setting a hyperlink control's property as:

="http://example.com/index.php?r=controller/action&id=" & Me.ID

但它的作用与上述相同.

but it does the same thing as noted above.

我尝试创建一个具有相同结果的宏.我曾尝试使用超链接生成器并使用 [formName]![id] 作为参数,但同样的事情发生或访问错误.

I have tried creating a Macro with the same results. I have tried using the Hyperlink Builder and using [formName]![id] as the parameter but same thing happens or Access errors.

我已阅读这篇文章:https://msdn.microsoft.com/en-us/library/office/ff822080.aspx 并尝试将 URl 中 'index.php/之后的部分添加到代码中的 ExtraInfo 位置,但同样的事情.

I have read this article: https://msdn.microsoft.com/en-us/library/office/ff822080.aspx and tried adding the part in the URl after 'index.php/ to the ExtraInfo place in the code, but same thing.

帮助!简单地让 Access 打开一个在 URL 末尾带有参数的 URL 并不难.

Help! It can't be that hard to simply have Access open a URL with a parameter on the end of the URL.

推荐答案

Application.FollowHyperlink 变化无常.

使用任一ShellExecute:
使用 VBA 在默认浏览器中打开 html 页面?

CreateObject("Shell.Application").Open "http://example.com/index.php?r=controller/action&id=" & Me.ID 

https://stackoverflow.com/a/18922262/3820271

如果 URL 在字符串变量中,您可能需要将其强制转换为 Variant,因为这是 Shell.Application.Open 所期望的:

If the URL is in a string variable, you may need to cast it to Variant, because that's what Shell.Application.Open expects:

strUrl = "http://example.com/index.php?r=controller/action&id=" & Me.ID
CreateObject("Shell.Application").Open CVar(strUrl)

参见 https://stackoverflow.com/a/56173911/3820271,感谢 Toby 和 Anthony 指出这一点!

see https://stackoverflow.com/a/56173911/3820271, thanks Toby and Anthony for pointing this out!

这篇关于如何使用参数从 MS Access 打开 URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆