【发布时间】:2017-03-07 12:03:24
【问题描述】:
我一直在使用表单来跟踪我的工作。该表单还处理附件。一切都很好,但由于 IT 将我的系统转换为 Windows 10,同时又将 Office 13 转换为 2016。附件功能无法正常工作。 将附件添加到新记录时,它会在没有错误的情况下完成 VBA,但会将记录保存到先前的记录中。 在以后的版本中有一些我应该知道的变化。 我正在使用一个足够简单的 rotine 来添加文件:-
Dim db As DAO.Database
Dim rsParent As DAO.Recordset2
Dim rsChild As DAO.Recordset2
Set db = CurrentDb
Set rsParent = Me.Recordset
rsParent.OpenRecordset
rsParent.Edit
Set rsChild = rsParent.Fields("Attachments").Value
rsChild.AddNew
rsChild.Fields("FileData").LoadFromFile FilePath
rsChild.Update
rsParent.Update
【问题讨论】:
-
我忘记在我的帖子中添加暗淡;暗淡 db As DAO.Database Dim rsParent As DAO.Recordset2 Dim rsChild As DAO.Recordset2
-
为什么要为父级打开记录集然后使用 .edit - 您似乎没有对它做任何事情,没有应用或更改任何值。
-
我删除了父级上的 openrecordset 但它仍然无法正常工作。如果记录保存时没有附件,我只能添加附件,并且我移动到不同的记录,然后返回到我想要添加附件的记录。
-
我复制了数据库并剥离了所有数据并使用输入表单再次添加记录。我完成了带有附件的记录一,因为这工作正常我添加了第二条记录,然后又添加了一个附件,但同样的情况,记录二中的附件被保存到记录一。
-
这很可能是Access 2016的问题。我还在2010上开发,所以无法验证是否有问题。为什么不简单地添加记录获取新 ID,然后将附件添加到该 ID 中?
标签: ms-access vba ms-access-2016