我试图遍历记录集并将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
答案 0 :(得分:1)
Access超链接由3个部分组成,这些部分由#字符(http://allenbrowne.com/casu-09.html)分隔。如果文本字段的字符串符合第二部分结构之一,例如文件路径或URL字符串,则文本框可以是可单击的超链接,其IsHyperlink属性设置为Yes,并且在ControlSource中表示:
="Click to Open File#" & Me!fieldname & "#"
或使用VBA执行FollowHyperlink方法。