You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS Access:如何用msoFileDialogFolderPicker将链接存入其他表字段

Access中引用跨表字段并保存文件夹超链接的解决方案

核心说明

在Access里,引用其他表的字段分两种场景,取决于表单是否和目标表绑定:

场景1:表单已绑定包含目标字段的记录源

如果你的表单RecordSource已经是包含Characterization results表的查询(比如直接用该表作为记录源),无需额外表名前缀,直接通过Me![字段名]引用即可。

注意你代码里的拼写错误:Charactisation应为Characterization,修正后写法如下:

Me![PL Reports] = "#" & .SelectedItems(1) & "#"

场景2:表单未绑定目标表,需直接操作表

如果表单和Characterization results表无绑定关系,需要用DAO记录集直接写入数据:

Private Sub Load_HyperlinkBTN_Click()
    Const msoFileDialogFolderPicker As Long = 4
    Dim fd As Object
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim folderPath As String

    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    With fd
        .Title = "选择附件文件夹"
        If .Show = -1 Then
            folderPath = .SelectedItems(1)
            ' 打开目标表的记录集
            Set db = CurrentDb
            Set rs = db.OpenRecordset("[Characterization results]", dbOpenDynaset)
            ' 添加新记录并写入超链接
            rs.AddNew
            rs![PL Reports] = "#" & folderPath & "#"
            rs.Update
            ' 释放对象
            rs.Close
            Set rs = Nothing
            Set db = Nothing
        End If
    End With
    Set fd = Nothing
End Sub

关键注意事项

  • Access超链接字段必须用#包裹路径,这部分你的代码逻辑是正确的
  • 表名或字段名含空格时,必须用方括号[]包裹(如[Characterization results]、[PL Reports])
  • 若需更新现有记录而非新增,将rs.AddNew替换为记录定位逻辑(比如rs.FindFirst)

内容的提问来源于stack exchange,提问作者David Memram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 10:32:40