PC Review Forums Newsgroups Microsoft Access Microsoft Access VBA Modules can't open recordset

Reply

can't open recordset

 
Thread Tools Rate Thread
Old 31-07-2007, 08:06 PM   #1
=?Utf-8?B?RnJlZHJhdGVk?=
Guest
 
Posts: n/a
Default can't open recordset


I've used this code a thousand times, but now I get a 'type mismatch' error
at the command 'set rs = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)'.
This is in a new access database.
(yeah I know, currentdb is temporary but it works)


Private Sub Command0_Click()
Dim rs As Recordset
Dim strSQL As String

strSQL = "SELECT ACTIAImport.* FROM ACTIAImport;"

Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
rs.MoveFirst
'etcetc

End Sub

As in every other case, I have tools>references:
Visual Basic for Applications
Microsoft Access 10.0 object library
Microsoft DAO 3.6 object library
OLE Automation
Micorsoft ActiveX Data Objects 2.8 Library

Compile doesn't have any problems with it, and when I copy the code into a
working database it works fine.

What am I missing?

Thanks
  Reply With Quote
Old 31-07-2007, 08:18 PM   #2
Douglas J. Steele
Guest
 
Posts: n/a
Default Re: can't open recordset

Even though you have DAO higher in the list than ADO, see whether changing

Dim rs As Recordset

to

Dim rs As DAO.Recordset

makes a difference.

--
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)


"Fredrated" <Fredrated@discussions.microsoft.com> wrote in message
news:8F3E359C-C407-4D1D-8EC0-B45BF910C125@microsoft.com...
> I've used this code a thousand times, but now I get a 'type mismatch'
> error
> at the command 'set rs = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)'.
> This is in a new access database.
> (yeah I know, currentdb is temporary but it works)
>
>
> Private Sub Command0_Click()
> Dim rs As Recordset
> Dim strSQL As String
>
> strSQL = "SELECT ACTIAImport.* FROM ACTIAImport;"
>
> Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
> rs.MoveFirst
> 'etcetc
>
> End Sub
>
> As in every other case, I have tools>references:
> Visual Basic for Applications
> Microsoft Access 10.0 object library
> Microsoft DAO 3.6 object library
> OLE Automation
> Micorsoft ActiveX Data Objects 2.8 Library
>
> Compile doesn't have any problems with it, and when I copy the code into a
> working database it works fine.
>
> What am I missing?
>
> Thanks



  Reply With Quote
Old 31-07-2007, 08:22 PM   #3
=?Utf-8?B?RnJlZHJhdGVk?=
Guest
 
Posts: n/a
Default RE: can't open recordset

Never mind, I just opened a new database, copied what I want into it and it
now works fine. I ran compact/repair on the original failing database but
that didn't help. Who knows why it fails, probably something internal got
messed up.

"Fredrated" wrote:

> I've used this code a thousand times, but now I get a 'type mismatch' error
> at the command 'set rs = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)'.
> This is in a new access database.
> (yeah I know, currentdb is temporary but it works)
>
>
> Private Sub Command0_Click()
> Dim rs As Recordset
> Dim strSQL As String
>
> strSQL = "SELECT ACTIAImport.* FROM ACTIAImport;"
>
> Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
> rs.MoveFirst
> 'etcetc
>
> End Sub
>
> As in every other case, I have tools>references:
> Visual Basic for Applications
> Microsoft Access 10.0 object library
> Microsoft DAO 3.6 object library
> OLE Automation
> Micorsoft ActiveX Data Objects 2.8 Library
>
> Compile doesn't have any problems with it, and when I copy the code into a
> working database it works fine.
>
> What am I missing?
>
> Thanks

  Reply With Quote
Reply



Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off