首页 > 解决方案 > .AddNew Record 与多选组合框

问题描述

我有一个表,用户可以在其中存储图像的文件目录,并且可以通过将项目添加到“relatesTo”字段(表中的多选查找字段)将这些图像与某个项目相关联。但是,例如,如果我想自动将这些图像添加到特定项目......

Dim fd As FileDialog
Dim FileChosen As Integer
Dim FileName As String
Dim i As Integer

Set fd = Application.FileDialog(msoFileDialogFilePicker)
    fd.InitialFileName = Application.CurrentProject.Path
    fd.InitialView = msoFileDialogViewList
    fd.AllowMultiSelect = True

FileChosen = fd.Show

If FileChosen = -1 Then

    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("ManufacturingImages", dbOpenDynaset)

    For i = 1 To fd.SelectedItems.Count
        With rst
            .AddNew
                !imagePath = fd.SelectedItems(i)
                !dateTaken = Date
                !relatesTo = 29 ' Will change dependant upon the selection
            .Update
        End With
    Next i

    rst.Close
    Set rst = Nothing

End If

这里的问题是由于 'relatesTo 是一个多选字段,以下代码导致错误;64224:对象“Recordset2”的方法“收集”失败。

我说我需要将“relatesTo”指定为单独的记录集是正确的,还是我只是语法错误?我试过做这样的事情,但没有成功。此外,“relatesTo”只是指名为 products 的表中项目的 autoID。

此外,我知道一个简单的解决方法是有一个单独的表作为这个组合框,在那里我会有多对多的关系,但我想了解如何让它工作。

标签: vbams-access

解决方案


推荐阅读