MS Access运行时错误3162

时间:2017-07-25 16:31:21

标签: ms-access access-vba ms-access-2013

我尝试使用此代码将文件复制到新文件夹,并将文件路径/名称添加到tblFileAttachments中的DocName列。

当我选择要添加的文件时,我不断收到此错误"运行时错误3162 ...您试图将Null值分配给不是Variant数据类型的变量。"

以下是我的表格

tblFileAttachments
 - DocID
 - DocName
 - RequestID_FK

tblRequests
 - RequestID
 - PFName
 - PLName
 - PBusinessName

我有一个基于tblFileAttachments的表单,其中包含DocID,DocName和RequestID_FK字段。我还有一个"添加文件"按钮,代码如下:

Private Sub btnAttachFile_Click()
Dim rsFile As DAO.Recordset
Dim strFilePath As String, strFilename As String
strFilePath = fSelectFile()
If strFilePath & "" <> "" Then
strFilename = Mid(strFilePath, InStrRev(strFilePath, "\") + 1)
With CurrentDb.OpenRecordset("tblFileAttachments")
    .AddNew
    !DocID = Me.DocID
    !FilePath = strFilePath
    !FileName = strFilename
    .Update
End With
End If
End Sub

调试错误,突出显示

!DocID = Me.DocID

1 个答案:

答案 0 :(得分:0)

DocID可能是自动编号列?

然后在创建新记录时根本不分配它,只需忽略这一行:

!DocID = Me.DocID

ID将自动生成。