如何将记录集中的文本框的值设置为超链接地址?

时间:2019-10-07 16:32:27

标签: vba ms-access access-vba ms-access-forms

我试图遍历记录集并将txtC1返回的值设置为每个记录的超链接地址。

这是我到目前为止提出的代码:

sqlqry = "Select A1, B1, C1 From Table"

Me.Form1.Form.txtC1.SetFocus
i = 0
rs.Open sqlqry, cn, adOpenDynamic, adLockReadOnly
With rs
Do
    Do Until rs.EOF
    i = i + 1
        If rs.EOF Then
            Exit Do
        End If
    Me.Form1.Form.txtC1.HyperlinkAddress = Me.Form1.Form.txtC1.Text
    rs.MoveNext
    Loop
Loop Until rs.EOF
End With

我遇到了错误:

  

对象不支持此属性或方法。

在线

Me.Form1.Form.txtC1.HyperlinkAddress = Me.Form1.Form.txtC1.Text

也许使用其他方法会更好?

编辑:

弄乱了一些内容之后,我已经能够使用标签和隐藏的文本框为所有记录设置超链接。但是,不是将每次循环的超链接目标更改为隐藏文本框的值,而是将每个链接设置为第一个文本框的值。

我试图通过使用ADO Field对象实现一个for each循环,以更改每个记录的链接,但是我不确定如何告诉它要查看哪个字段。这是新代码

i = 0
rs.Open sqlqry, cn, adOpenDynamic, adLockReadOnly
With rs
Do
    Do Until rs.EOF
    i = i + 1
    hLink = Me.Form1.Form.txtC1.Value
        If rs.EOF Then
            Exit Do
        End If
   Me.Form1.Form.lbl.HyperlinkAddress = hLink
    rs.MoveNext
    Loop
Loop Until rs.EOF
End With

1 个答案:

答案 0 :(得分:1)

Access超链接由3个部分组成,这些部分由#字符(http://allenbrowne.com/casu-09.html)分隔。如果文本字段的字符串符合第二部分结构之一,例如文件路径或URL字符串,则文本框可以是可单击的超链接,其IsHyperlink属性设置为Yes,并且在ControlSource中表示:

="Click to Open File#" & Me!fieldname & "#"

或使用VBA执行FollowHyperlink方法。