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
这是我的代码:
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