这是我在这里遇到的一个非常奇怪的错误。基本上我要做的是在记录集为空时创建一个具有各种属性的新节点,并且我想将此功能放在其自己的函数中。但是当我这样做时,我得到了这个错误:
运行时错误' 13':类型不匹配
如果我不把它放在自己的功能中,一切都按预期工作。这是我的代码,其中包含产生错误的额外子例程。
If Forms("Main")!ESDNodeDetails!UseFTCheckBox Then
Dim rst As DAO.Recordset
Dim strSQL As String
strSQL = "SELECT * FROM FTNodes WHERE ESDNodeID = " & Forms("Main")!ESDNodeDetails!ESDNodeID & " ORDER BY ParentID,Sort"
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
'if the recordset is empty, there is no head node. create a new head node, then refresh the recordset
If rst.EOF Then
createHeadNode(rst) 'ERROR OCCURS ON THIS LINE
End If
......
......
End If
Private Sub createHeadNode(rst As DAO.Recordset)
rst.AddNew
With rst
.AddNew
!FTNodeType = 1
!Description = Forms("Main")!ESDNodeDetails!Description
!Sort = 1
!ESDNodeID = Forms("Main")!ESDNodeDetails!ESDNodeID
.Update
End With
End Sub
记录集正在使用的FTNodes表的结构:
表单(" Main")!ESDNodeDetails!说明是一个文本框 和 表格(" Main")!ESDNodeDetails!ESDNodeID也是一个文本框