Object invalid or no longer set error involving database object. H

R

rhc

im running access 2003 on xp. i have started seeing this bug in somve vba
routines where if I declare a dao database object then:
Set D = currentdb()
Set R = D.recordset(sSQL,dbOpenDynaset,dbSeeChanges)
loop through R updating rows.
R.close
Set RD.openrecordset(sSQL,dbOpenDynaset,dbSeeChanges)
Here I get the Object invalid or no longer set error. The database object D
seems to have become uninstantiated for no apparent reason. The only thing
that has changed recently in the code is the addition of the dbSeeChanges in
the recordset statements. I add these in to make the UI mdb the code is in
compatible with a sql server 2005 backend that im in the process of
developing. to be clear the above error happens wihen linked to the original
access mdb backend.
Could deSeeChanges cause this?
Is there a size limitation on the modules associated with forms? The ui mdb
as a lot of stuff in it but ithe file size is still only 12MB

Help!!!!
 
A

Allen Browne

What's RD?
You have not set that to anything.

You've not included all of your code, but add the line:
Option Explicit
to the top of this module. Then choose Compile on the Debug menu. This
should catch RD as an undeclared variable.
 
R

rhc

thanks for the response. no thats not the problem all the variables have been
declared. i was just trying to be brief. Option Explicit is set.
Dim D As DAO.Database
Dim R As DAO.Recordset
Dim RD As DAO.Recordset
 
R

rhc

btw D is set with
Set D = currentdb()


Allen Browne said:
What's RD?
You have not set that to anything.

You've not included all of your code, but add the line:
Option Explicit
to the top of this module. Then choose Compile on the Debug menu. This
should catch RD as an undeclared variable.
 
R

rhc

apologies
im working on to many things at once. when I have time later today I will
post all the exact code. In the meantime can you tell me is there a size
limitation for form vba modules?
thanks
Bob
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top