0

我正在尝试遍历记录集并将 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

也许不同的方法会更好?

编辑:

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

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

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
4

1 回答 1

1

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

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

或者使用 VBA 执行 FollowHyperlink 方法。

于 2019-10-07T20:01:32.060 回答