Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 在Access文本框中创建多个链接_Vba_Ms Access_Ms Access 2016 - Fatal编程技术网

Vba 在Access文本框中创建多个链接

Vba 在Access文本框中创建多个链接,vba,ms-access,ms-access-2016,Vba,Ms Access,Ms Access 2016,我在Access 2016中有一个带有文本框的表单,其中我需要有多个分号分隔的超链接(将动态创建)。我决定在VBA中创建一个“超链接构造字符串”,然后将它们指定给文本框的值。比如说: Me.Field.Value = {link: www.google.com : "Google"} & "; " & {link: www.yahoo.com : "Yahoo"} …将导致文本框中出现以下内容: ) 我的问题是,如果不将整个文本框变成一个超链接,我似乎无法理解在文本框中创建单个

我在Access 2016中有一个带有文本框的表单,其中我需要有多个分号分隔的超链接(将动态创建)。我决定在VBA中创建一个“超链接构造字符串”,然后将它们指定给文本框的值。比如说:

Me.Field.Value = {link: www.google.com : "Google"} & "; " & {link: www.yahoo.com : "Yahoo"}
…将导致文本框中出现以下内容:

)

我的问题是,如果不将整个文本框变成一个超链接,我似乎无法理解在文本框中创建单个链接的语法,这是行不通的

我正在研究我找到的一些解决方案。我读到这将以我所需要的方式创建链接,但它只是通过带有磅符号的文字:

"Google # www.google.com # Some Argument"
我还尝试将textbox设置为富格文本,然后将该值设置为包含超链接的富格文本代码。。。但这不起作用:

"{\field{\*\fldinst HYPERLINK ""http://www.google.com/""}{\fldrslt http://www.google.com}}"
我还考虑过设计一个将返回超链接的查询。但是,我想让它成为一个VBA的东西,因为我在如何创造价值方面有更多的灵活性。有人有什么想法吗

注意:我知道1:M关系数据库中应该有多个值。他们是。但是,任务的要求是获取1实体的所有M值,然后以分号分隔的方式列出它们,所有这些值都用作指向M实体详细信息表的链接。

常规文本框(仅文本)不支持此功能

可以使用富文本文本文本框。与名称相反,它们实际上使用的是HTML的子集,而不是RTF

有了来自我的想法,我就成功了:

Private Sub cmdInsertHyperlinks_Click()

    Dim url1 As String, url2 As String

    url1 = "D:\tmp\test.jpg"
    url2 = "D:\tmp\test space.txt"

    Me.rText.Value = "<div>" & _
        "<a href = " & url1 & ">file://" & url1 & "</a>" & _
        "  other text between hyperlinks  " & _
        "<a href = " & url2 & ">file://" & url2 & "</a>" & _
        "</div>"


End Sub
Private Sub cmdInsertHyperlinks\u Click()
Dim url1作为字符串,url2作为字符串
url1=“D:\tmp\test.jpg”
url2=“D:\tmp\test space.txt”
Me.rText.Value=”“&_
"" & _
“超链接之间的其他文本”&_
"" & _
""
端接头
注意:链接线程说您必须对链接进行URL编码(空格到%20等),但至少对于我的简单测试来说,这是不必要的


注2:您不能有不同的显示文本和链接url,至少我没有做到这一点。

YAY!我投了一票!我现在觉得一切都合法了。当你说“富文本文本文本框”时,你是指设置为富文本的标准文本框吗?我没有看到名为“富文本文本框”的控件。列表框呢?有没有办法在动态增长的列表框中列出链接?是的,这就是我的意思。列表框将是一个完全不同的东西,在那里你可以动态添加项目,并对单独项目的点击事件做出反应。实际上,div和A标记并没有什么区别。如果您只将值设置为“file://D:\tmp\test.jpg”,而不使用div和a标记,它将创建相同的链接。@Hill,非常感谢您--在文件名开头添加file://正是我所需要的。