我搜索了这个类似的问题。我每个字段有多个附件。我打算使用该字段来存储两个图像控件的 .jpg 和 .pdf 文件,这两个图像控件是通过将字段从属性拖到表单中创建的。我将它们命名为 ctlImage 和 ctlFeatures。我将此表单用作产品目录表单上更多信息按钮的非模态弹出窗口。到目前为止,我能够在产品目录中搜索记录并使用选定的列表框搜索结果打开带有 where 子句的表单,以将详细信息表单设置为当前记录。当我尝试操纵 ctlImage 寻找图像类型时,在智能感知中显示的唯一属性是 ctlImage.value。我希望将 ctlImage 分配给 jpg 并将 ctlFeatures 分配给 pdf 这是 frmProducts btnMoreInfo_Click 代码和 frmCatalogDetails 代码,以防万一弄乱了另一个。
Private Sub btnMoreInfo_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim str As String
Dim row As Long
Set db = CurrentDb
Set rs = db.OpenRecordset("tblProducts", dbOpenSnapshot)
If Me.lstSearchResults.ItemsSelected.Count > 0 Then
' Debug.Print Me.lstSearchResults.Column(0)
row = Me.lstSearchResults.Column(0)
rs.MoveFirst
rs.FindFirst "ProductID=" & row
Debug.Print rs("Description")
DoCmd.OpenForm "frmCatalogDetails", acNormal, , "ProductID=" & Me.lstSearchResults.Column(0, Me.lstSearchResults.ItemsSelected), acFormReadOnly, acWindowNormal
Else
MsgBox "You must select a product"
Exit Sub
End If
End Sub
和目录详细信息
Option Compare Database
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim fld As DAO.Field
Private Sub Form_Load()
Set db = CurrentDb
'Set rs = db.OpenRecordset("tblProducts", dbOpenSnapshot)
'Set fld = rs("image")
Debug.Print rs("ProductID")
Debug.Print rs("Description")
'me.ctlImage.ControlSource =
'Me.ctlImage.CurrentAttachment = fld.Value
End Sub
rs 语句被注释掉了,因为我无法识别父表单中的 rs。我得到一个未设置的块变量,但如果我执行 rs.openRecordSet 则记录集将返回到第一行。除了您上面的回答之外,我几乎没有看到有关操纵附件对象的信息,而且帮助一直很困难,因为它甚至不包括在附件字段内的访问。在这个话题上,我会做更多的提问而不是回答,我非常感谢你们中的许多人花时间来制定答案。罗林格言:在需要时寻求帮助,在被要求时提供帮助,并记住你来自哪里。