如何在微软访问中获取显示在表单中的超链接?

时间:2017-03-16 15:34:16

标签: sql database ms-access hyperlink access-vba

这个问题有两个部分:

第1部分:现在我有一个表格,可以从表格上传,插入和删除。我想将最后一个文本框链接到超链接。

使用此代码适用于超链接(请参阅下文并查看:Access - Hyperlinks Aren't Linking),但现在我需要更改文本,例如"打开附件"而不是文件位置。对于按钮,我知道这是通过使用" .Caption"但更改文本框文本并保留刚刚插入的超链接的代码是什么?

Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogOpen)
    With fd
    .AllowMultiSelect = False
    .Title = " Please select file"
        If .Show = True Then
            Selectfile = .SelectedItems(1)
            Me.txtHyperlink = "#" & Selectfile & "#"
        Else
            Exit Function
        End If
        Set fd = Nothing
 End With

第2部分:每当我插入文件路径时,该文件也会在另一个窗口中打开。我想要停止并只是链接到文件并更改文本框以说出"附件",但也保留链接。

1 个答案:

答案 0 :(得分:1)

第1部分:审核http://www.allenbrowne.com/casu-09.html
超链接条目包含由井号(#)分隔的三个部分。模板是:     显示文本#文件名#文件中的任何引用

Me.txtHyperlink = "Open Attachment#" & Selectfile & "#"  

Textbox IsHyperlink属性必须设置为Yes。

第2部分:不太了解这个问题 你打开什么样的文件?什么样的窗户打开?可能需要使用FollowHyperlink - 审核http://allenbrowne.com/func-GoHyperlink.html
我遇到过FollowHyperlink无法工作的情况,因此使用了Shell方法:

Dim wsShell As Object  
Set wsShell = CreateObject("WScript.Shell")  
wsShell.Run Chr(34) & Me.tbxLink & Chr(34)