By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,694 Members | 2,050 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,694 IT Pros & Developers. It's quick & easy.

A2003 - option to convert

P: n/a
Can someone familiar with Access 2003 please answer this question? I am
asking because I don't have the use of A2003. When Access 2003 finds an
Access 2000 database, does it come up with some sort of question/suggestion
indicating that you can convert this datbase into the new format? I am
trying to trouble shoot a remote site where a big error message indicating
the database was converted using the wrong method comes up when they try to
open an Access 2000 database with either Access 2000 or Access 2002. AFAIK,
there may be a small number of computers on-site using Acess 2003. Is it
possible that someone has inadvertently converted the database into a format
unreadable by earlier copies of Access?

I thought of corruption, but this has happened to 2 different databases on
the same site in less than 2 weeks! Co-incidence?

dixie
Nov 13 '05 #1
Share this Question
Share on Google+
12 Replies


P: n/a
Access 2003 can use the A2000 database format without conversion.
The question, "Do you want to Open or Convert?" occurs if you try to open an
Access 97 in any version from 2000 onwards.

Acess 2003 does use a different binary for the compiled code than A2000.
This process is not perfect, so if you open the database in A2003 modify the
forms/reports/module, save, and then open them in A2000 you can get
corruption issues.

For developers, the workaround is:
1. Decompile the database before, i.e. enter something like this at the
command prompt while Access is not running. It is all one line, and include
the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"
2. Compact.
3. Open in the other version, and Compile.

For end users, you provide each workstation with its own local copy of the
front end, compiled under the version not later than what they use. For
example, create the MDE in Access 2000 and give copies to each user.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"dixie" <di***@dogmail.com> wrote in message
news:41********@duster.adelaide.on.net...
Can someone familiar with Access 2003 please answer this question? I am
asking because I don't have the use of A2003. When Access 2003 finds an
Access 2000 database, does it come up with some sort of
question/suggestion indicating that you can convert this datbase into the
new format? I am trying to trouble shoot a remote site where a big error
message indicating the database was converted using the wrong method comes
up when they try to open an Access 2000 database with either Access 2000
or Access 2002. AFAIK, there may be a small number of computers on-site
using Acess 2003. Is it possible that someone has inadvertently converted
the database into a format unreadable by earlier copies of Access?

I thought of corruption, but this has happened to 2 different databases on
the same site in less than 2 weeks! Co-incidence?

dixie

Nov 13 '05 #2

P: n/a
What about mde's Allen, obviously can't do this on-site with them. But,
surely if I decompile before I compile, the problem is less likely to arise.
This is the first time this has ever happened and it is twice at the same
site in 2 weeks. They use a mixture of 2000/XP/2003 (probably with a
mixture of Service Packs applied too!) I could do special versions for each
program I guess, but it seems like a lot of trouble. I know that A2003
can't produce an mde for 2002 or 2000, so I guess that means I would need
all 3 programs. Sorry, I am rambling. Thinking out aloud.

Thanks for your help.

dixie
"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
Access 2003 can use the A2000 database format without conversion.
The question, "Do you want to Open or Convert?" occurs if you try to open
an Access 97 in any version from 2000 onwards.

Acess 2003 does use a different binary for the compiled code than A2000.
This process is not perfect, so if you open the database in A2003 modify
the forms/reports/module, save, and then open them in A2000 you can get
corruption issues.

For developers, the workaround is:
1. Decompile the database before, i.e. enter something like this at the
command prompt while Access is not running. It is all one line, and
include the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"
2. Compact.
3. Open in the other version, and Compile.

For end users, you provide each workstation with its own local copy of the
front end, compiled under the version not later than what they use. For
example, create the MDE in Access 2000 and give copies to each user.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"dixie" <di***@dogmail.com> wrote in message
news:41********@duster.adelaide.on.net...
Can someone familiar with Access 2003 please answer this question? I am
asking because I don't have the use of A2003. When Access 2003 finds an
Access 2000 database, does it come up with some sort of
question/suggestion indicating that you can convert this datbase into the
new format? I am trying to trouble shoot a remote site where a big error
message indicating the database was converted using the wrong method
comes up when they try to open an Access 2000 database with either Access
2000 or Access 2002. AFAIK, there may be a small number of computers
on-site using Acess 2003. Is it possible that someone has inadvertently
converted the database into a format unreadable by earlier copies of
Access?

I thought of corruption, but this has happened to 2 different databases
on the same site in less than 2 weeks! Co-incidence?

dixie


Nov 13 '05 #3

P: n/a
The A2000 MDE should be fine on Access 2002 and Access 2003. Further, it
cannot decompile, so it should not corrupt at the VBA level. Of course,
other kinds of corruption can still occur, such as those caused by Name
AutoCorrupt:
http://members.iinet.net.au/~allenbrowne/bug-03.html

Unless you are creating runtime installations, you should not have to worry
about the version of Windows on the users' machines. You do want the know
the user's version of Office, service pack, *and* JET service pack. What we
do is include a couple of text boxes on the form you use for Help | About,
like this:
=fGetProductVersion(SysCmd(9) & "msaccess.exe")
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")
The function calls are from:
http://www.mvps.org/access/api/api0065.htm
http://www.mvps.org/access/api/api0054.htm
Completely different thought, but there is an incredibly stupid set of
dialog boxes the user can see in A2003 when they try to open a file. It
warns the user that the file may be unsafe to open and not to do it. If they
say, "Do it anyway", they are then presented with another dialog warning
that unsafe expressions are not blocked. It's quite a complicated dialog
with long messages and scrollbars, and it's hard to even find the question
you are answering, but again they have to go against the Microsoft
recommendation and choose the non-default answer. Then they receive a
*third* warning that they really should not do this! And this happens every
time they open the database! If Microsoft were trying to destrory Access,
they could hardly have come up with a more effective strategy.

The A2003 user can avoid this recurring if they set their Macro Security
setting to Low, again something MS specifically recommends against. Don't
ask me why this garbage is in there, but could it be these dialogs that are
tripping up your users?

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
What about mde's Allen, obviously can't do this on-site with them. But,
surely if I decompile before I compile, the problem is less likely to
arise. This is the first time this has ever happened and it is twice at
the same site in 2 weeks. They use a mixture of 2000/XP/2003 (probably
with a mixture of Service Packs applied too!) I could do special versions
for each program I guess, but it seems like a lot of trouble. I know that
A2003 can't produce an mde for 2002 or 2000, so I guess that means I would
need all 3 programs. Sorry, I am rambling. Thinking out aloud.

Thanks for your help.

dixie
"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
Access 2003 can use the A2000 database format without conversion.
The question, "Do you want to Open or Convert?" occurs if you try to open
an Access 97 in any version from 2000 onwards.

Acess 2003 does use a different binary for the compiled code than A2000.
This process is not perfect, so if you open the database in A2003 modify
the forms/reports/module, save, and then open them in A2000 you can get
corruption issues.

For developers, the workaround is:
1. Decompile the database before, i.e. enter something like this at the
command prompt while Access is not running. It is all one line, and
include the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"
2. Compact.
3. Open in the other version, and Compile.

For end users, you provide each workstation with its own local copy of
the front end, compiled under the version not later than what they use.
For example, create the MDE in Access 2000 and give copies to each user.
"dixie" <di***@dogmail.com> wrote in message
news:41********@duster.adelaide.on.net...
Can someone familiar with Access 2003 please answer this question? I am
asking because I don't have the use of A2003. When Access 2003 finds an
Access 2000 database, does it come up with some sort of
question/suggestion indicating that you can convert this datbase into
the new format? I am trying to trouble shoot a remote site where a big
error message indicating the database was converted using the wrong
method comes up when they try to open an Access 2000 database with
either Access 2000 or Access 2002. AFAIK, there may be a small number
of computers on-site using Acess 2003. Is it possible that someone has
inadvertently converted the database into a format unreadable by earlier
copies of Access?

I thought of corruption, but this has happened to 2 different databases
on the same site in less than 2 weeks! Co-incidence?

dixie

Nov 13 '05 #4

P: n/a
Firstly about this:

=fGetProductVersion(SysCmd(9) & "msaccess.exe")
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")

I entered them as the source of two text boxes and it only returned me
#Name? What have I done wrong here - I am using Access 2000 - SP3.
____________________________
Your post is very informative Allen. It seems to me that with each new
version of Office or Windows, Microsoft want to control things more tightly.
What they fail to realise (or dont care) is that the poor users of their
software are not all programmers or IT wizards, just normal joe blow and
Jane Citizen doing their everyday work. The registry change needed to do
automated mailmerge from Access to Word 2003 is a good example. Sending
people a registry patch with instructions on how to apply it is not the
easiest thing to achieve. Some of the people involved do not even know what
the registry is!

Again, thanks for your insightful reply.

dixie

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
The A2000 MDE should be fine on Access 2002 and Access 2003. Further, it
cannot decompile, so it should not corrupt at the VBA level. Of course,
other kinds of corruption can still occur, such as those caused by Name
AutoCorrupt:
http://members.iinet.net.au/~allenbrowne/bug-03.html

Unless you are creating runtime installations, you should not have to
worry about the version of Windows on the users' machines. You do want the
know the user's version of Office, service pack, *and* JET service pack.
What we do is include a couple of text boxes on the form you use for Help
| About, like this:
=fGetProductVersion(SysCmd(9) & "msaccess.exe")
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")
The function calls are from:
http://www.mvps.org/access/api/api0065.htm
http://www.mvps.org/access/api/api0054.htm
Completely different thought, but there is an incredibly stupid set of
dialog boxes the user can see in A2003 when they try to open a file. It
warns the user that the file may be unsafe to open and not to do it. If
they say, "Do it anyway", they are then presented with another dialog
warning that unsafe expressions are not blocked. It's quite a complicated
dialog with long messages and scrollbars, and it's hard to even find the
question you are answering, but again they have to go against the
Microsoft recommendation and choose the non-default answer. Then they
receive a *third* warning that they really should not do this! And this
happens every time they open the database! If Microsoft were trying to
destrory Access, they could hardly have come up with a more effective
strategy.

The A2003 user can avoid this recurring if they set their Macro Security
setting to Low, again something MS specifically recommends against. Don't
ask me why this garbage is in there, but could it be these dialogs that
are tripping up your users?

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
What about mde's Allen, obviously can't do this on-site with them. But,
surely if I decompile before I compile, the problem is less likely to
arise. This is the first time this has ever happened and it is twice at
the same site in 2 weeks. They use a mixture of 2000/XP/2003 (probably
with a mixture of Service Packs applied too!) I could do special
versions for each program I guess, but it seems like a lot of trouble. I
know that A2003 can't produce an mde for 2002 or 2000, so I guess that
means I would need all 3 programs. Sorry, I am rambling. Thinking out
aloud.

Thanks for your help.

dixie
"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
Access 2003 can use the A2000 database format without conversion.
The question, "Do you want to Open or Convert?" occurs if you try to
open an Access 97 in any version from 2000 onwards.

Acess 2003 does use a different binary for the compiled code than A2000.
This process is not perfect, so if you open the database in A2003 modify
the forms/reports/module, save, and then open them in A2000 you can get
corruption issues.

For developers, the workaround is:
1. Decompile the database before, i.e. enter something like this at the
command prompt while Access is not running. It is all one line, and
include the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"
2. Compact.
3. Open in the other version, and Compile.

For end users, you provide each workstation with its own local copy of
the front end, compiled under the version not later than what they use.
For example, create the MDE in Access 2000 and give copies to each user.
"dixie" <di***@dogmail.com> wrote in message
news:41********@duster.adelaide.on.net...
Can someone familiar with Access 2003 please answer this question? I
am asking because I don't have the use of A2003. When Access 2003
finds an Access 2000 database, does it come up with some sort of
question/suggestion indicating that you can convert this datbase into
the new format? I am trying to trouble shoot a remote site where a big
error message indicating the database was converted using the wrong
method comes up when they try to open an Access 2000 database with
either Access 2000 or Access 2002. AFAIK, there may be a small number
of computers on-site using Acess 2003. Is it possible that someone has
inadvertently converted the database into a format unreadable by
earlier copies of Access?

I thought of corruption, but this has happened to 2 different databases
on the same site in less than 2 weeks! Co-incidence?

dixie


Nov 13 '05 #5

P: n/a
Did you copy the functions from the mvps.org links?

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
Firstly about this:

=fGetProductVersion(SysCmd(9) & "msaccess.exe")
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")

I entered them as the source of two text boxes and it only returned me
#Name? What have I done wrong here - I am using Access 2000 - SP3.
____________________________
Your post is very informative Allen. It seems to me that with each new
version of Office or Windows, Microsoft want to control things more
tightly. What they fail to realise (or dont care) is that the poor users
of their software are not all programmers or IT wizards, just normal joe
blow and Jane Citizen doing their everyday work. The registry change
needed to do automated mailmerge from Access to Word 2003 is a good
example. Sending people a registry patch with instructions on how to
apply it is not the easiest thing to achieve. Some of the people involved
do not even know what the registry is!

Again, thanks for your insightful reply.

dixie

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
The A2000 MDE should be fine on Access 2002 and Access 2003. Further, it
cannot decompile, so it should not corrupt at the VBA level. Of course,
other kinds of corruption can still occur, such as those caused by Name
AutoCorrupt:
http://members.iinet.net.au/~allenbrowne/bug-03.html

Unless you are creating runtime installations, you should not have to
worry about the version of Windows on the users' machines. You do want
the know the user's version of Office, service pack, *and* JET service
pack. What we do is include a couple of text boxes on the form you use
for Help | About, like this:
=fGetProductVersion(SysCmd(9) & "msaccess.exe")
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")
The function calls are from:
http://www.mvps.org/access/api/api0065.htm
http://www.mvps.org/access/api/api0054.htm
Completely different thought, but there is an incredibly stupid set of
dialog boxes the user can see in A2003 when they try to open a file. It
warns the user that the file may be unsafe to open and not to do it. If
they say, "Do it anyway", they are then presented with another dialog
warning that unsafe expressions are not blocked. It's quite a complicated
dialog with long messages and scrollbars, and it's hard to even find the
question you are answering, but again they have to go against the
Microsoft recommendation and choose the non-default answer. Then they
receive a *third* warning that they really should not do this! And this
happens every time they open the database! If Microsoft were trying to
destrory Access, they could hardly have come up with a more effective
strategy.

The A2003 user can avoid this recurring if they set their Macro Security
setting to Low, again something MS specifically recommends against. Don't
ask me why this garbage is in there, but could it be these dialogs that
are tripping up your users?

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
What about mde's Allen, obviously can't do this on-site with them. But,
surely if I decompile before I compile, the problem is less likely to
arise. This is the first time this has ever happened and it is twice at
the same site in 2 weeks. They use a mixture of 2000/XP/2003 (probably
with a mixture of Service Packs applied too!) I could do special
versions for each program I guess, but it seems like a lot of trouble.
I know that A2003 can't produce an mde for 2002 or 2000, so I guess that
means I would need all 3 programs. Sorry, I am rambling. Thinking out
aloud.

Thanks for your help.

dixie
"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
Access 2003 can use the A2000 database format without conversion.
The question, "Do you want to Open or Convert?" occurs if you try to
open an Access 97 in any version from 2000 onwards.

Acess 2003 does use a different binary for the compiled code than
A2000. This process is not perfect, so if you open the database in
A2003 modify the forms/reports/module, save, and then open them in
A2000 you can get corruption issues.

For developers, the workaround is:
1. Decompile the database before, i.e. enter something like this at the
command prompt while Access is not running. It is all one line, and
include the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"
2. Compact.
3. Open in the other version, and Compile.

For end users, you provide each workstation with its own local copy of
the front end, compiled under the version not later than what they use.
For example, create the MDE in Access 2000 and give copies to each
user.
"dixie" <di***@dogmail.com> wrote in message
news:41********@duster.adelaide.on.net...
> Can someone familiar with Access 2003 please answer this question? I
> am asking because I don't have the use of A2003. When Access 2003
> finds an Access 2000 database, does it come up with some sort of
> question/suggestion indicating that you can convert this datbase into
> the new format? I am trying to trouble shoot a remote site where a
> big error message indicating the database was converted using the
> wrong method comes up when they try to open an Access 2000 database
> with either Access 2000 or Access 2002. AFAIK, there may be a small
> number of computers on-site using Acess 2003. Is it possible that
> someone has inadvertently converted the database into a format
> unreadable by earlier copies of Access?
>
> I thought of corruption, but this has happened to 2 different
> databases on the same site in less than 2 weeks! Co-incidence?

Nov 13 '05 #6

P: n/a
No. Wow, I'm impressed with all of that, it means little mind you, but it
makes me realise how little I know and how little I have learned. It is
giving me errors though. Does it go in the module behind the form, or does
it go into a real module in the Module area? I think I might have to sit
this one out Allen, it is just too advanced for my tiny brain I fear.

dixie

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
Did you copy the functions from the mvps.org links?

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
Firstly about this:

=fGetProductVersion(SysCmd(9) & "msaccess.exe")
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")

I entered them as the source of two text boxes and it only returned me
#Name? What have I done wrong here - I am using Access 2000 - SP3.
____________________________
Your post is very informative Allen. It seems to me that with each new
version of Office or Windows, Microsoft want to control things more
tightly. What they fail to realise (or dont care) is that the poor users
of their software are not all programmers or IT wizards, just normal joe
blow and Jane Citizen doing their everyday work. The registry change
needed to do automated mailmerge from Access to Word 2003 is a good
example. Sending people a registry patch with instructions on how to
apply it is not the easiest thing to achieve. Some of the people
involved do not even know what the registry is!

Again, thanks for your insightful reply.

dixie

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
The A2000 MDE should be fine on Access 2002 and Access 2003. Further, it
cannot decompile, so it should not corrupt at the VBA level. Of course,
other kinds of corruption can still occur, such as those caused by Name
AutoCorrupt:
http://members.iinet.net.au/~allenbrowne/bug-03.html

Unless you are creating runtime installations, you should not have to
worry about the version of Windows on the users' machines. You do want
the know the user's version of Office, service pack, *and* JET service
pack. What we do is include a couple of text boxes on the form you use
for Help | About, like this:
=fGetProductVersion(SysCmd(9) & "msaccess.exe")
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")
The function calls are from:
http://www.mvps.org/access/api/api0065.htm
http://www.mvps.org/access/api/api0054.htm
Completely different thought, but there is an incredibly stupid set of
dialog boxes the user can see in A2003 when they try to open a file. It
warns the user that the file may be unsafe to open and not to do it. If
they say, "Do it anyway", they are then presented with another dialog
warning that unsafe expressions are not blocked. It's quite a
complicated dialog with long messages and scrollbars, and it's hard to
even find the question you are answering, but again they have to go
against the Microsoft recommendation and choose the non-default answer.
Then they receive a *third* warning that they really should not do this!
And this happens every time they open the database! If Microsoft were
trying to destrory Access, they could hardly have come up with a more
effective strategy.

The A2003 user can avoid this recurring if they set their Macro Security
setting to Low, again something MS specifically recommends against.
Don't ask me why this garbage is in there, but could it be these dialogs
that are tripping up your users?

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
What about mde's Allen, obviously can't do this on-site with them.
But, surely if I decompile before I compile, the problem is less likely
to arise. This is the first time this has ever happened and it is twice
at the same site in 2 weeks. They use a mixture of 2000/XP/2003
(probably with a mixture of Service Packs applied too!) I could do
special versions for each program I guess, but it seems like a lot of
trouble. I know that A2003 can't produce an mde for 2002 or 2000, so I
guess that means I would need all 3 programs. Sorry, I am rambling.
Thinking out aloud.

Thanks for your help.

dixie
"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
> Access 2003 can use the A2000 database format without conversion.
> The question, "Do you want to Open or Convert?" occurs if you try to
> open an Access 97 in any version from 2000 onwards.
>
> Acess 2003 does use a different binary for the compiled code than
> A2000. This process is not perfect, so if you open the database in
> A2003 modify the forms/reports/module, save, and then open them in
> A2000 you can get corruption issues.
>
> For developers, the workaround is:
> 1. Decompile the database before, i.e. enter something like this at
> the command prompt while Access is not running. It is all one line,
> and include the quotes:
> "c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
> "c:\MyPath\MyDatabase.mdb"
> 2. Compact.
> 3. Open in the other version, and Compile.
>
> For end users, you provide each workstation with its own local copy of
> the front end, compiled under the version not later than what they
> use. For example, create the MDE in Access 2000 and give copies to
> each user.
>
>
> "dixie" <di***@dogmail.com> wrote in message
> news:41********@duster.adelaide.on.net...
>> Can someone familiar with Access 2003 please answer this question? I
>> am asking because I don't have the use of A2003. When Access 2003
>> finds an Access 2000 database, does it come up with some sort of
>> question/suggestion indicating that you can convert this datbase into
>> the new format? I am trying to trouble shoot a remote site where a
>> big error message indicating the database was converted using the
>> wrong method comes up when they try to open an Access 2000 database
>> with either Access 2000 or Access 2002. AFAIK, there may be a small
>> number of computers on-site using Acess 2003. Is it possible that
>> someone has inadvertently converted the database into a format
>> unreadable by earlier copies of Access?
>>
>> I thought of corruption, but this has happened to 2 different
>> databases on the same site in less than 2 weeks! Co-incidence?


Nov 13 '05 #7

P: n/a
It should work if you just paste the code from each link into their own
modules, i.e. modules created from the Modules tab of the Database window
(not the module of the form).

API calls are a bit like that if you are not used to them. In reality, they
are just wrapper functions to pass a request to Windows for information, and
get an answer back.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
No. Wow, I'm impressed with all of that, it means little mind you, but it
makes me realise how little I know and how little I have learned. It is
giving me errors though. Does it go in the module behind the form, or
does it go into a real module in the Module area? I think I might have to
sit this one out Allen, it is just too advanced for my tiny brain I fear.

dixie

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
Did you copy the functions from the mvps.org links?
"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
Firstly about this:

=fGetProductVersion(SysCmd(9) & "msaccess.exe")
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")

I entered them as the source of two text boxes and it only returned me
#Name? What have I done wrong here - I am using Access 2000 - SP3.
____________________________
Your post is very informative Allen. It seems to me that with each new
version of Office or Windows, Microsoft want to control things more
tightly. What they fail to realise (or dont care) is that the poor users
of their software are not all programmers or IT wizards, just normal joe
blow and Jane Citizen doing their everyday work. The registry change
needed to do automated mailmerge from Access to Word 2003 is a good
example. Sending people a registry patch with instructions on how to
apply it is not the easiest thing to achieve. Some of the people
involved do not even know what the registry is!

Again, thanks for your insightful reply.

dixie

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
The A2000 MDE should be fine on Access 2002 and Access 2003. Further,
it cannot decompile, so it should not corrupt at the VBA level. Of
course, other kinds of corruption can still occur, such as those caused
by Name AutoCorrupt:
http://members.iinet.net.au/~allenbrowne/bug-03.html

Unless you are creating runtime installations, you should not have to
worry about the version of Windows on the users' machines. You do want
the know the user's version of Office, service pack, *and* JET service
pack. What we do is include a couple of text boxes on the form you use
for Help | About, like this:
=fGetProductVersion(SysCmd(9) & "msaccess.exe")
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")
The function calls are from:
http://www.mvps.org/access/api/api0065.htm
http://www.mvps.org/access/api/api0054.htm
Completely different thought, but there is an incredibly stupid set of
dialog boxes the user can see in A2003 when they try to open a file. It
warns the user that the file may be unsafe to open and not to do it. If
they say, "Do it anyway", they are then presented with another dialog
warning that unsafe expressions are not blocked. It's quite a
complicated dialog with long messages and scrollbars, and it's hard to
even find the question you are answering, but again they have to go
against the Microsoft recommendation and choose the non-default answer.
Then they receive a *third* warning that they really should not do
this! And this happens every time they open the database! If Microsoft
were trying to destrory Access, they could hardly have come up with a
more effective strategy.

The A2003 user can avoid this recurring if they set their Macro
Security setting to Low, again something MS specifically recommends
against. Don't ask me why this garbage is in there, but could it be
these dialogs that are tripping up your users?

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
> What about mde's Allen, obviously can't do this on-site with them.
> But, surely if I decompile before I compile, the problem is less
> likely to arise. This is the first time this has ever happened and it
> is twice at the same site in 2 weeks. They use a mixture of
> 2000/XP/2003 (probably with a mixture of Service Packs applied too!)
> I could do special versions for each program I guess, but it seems
> like a lot of trouble. I know that A2003 can't produce an mde for 2002
> or 2000, so I guess that means I would need all 3 programs. Sorry, I
> am rambling. Thinking out aloud.
>
> Thanks for your help.
>
> dixie
>
>
> "Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
> news:41**********************@per-qv1-newsreader-01.iinet.net.au...
>> Access 2003 can use the A2000 database format without conversion.
>> The question, "Do you want to Open or Convert?" occurs if you try to
>> open an Access 97 in any version from 2000 onwards.
>>
>> Acess 2003 does use a different binary for the compiled code than
>> A2000. This process is not perfect, so if you open the database in
>> A2003 modify the forms/reports/module, save, and then open them in
>> A2000 you can get corruption issues.
>>
>> For developers, the workaround is:
>> 1. Decompile the database before, i.e. enter something like this at
>> the command prompt while Access is not running. It is all one line,
>> and include the quotes:
>> "c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
>> "c:\MyPath\MyDatabase.mdb"
>> 2. Compact.
>> 3. Open in the other version, and Compile.
>>
>> For end users, you provide each workstation with its own local copy
>> of the front end, compiled under the version not later than what they
>> use. For example, create the MDE in Access 2000 and give copies to
>> each user.
>>
>>
>> "dixie" <di***@dogmail.com> wrote in message
>> news:41********@duster.adelaide.on.net...
>>> Can someone familiar with Access 2003 please answer this question?
>>> I am asking because I don't have the use of A2003. When Access 2003
>>> finds an Access 2000 database, does it come up with some sort of
>>> question/suggestion indicating that you can convert this datbase
>>> into the new format? I am trying to trouble shoot a remote site
>>> where a big error message indicating the database was converted
>>> using the wrong method comes up when they try to open an Access 2000
>>> database with either Access 2000 or Access 2002. AFAIK, there may
>>> be a small number of computers on-site using Acess 2003. Is it
>>> possible that someone has inadvertently converted the database into
>>> a format unreadable by earlier copies of Access?
>>>
>>> I thought of corruption, but this has happened to 2 different
>>> databases on the same site in less than 2 weeks! Co-incidence?

Nov 13 '05 #8

P: n/a
OK, done that, I get a result from
=fGetProductVersion(SysCmd(9) & "msaccess.exe")

but still get #Name? from the other one.
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")

I have both modules in place copied directly from the MVPS.org site.

dixie

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
It should work if you just paste the code from each link into their own
modules, i.e. modules created from the Modules tab of the Database window
(not the module of the form).

API calls are a bit like that if you are not used to them. In reality,
they are just wrapper functions to pass a request to Windows for
information, and get an answer back.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
No. Wow, I'm impressed with all of that, it means little mind you, but
it makes me realise how little I know and how little I have learned. It
is giving me errors though. Does it go in the module behind the form, or
does it go into a real module in the Module area? I think I might have
to sit this one out Allen, it is just too advanced for my tiny brain I
fear.

dixie

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
Did you copy the functions from the mvps.org links?
"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
Firstly about this:

=fGetProductVersion(SysCmd(9) & "msaccess.exe")
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")

I entered them as the source of two text boxes and it only returned me
#Name? What have I done wrong here - I am using Access 2000 - SP3.
____________________________
Your post is very informative Allen. It seems to me that with each new
version of Office or Windows, Microsoft want to control things more
tightly. What they fail to realise (or dont care) is that the poor
users of their software are not all programmers or IT wizards, just
normal joe blow and Jane Citizen doing their everyday work. The
registry change needed to do automated mailmerge from Access to Word
2003 is a good example. Sending people a registry patch with
instructions on how to apply it is not the easiest thing to achieve.
Some of the people involved do not even know what the registry is!

Again, thanks for your insightful reply.

dixie

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
> The A2000 MDE should be fine on Access 2002 and Access 2003. Further,
> it cannot decompile, so it should not corrupt at the VBA level. Of
> course, other kinds of corruption can still occur, such as those
> caused by Name AutoCorrupt:
> http://members.iinet.net.au/~allenbrowne/bug-03.html
>
> Unless you are creating runtime installations, you should not have to
> worry about the version of Windows on the users' machines. You do want
> the know the user's version of Office, service pack, *and* JET service
> pack. What we do is include a couple of text boxes on the form you use
> for Help | About, like this:
> =fGetProductVersion(SysCmd(9) & "msaccess.exe")
> =fGetProductVersion(fReturnSysDir() & "\msjet40.dll")
> The function calls are from:
> http://www.mvps.org/access/api/api0065.htm
> http://www.mvps.org/access/api/api0054.htm
>
>
> Completely different thought, but there is an incredibly stupid set of
> dialog boxes the user can see in A2003 when they try to open a file.
> It warns the user that the file may be unsafe to open and not to do
> it. If they say, "Do it anyway", they are then presented with another
> dialog warning that unsafe expressions are not blocked. It's quite a
> complicated dialog with long messages and scrollbars, and it's hard to
> even find the question you are answering, but again they have to go
> against the Microsoft recommendation and choose the non-default
> answer. Then they receive a *third* warning that they really should
> not do this! And this happens every time they open the database! If
> Microsoft were trying to destrory Access, they could hardly have come
> up with a more effective strategy.
>
> The A2003 user can avoid this recurring if they set their Macro
> Security setting to Low, again something MS specifically recommends
> against. Don't ask me why this garbage is in there, but could it be
> these dialogs that are tripping up your users?
>
> "dixie" <di***@dogmail.com> wrote in message
> news:41******@duster.adelaide.on.net...
>> What about mde's Allen, obviously can't do this on-site with them.
>> But, surely if I decompile before I compile, the problem is less
>> likely to arise. This is the first time this has ever happened and it
>> is twice at the same site in 2 weeks. They use a mixture of
>> 2000/XP/2003 (probably with a mixture of Service Packs applied too!)
>> I could do special versions for each program I guess, but it seems
>> like a lot of trouble. I know that A2003 can't produce an mde for
>> 2002 or 2000, so I guess that means I would need all 3 programs.
>> Sorry, I am rambling. Thinking out aloud.
>>
>> Thanks for your help.
>>
>> dixie
>>
>>
>> "Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
>> news:41**********************@per-qv1-newsreader-01.iinet.net.au...
>>> Access 2003 can use the A2000 database format without conversion.
>>> The question, "Do you want to Open or Convert?" occurs if you try to
>>> open an Access 97 in any version from 2000 onwards.
>>>
>>> Acess 2003 does use a different binary for the compiled code than
>>> A2000. This process is not perfect, so if you open the database in
>>> A2003 modify the forms/reports/module, save, and then open them in
>>> A2000 you can get corruption issues.
>>>
>>> For developers, the workaround is:
>>> 1. Decompile the database before, i.e. enter something like this at
>>> the command prompt while Access is not running. It is all one line,
>>> and include the quotes:
>>> "c:\Program Files\Microsoft office\office\msaccess.exe"
>>> /decompile
>>> "c:\MyPath\MyDatabase.mdb"
>>> 2. Compact.
>>> 3. Open in the other version, and Compile.
>>>
>>> For end users, you provide each workstation with its own local copy
>>> of the front end, compiled under the version not later than what
>>> they use. For example, create the MDE in Access 2000 and give copies
>>> to each user.
>>>
>>>
>>> "dixie" <di***@dogmail.com> wrote in message
>>> news:41********@duster.adelaide.on.net...
>>>> Can someone familiar with Access 2003 please answer this question?
>>>> I am asking because I don't have the use of A2003. When Access
>>>> 2003 finds an Access 2000 database, does it come up with some sort
>>>> of question/suggestion indicating that you can convert this datbase
>>>> into the new format? I am trying to trouble shoot a remote site
>>>> where a big error message indicating the database was converted
>>>> using the wrong method comes up when they try to open an Access
>>>> 2000 database with either Access 2000 or Access 2002. AFAIK, there
>>>> may be a small number of computers on-site using Acess 2003. Is it
>>>> possible that someone has inadvertently converted the database into
>>>> a format unreadable by earlier copies of Access?
>>>>
>>>> I thought of corruption, but this has happened to 2 different
>>>> databases on the same site in less than 2 weeks! Co-incidence?


Nov 13 '05 #9

P: n/a
Open the Immediate Window (Ctrl+G).
Enter:
? fReturnSysDir()
On pressing Enter, you should get something like:
C:\WINDOWS\system32

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
OK, done that, I get a result from
=fGetProductVersion(SysCmd(9) & "msaccess.exe")

but still get #Name? from the other one.
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")

I have both modules in place copied directly from the MVPS.org site.

dixie

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
It should work if you just paste the code from each link into their own
modules, i.e. modules created from the Modules tab of the Database window
(not the module of the form).

API calls are a bit like that if you are not used to them. In reality,
they are just wrapper functions to pass a request to Windows for
information, and get an answer back.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
No. Wow, I'm impressed with all of that, it means little mind you, but
it makes me realise how little I know and how little I have learned. It
is giving me errors though. Does it go in the module behind the form,
or does it go into a real module in the Module area? I think I might
have to sit this one out Allen, it is just too advanced for my tiny
brain I fear.

dixie

Nov 13 '05 #10

P: n/a
sub or function not defined is the return?

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
Open the Immediate Window (Ctrl+G).
Enter:
? fReturnSysDir()
On pressing Enter, you should get something like:
C:\WINDOWS\system32

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
OK, done that, I get a result from
=fGetProductVersion(SysCmd(9) & "msaccess.exe")

but still get #Name? from the other one.
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")

I have both modules in place copied directly from the MVPS.org site.

dixie

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
It should work if you just paste the code from each link into their own
modules, i.e. modules created from the Modules tab of the Database
window (not the module of the form).

API calls are a bit like that if you are not used to them. In reality,
they are just wrapper functions to pass a request to Windows for
information, and get an answer back.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
No. Wow, I'm impressed with all of that, it means little mind you, but
it makes me realise how little I know and how little I have learned.
It is giving me errors though. Does it go in the module behind the
form, or does it go into a real module in the Module area? I think I
might have to sit this one out Allen, it is just too advanced for my
tiny brain I fear.

dixie


Nov 13 '05 #11

P: n/a

Hmm. Maybe I gave you the wrong link.

fReturnSysDir() is at:
ttp://www.mvps.org/access/api/api0010.htm

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
sub or function not defined is the return?

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
Open the Immediate Window (Ctrl+G).
Enter:
? fReturnSysDir()
On pressing Enter, you should get something like:
C:\WINDOWS\system32
"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
OK, done that, I get a result from
=fGetProductVersion(SysCmd(9) & "msaccess.exe")

but still get #Name? from the other one.
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")

I have both modules in place copied directly from the MVPS.org site.

dixie

Nov 13 '05 #12

P: n/a
Fixed and working. Way past my bedtime. Gotta go. Thanks heaps Allen - it
will be interesting to see what differences I get from different sites.

dixie

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...

Hmm. Maybe I gave you the wrong link.

fReturnSysDir() is at:
ttp://www.mvps.org/access/api/api0010.htm

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
sub or function not defined is the return?

"Allen Browne" <Al*********@SeeSig.Invalid> wrote in message
news:41**********************@per-qv1-newsreader-01.iinet.net.au...
Open the Immediate Window (Ctrl+G).
Enter:
? fReturnSysDir()
On pressing Enter, you should get something like:
C:\WINDOWS\system32
"dixie" <di***@dogmail.com> wrote in message
news:41******@duster.adelaide.on.net...
OK, done that, I get a result from
=fGetProductVersion(SysCmd(9) & "msaccess.exe")

but still get #Name? from the other one.
=fGetProductVersion(fReturnSysDir() & "\msjet40.dll")

I have both modules in place copied directly from the MVPS.org site.

dixie


Nov 13 '05 #13

This discussion thread is closed

Replies have been disabled for this discussion.