Ms access 访问:运行时错误13类型不匹配
我在以下代码的末尾遇到运行时错误13:Ms access 访问:运行时错误13类型不匹配,ms-access,Ms Access,我在以下代码的末尾遇到运行时错误13: Sub plausibilitaet_check() Dim rs As DAO.Recordset Dim rs2 As ADODB.Recordset Dim db As database Dim strsql As String Dim strsql2 As String Dim tdf As TableDef Set db = opendatabase("C:\Codebook.mdb") Set rs = db.OpenRecordse
Sub plausibilitaet_check()
Dim rs As DAO.Recordset
Dim rs2 As ADODB.Recordset
Dim db As database
Dim strsql As String
Dim strsql2 As String
Dim tdf As TableDef
Set db = opendatabase("C:\Codebook.mdb")
Set rs = db.OpenRecordset("plausen1")
Set rs2 = CreateObject("ADODB.Recordset")
rs2.ActiveConnection = CurrentProject.Connection
For Each tdf In CurrentDb.TableDefs
If Left(tdf.Name, 4) <> "MSys" Then
rs.MoveFirst
strsql = "SELECT * From [" & tdf.Name & "] WHERE "
Do While Not rs.EOF
On Error Resume Next
strsql2 = "select * from table where GHds <> 0"
Set rs2 = CurrentDb.OpenRecordset(strsql2)
次合理性检查()
Dim rs作为DAO.Recordset
将rs2设置为ADODB.记录集
dimdb作为数据库
作为字符串的Dim strsql
作为字符串的Dim strsql2
将tdf调暗为TableDef
Set db=opendatabase(“C:\Codebook.mdb”)
Set rs=db.OpenRecordset(“plausen1”)
Set rs2=CreateObject(“ADODB.Recordset”)
rs2.ActiveConnection=CurrentProject.Connection
对于CurrentDb.TableDefs中的每个tdf
如果左(tdf.Name,4)“MSys”,则
先走一步
strsql=“从[”&tdf.Name&“]WHERE中选择*”
做而不做
出错时继续下一步
strsql2=“从GHds 0所在的表中选择*
Set rs2=CurrentDb.OpenRecordset(strsql2)
错误发生在Set rs2=CurrentDb.OpenRecordset(strsql2)处
有人能看出我的错误吗?CurrentDB.OpenRecordset返回DAO.Recordset的实例。您正在尝试将结果分配给ADODB.Recordset 将rs2定义更改为
作为DAO.Recordset的dim rs2
CurrentDB.OpenRecordset返回DAO.Recordset的实例。您正在尝试将结果分配给ADODB.Recordset
将rs2定义更改为
作为DAO.Recordset的dim rs2
您将ADO和DAO混为一谈。在这种情况下,rs2应该是DAO记录集
Sub plausibilitaet_check()
Dim rs As DAO.Recordset
Dim rs2 As DAO.Recordset
Dim db As database
Dim strsql As String
Dim strsql2 As String
Dim tdf As TableDef
Set db = opendatabase("C:\Codebook.mdb")
Set rs = db.OpenRecordset("plausen1")
For Each tdf In CurrentDb.TableDefs
If Left(tdf.Name, 4) <> "MSys" Then
rs.MoveFirst
strsql = "SELECT * From [" & tdf.Name & "] WHERE "
Do While Not rs.EOF
On Error Resume Next
strsql2 = "select * from table where GHds <> 0"
Set rs2 = CurrentDb.OpenRecordset(strsql2)
次合理性检查()
Dim rs作为DAO.Recordset
作为DAO.Recordset的Dim rs2
dimdb作为数据库
作为字符串的Dim strsql
作为字符串的Dim strsql2
将tdf调暗为TableDef
Set db=opendatabase(“C:\Codebook.mdb”)
Set rs=db.OpenRecordset(“plausen1”)
对于CurrentDb.TableDefs中的每个tdf
如果左(tdf.Name,4)“MSys”,则
先走一步
strsql=“从[”&tdf.Name&“]WHERE中选择*”
做而不做
出错时继续下一步
strsql2=“从GHds 0所在的表中选择*
Set rs2=CurrentDb.OpenRecordset(strsql2)
您将ADO和DAO混为一谈。在这种情况下,rs2应该是DAO记录集
Sub plausibilitaet_check()
Dim rs As DAO.Recordset
Dim rs2 As DAO.Recordset
Dim db As database
Dim strsql As String
Dim strsql2 As String
Dim tdf As TableDef
Set db = opendatabase("C:\Codebook.mdb")
Set rs = db.OpenRecordset("plausen1")
For Each tdf In CurrentDb.TableDefs
If Left(tdf.Name, 4) <> "MSys" Then
rs.MoveFirst
strsql = "SELECT * From [" & tdf.Name & "] WHERE "
Do While Not rs.EOF
On Error Resume Next
strsql2 = "select * from table where GHds <> 0"
Set rs2 = CurrentDb.OpenRecordset(strsql2)
次合理性检查()
Dim rs作为DAO.Recordset
作为DAO.Recordset的Dim rs2
dimdb作为数据库
作为字符串的Dim strsql
作为字符串的Dim strsql2
将tdf调暗为TableDef
Set db=opendatabase(“C:\Codebook.mdb”)
Set rs=db.OpenRecordset(“plausen1”)
对于CurrentDb.TableDefs中的每个tdf
如果左(tdf.Name,4)“MSys”,则
先走一步
strsql=“从[”&tdf.Name&“]WHERE中选择*”
做而不做
出错时继续下一步
strsql2=“从GHds 0所在的表中选择*
Set rs2=CurrentDb.OpenRecordset(strsql2)
实际上,我正试图修改线程“如何在access中运行查询循环”中给出的代码,因此我将遵循这个条件,如rs2。打开strSQL&&&rs![查询]我想这只能通过ADO完成。您需要整理代码并为每个记录集设置合适的记录集类型。我在该线程中提供的示例代码涉及使用ADO模式来获取包含特定字段的表,以避免出现错误。ADO记录集可能不是必需的。我可以使用rs2吗?打开strSQL&“&rs!”![query]在DAO中,是否可以以我认为你的意思的方式查询记录集,但如果没有一个示例,很难说你想做什么。实际上,我正在尝试修改线程“如何在access中运行查询循环”中给出的代码,因此我将遵循这个条件,如rs2。打开strSQL&&&rs![查询]我想这只能通过ADO完成。您需要整理代码并为每个记录集设置合适的记录集类型。我在该线程中提供的示例代码涉及使用ADO模式来获取包含特定字段的表,以避免出现错误。ADO记录集可能不是必需的。我可以使用rs2吗?打开strSQL&“&rs!”![query]在DAOor中,是否有可能以我认为您的意思的方式查询记录集,但如果没有示例说明您想做什么,就很难说了。