ms access 中的记录集定义类型不匹配

type mismatch in recordset definition in ms access

这是我的代码:

Dim thisCase As Integer
Dim thisIssueID As Integer
Dim provCase As Integer
Dim rst As Recordset

thisCase = Forms!frmCases.CaseID
thisIssueID = Forms!frmCases![frmissues subform].Form!IssueID

Set rst = CurrentDb.OpenRecordset("select tblissues.caseid from tblcases inner join tblissues on tblcases.caseid = tblIssues.caseid where tblIssues.IssueID = " & thisIssueID) 'CStr(Forms!frmCases![frmissues subform].Form!IssueID))
rst.MoveLast
rst.MoveFirst

继续为 "Set rst =" 行带回 "Type Mismatch"。我将 运行 记录集定义作为查询(在删除双引号和 & 之后)并且它 运行.

两个被等同的字段是相同的数据类型(好的自动编号和数字)。但查询有效。我尝试使用 + 而不是 & 但这没有帮助。

有什么想法吗?

此外,在代码中,我生成了以下字符串来代替使用:

select tblissues.caseid from tblcases inner join tblissues on tblcases.caseid = tblIssues.caseid where tblIssues.IssueID = 24255

这在查询中有效,但是当我将包含字符串的变量放入记录集定义时,我仍然得到 "Type Mismatch"。如果我尝试在末尾用单引号括起值,我会得到 "Data Type Mismatch",所以显然它不是数据类型不匹配。

根据dbmitch的建议 应该有明确的声明:

Dim rst as DAO.Recordset

而不是:

Dim rst as Recordset