Running an Access 2000 database in Access 2003

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Today I experienced an 'Run time 94' error while accessing a form in an
Access 2000 database after having updated my version of Office 2000 to Office
2003. It seems that the default value of yes/no fields are different in the
two versions, causing the error. We ran separate copies of the exact same
database in 2000 and 2003 and the error occurred only in the 2003 version. We
accessed the form 3 different ways in both environments and got the same
results (the error). Anyone with a similar experience or any thoughts on the
best way to approach fixing the error? We would like to avoid fixing the code
line by line if possible...
 
The default value of a Jet Yes/No field has not changed, it is still zero
(False). The value of a Yes/No field is never Null (error 94 is 'invalid use
of Null'). We'll likely need more information about how and where the error
is occurring before we can help.

Is SQL Server (or MSDE) involved at all? A SQL Server bit field, unlike a
Jet Yes/No field, can be Null.

--
Brendan Reynolds (MVP)
http://brenreyn.blogspot.com

The spammers and script-kiddies have succeeded in making it impossible for
me to use a real e-mail address in public newsgroups. E-mail replies to
this post will be deleted without being read. Any e-mail claiming to be
from brenreyn at indigo dot ie that is not digitally signed by me with a
GlobalSign digital certificate is a forgery and should be deleted without
being read. Follow-up questions should in general be posted to the
newsgroup, but if you have a good reason to send me e-mail, you'll find
a useable e-mail address at the URL above.
 
I have many 2000/2002 apps that clients run under Access 2003 and have not
encountered that problem. Have you tried converting the MDB to 2003
(Tools-Database Utilities-Convert)?
-Ed
 
The error occurred when trying to open a form created for data input for
multiple users (though not all at once...). I didn't do any of the
programming, so I probably won't be able to provide you with all the info.
you might need, but the form itself would not open, giving the 'error 94'
message instead. The form worked fine up mid-week last week. When I started
managing the database, my office was using Office 2000. About two weeks ago,
we updated all of our systems to 2003. The problem didn't occur immediately,
which seems strange to me, but I'm fairly new at this. The gentleman who did
the programming looked at it last Thursday and he thought it was a problem
with the 'yes/no' default in 2003. He changed the code for that form based on
that assessment and got it to work. Today we can't get into the database at
all. Does any of this make sense to you? I'd appreciate your thoughts...
 
I haven't tried converting it yet, but now we can't access the database at
all. None of this makes any sense to me from what I know about how programs
usually behave. I should have mentioned in my post to Brendan Reynolds that
the error message that I'm getting now is that "The [database] needs to be
repaired or isn't a Microsoft Access database file" and "You may have quit
Microsoft Office Access unexpectedly with the database open". To my
knowledge, the latter situation did not happen. I am not the only one with
access to the database, so who knows? I don't understand the implications of
compressing the database, so I haven't run the repair tool yet, either.

I'd appreciate your thoughts...

-Lori
 
Sorry to make multiple posts before giving you a chance to respond, but I was
just checking over notes I took while the database programmer was here and he
told me the exact opposite of what Brendan wrote. He said that the default
value is now 'No' (2003), where it used there used to be no value (neither
yes, nor no) in 2000. This is what he thinks is causing the 'Run Time 94'
error when opening the form (he's on vacation this week, so I can't consult
with him). I can only say that I am very confused...
 
Definitely run the repair tool. It will usually fix databases so they can be
opened again. Compacting is like defragging your database. It rewrites the
indexes (or indices) that it is using and gets rid of all the dead space from
where you have deleted records. I usually have mine compact on close (an
option under Tools/Options).

jetercat said:
I haven't tried converting it yet, but now we can't access the database at
all. None of this makes any sense to me from what I know about how programs
usually behave. I should have mentioned in my post to Brendan Reynolds that
the error message that I'm getting now is that "The [database] needs to be
repaired or isn't a Microsoft Access database file" and "You may have quit
Microsoft Office Access unexpectedly with the database open". To my
knowledge, the latter situation did not happen. I am not the only one with
access to the database, so who knows? I don't understand the implications of
compressing the database, so I haven't run the repair tool yet, either.

I'd appreciate your thoughts...

-Lori


Ed Robichaud said:
I have many 2000/2002 apps that clients run under Access 2003 and have not
encountered that problem. Have you tried converting the MDB to 2003
(Tools-Database Utilities-Convert)?
-Ed
 
That is incorrect. When you create a new Yes/No field, the Default Value
property appears blank in Access 2003, just as it did in earlier versions.
You don't have to take anyone's word for this, you can easily verify it for
yourself - create a new MDB, create a table, add a Yes/No field and look at
the Default Value property.

But a Jet Yes/No field can only contain one of two possible values, True or
False. Unlike most other fields, a Jet Yes/No field never contains a Null
value. Even if you explicitly assign a Null value to the field, Jet
implicitly converts it to False. What this means is that the end result of
having no default value is exactly the same as having a default value of No,
False, or 0.

Note that this applies to the *field* in the table, not necessarily to the
control bound to that field on the form.

There's probably not much more that I can do to help without seeing the
code.

--
Brendan Reynolds (MVP)
http://brenreyn.blogspot.com

The spammers and script-kiddies have succeeded in making it impossible for
me to use a real e-mail address in public newsgroups. E-mail replies to
this post will be deleted without being read. Any e-mail claiming to be
from brenreyn at indigo dot ie that is not digitally signed by me with a
GlobalSign digital certificate is a forgery and should be deleted without
being read. Follow-up questions should in general be posted to the
newsgroup, but if you have a good reason to send me e-mail, you'll find
a useable e-mail address at the URL above.
 
Thanks for the suggestion. We ended up restoring a backup copy of the
database... If it happens again, I'll run the repair.

Margaret said:
Definitely run the repair tool. It will usually fix databases so they can be
opened again. Compacting is like defragging your database. It rewrites the
indexes (or indices) that it is using and gets rid of all the dead space from
where you have deleted records. I usually have mine compact on close (an
option under Tools/Options).

jetercat said:
I haven't tried converting it yet, but now we can't access the database at
all. None of this makes any sense to me from what I know about how programs
usually behave. I should have mentioned in my post to Brendan Reynolds that
the error message that I'm getting now is that "The [database] needs to be
repaired or isn't a Microsoft Access database file" and "You may have quit
Microsoft Office Access unexpectedly with the database open". To my
knowledge, the latter situation did not happen. I am not the only one with
access to the database, so who knows? I don't understand the implications of
compressing the database, so I haven't run the repair tool yet, either.

I'd appreciate your thoughts...

-Lori


Ed Robichaud said:
I have many 2000/2002 apps that clients run under Access 2003 and have not
encountered that problem. Have you tried converting the MDB to 2003
(Tools-Database Utilities-Convert)?
-Ed

Today I experienced an 'Run time 94' error while accessing a form in an
Access 2000 database after having updated my version of Office 2000 to
Office
2003. It seems that the default value of yes/no fields are different in
the
two versions, causing the error. We ran separate copies of the exact same
database in 2000 and 2003 and the error occurred only in the 2003 version.
We
accessed the form 3 different ways in both environments and got the same
results (the error). Anyone with a similar experience or any thoughts on
the
best way to approach fixing the error? We would like to avoid fixing the
code
line by line if possible...
 
Thanks for the help, Brendan. I'm sure there is some aspect of it that I'm
not understanding or communicating correctly. When I know more, I'll post
again.

j-cat
 
Back
Top