首页 > 解决方案 > MS Access 电子邮件表超链接

问题描述

我创建了一个表,我根据 MS Access 中的查询通过电子邮件发送该表,其中一个字段是指向我们服务器上文件的超链接。当模块运行并在 Outlook 中创建表时,超链接只是文件在服务器上的文本。我在 HTML 方面不是那么强,所以我很难调试为什么我不能让那个字段来创建超链接,而不仅仅是文件位置作为文本。我尝试在下面为“DRAWING LINK”在电子邮件表中创建一个超链接:

        "<tr>" & _
"<td bgcolor='#7EA7CC'>&nbsp;<b>Job Number</b></td>" & _
"<td bgcolor='#7EA7CC'>&nbsp;<b>Stock Number</b></td>" & _
"<td bgcolor='#7EA7CC'>&nbsp;<b>Material and Spec</b></td>" & _
"<td bgcolor='#7EA7CC'>&nbsp;<b>Order Size</b></td>" & _
"<td bgcolor='#7EA7CC'>&nbsp;<b>Days In Processing</b></td>" & _
"<td bgcolor='#7EA7CC'>&nbsp;<b>Drawing Link</b></td>" & _
"</tr>"

i = 0

Do While Not rs.EOF

If (i Mod 2 = 0) Then
rowColor = "<td bgcolor='#FFFFFF'>&nbsp;"
Else
rowColor = "<td bgcolor='#E1DFDF'>&nbsp;"
End If

strMsg = strMsg & "<tr>" & _
rowColor & rs.Fields("Job Number") & "</td>" & _
rowColor & rs.Fields("Commodity Code") & "</td>" & _
rowColor & rs.Fields("Spec") & "</td>" & _
rowColor & rs.Fields("Ord") & "</td>" & _
rowColor & rs.Fields("Idle") & "</td>" & _
rowColor & rs.Fields "<a href="("Drawing Link")" & "</a>""</td>" & _ ***MY HTML WONT CREATE THE HYPERLINK***
"</tr>"

标签: htmlvbams-access

解决方案


访问超链接字段将超链接存储为由 # 字符分隔的 3 部分值(查看http://allenbrowne.com/casu-09.html):
display text#filename#any reference within the file

嵌入 HTML 标签需要提取中间部分。使用内部函数 HyperlinkPart() 进行计算可以实现这一点。在查询或 VBA 中进行提取。

字符串连接的正确语法:

rowColor & "<a href='" & HyperlinkPart(rs![Drawing Link], acAddress) & "'>Click Here</a></td>" & _

如果 Hyperlink 字段在 Display Text 部分有内容,可以再次使用 HyperlinkPart() 函数从字段中提取并连接来代替Click Here


推荐阅读