jag_dev
asked on
VB6+DAO+MDB_OnSharedFolder -> Error 3420: Object invalid or no longer set
Hello,
I have a vb6+dao app, mdb database on a shared folder, after a few weeks on a LAN (8 PC's network), the MDB that is about 40 MB's.
I get error 3420.
I never set rs = nothing, I never use rs.close
I suspect that this could be a corrupted database. So my question is, could error 3420 be a symptom of a corrupted database? Or just a lost connection (maybe over a wireless network?).
If it is a corruption problem, is there any tool to analyze for errors? I use compact-repair but it never tells what kind of problems it found. So I would like a better tool/alternative.
Any help would be great!!
Thank you!!
I have a vb6+dao app, mdb database on a shared folder, after a few weeks on a LAN (8 PC's network), the MDB that is about 40 MB's.
I get error 3420.
I never set rs = nothing, I never use rs.close
I suspect that this could be a corrupted database. So my question is, could error 3420 be a symptom of a corrupted database? Or just a lost connection (maybe over a wireless network?).
If it is a corruption problem, is there any tool to analyze for errors? I use compact-repair but it never tells what kind of problems it found. So I would like a better tool/alternative.
Any help would be great!!
Thank you!!
ASKER
jimhorn,
Well I do destroy my objects, but there is no destroy before the 3420 error.
So, is error 3420 an indication for corruption, or is it common for other things?
thanks
Well I do destroy my objects, but there is no destroy before the 3420 error.
So, is error 3420 an indication for corruption, or is it common for other things?
thanks
Not sure. What's the description of the error message you are receiving?
ASKER
The problem is that it is on an exe, not even at my office. And I haven't been able to reproduce the error at IDE, or in my computer.
Because of the logger I have, I know what executes before, and there is no =nothing. So I do not know why I get an error indicating that the recordset is invalid or no longer set!!!!
I always feel creepy when asking MDB questions... I wish it didn't exist.
ASKER
the error source is DAO.Recordset
ASKER
This page contanis corruption symptoms:
http://www.granite.ab.ca/access/corruption/symptoms.htm
but... what about 3420?
Could it be a corruption symptom?
thnks,
jag
http://www.granite.ab.ca/access/corruption/symptoms.htm
but... what about 3420?
Could it be a corruption symptom?
thnks,
jag
Corruption can be a number of issues, and unfortunately Access does not have any documentation on it.
My guess though is that if you can prove that the error occurs at a line of code that has DAO.Recordset, then it's probably either a coding error, or an uninstall-reinstall version(ing) of DAO error.
My guess though is that if you can prove that the error occurs at a line of code that has DAO.Recordset, then it's probably either a coding error, or an uninstall-reinstall version(ing) of DAO error.
ASKER
well, i would really appreciate if somebody has an extra cule about 3420 & corruption.
I will install jet 4.0 sp8, and get back to this forum... maybe you are right jimhorn. maybe it needs a reinstall.
(in the meantime, if somebody has a code or vbp usefull to prove or check for a corrupted database... please let me know. [this is so i can send an exe to the client that returns true or false if corrupted or not.])
htnks..
I will install jet 4.0 sp8, and get back to this forum... maybe you are right jimhorn. maybe it needs a reinstall.
(in the meantime, if somebody has a code or vbp usefull to prove or check for a corrupted database... please let me know. [this is so i can send an exe to the client that returns true or false if corrupted or not.])
htnks..
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Bad programmer. Always destroy your objects after you're done using them to prevent database bloat.
>If it is a corruption problem
Access often does not give you an exact error message when requiring a repair-compact, as the process is a catch-all for all errors, and sadly there is no alternative.
You can, however, write VB6 code that automatically does a repair-compact on your mdb every x vb app startups.