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

Backward Conversion from 02 to 2k, problems with references

P: n/a
Hi,
I want to work with Access 2002.

I will need to be able to distribute my application to users that may
still have access 2000 on their computers. I know access 2002 has a
function that enables you to convert a database to a format of an
earlier version of Access. I wanted to check for any unforeseen
problems so here is what I did:

I used Access 2002 to convert my Access 2000 application to the 2002
format. I then reversed this, and used access 2002 again to convert
the converted database back to 2000 format again. Now I tried using
the resulting database in Access 2000. This way I could check if my
users with Access 2k will be ok.
Well, there were problems with the references and the application does
not work. This means I will not be able to distribute my application
to users with Access 2000, so unfortunately I cannot upgrade.

My application has a reference to Word 9 Object library. It seems that
when converting an application to Access 2002 format, its references
are automatically updated to the Word 10 object library. But when
reversing the process, and converting the application back to the
previous format, these references are not changed again, so they
remain directed to the Word 10 object library. This object library
will not exist on a computer with Office 2000, and do the application
halts.

Can anyone shed some more light on this? Are my only options to not
upgrade or alternatively to use late binding, which will hurt very
much the performance of my application?

Thanks for any input
Gilad
Nov 12 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
"David" <Gi*****@Barak-online.net> wrote in message
news:d7**************************@posting.google.c om...
Hi,
I want to work with Access 2002.
I used Access 2002 to convert my Access 2000 application to the 2002
format.
Why do this? Why not use the default of a2002, and that default IS TO WORK
WITH a2000 format. In other words, if you do absolute nothing, you can keep
using the a2000 format in a2002.
Can anyone shed some more light on this? Are my only options to not
upgrade or alternatively to use late binding, which will hurt very
much the performance of my application?


Late binding the way to go. There is not developer on the planet that will
tell you other wise. As for performance when using outlook, or word? The
difference in performance between late binding and early is only going to be
noticed AT LINK TIME! In other words, there is about time penalty of about
..1 of a second. After that penalty, the rest performance the same. Of course
if you are using automation to word, and you are launching word 10,000
times, then that .1 of second extra delay becomes 100 seconds, and that is a
huge delay. however, you are not even close to launching word 10,000 times
in your application, and thus the extra huge delay of .1 of a second do to
late binding will NEVER be noticed. So, yes, late binding is a performance
hit DURING the com object linking process, but once done, the rest of the
code runs the same speed. Since we never launch word 10,000 times, then the
performance hit is not noticed. If you try and using late binding in a loop
that creates a object 10,000 times, then you most certainly will notice the
performance hit.

So, the solution here is to start using late binding, and leave your file
format in a2000 with is the default for a2002 anyway. The only real problem
with this approach is if you need to create mde files. You can't create mde
files for a2000 format with a2002.
--
Albert D. Kallal (MVP)
Edmonton, Alberta Canada
ka****@msn.com
http://www.attcanada.net/~kallal.msn
Nov 12 '05 #2

P: n/a
ka****@msn.com (Albert D. Kallal) wrote in
<bS*********************@news1.calgary.shaw.ca>:
Late binding the way to go. There is not developer on the planet
that will tell you other wise. As for performance when using
outlook, or word? The difference in performance between late
binding and early is only going to be noticed AT LINK TIME! In
other words, there is about time penalty of about .1 of a second.
After that penalty, the rest performance the same. Of course if
you are using automation to word, and you are launching word
10,000 times, then that .1 of second extra delay becomes 100
seconds, and that is a huge delay. however, you are not even close
to launching word 10,000 times in your application, and thus the
extra huge delay of .1 of a second do to late binding will NEVER
be noticed. So, yes, late binding is a performance hit DURING the
com object linking process, but once done, the rest of the code
runs the same speed. Since we never launch word 10,000 times, then
the performance hit is not noticed. If you try and using late
binding in a loop that creates a object 10,000 times, then you
most certainly will notice the performance hit.

So, the solution here is to start using late binding, and leave
your file format in a2000 with is the default for a2002 anyway.
The only real problem with this approach is if you need to create
mde files. You can't create mde files for a2000 format with a2002.


Even with late binding, you could do the same thing we do with
global database variables in Access, and wrap a global variable in
a function that returns the object. Then you would not be
initializing the object each time you opened it, just the once.

And didn't someone just suggest this in the newsgroup recently?

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 12 '05 #3

P: n/a
"David W. Fenton" <dX********@bway.net>
wrote in message news:93*********************@24.168.128.90...

<snip>
Even with late binding, you could do the same thing we do with
global database variables in Access, and wrap a global variable in
a function that returns the object. Then you would not be
initializing the object each time you opened it, just the once.

And didn't someone just suggest this in the newsgroup recently?


Your point is even better, so if one does run into performance problems,
then one could simply create a global object and work around this problem.

The late binding linking is a one time hit during the processing where
things are "looked" for anyway. The performance hit is really unnoticeable
when talking about stuff like word, or Outlook where the delay time is VERY
small compared to the application loading. It is only the link delay time
that slows things down, and this is a one time hit during the loading
process. (less .1 of a second anyway). Once done, the rest of the code runs
the same speed anyway. Since we execute so very few commands during word
automation then nothing is ever noticed. It is when you have lots of looping
code and the object needs to resolve references each time through the loop
does things get hurt.

It is kind like when we see people ask if using VBA to open a form is faster
then using a ms-access Macro. The command to load the form runs much faster
in VBA, but the real delay is in what the application has to do, and in both
cases the form loading represents the delay (not the speed of the commands).

However, in those cases where the link time becomes a significant portion of
the code run, then your suggestion further shows that performance of late
binding can be dealt with.

--
Albert D. Kallal (MVP)
Edmonton, Alberta Canada
ka****@msn.com
http://www.attcanada.net/~kallal.msn
Nov 12 '05 #4

P: n/a
Thanks for all the very helpful responses.

I guess I had the wrong impression about late binding because of
something I read in this news group about the performance hit.

Any way, I was not aware that you can't create mde's for a2000 format
when using a2002. This is critical for me so I guess I will not
upgrade after all. Maybe in future versions it will be possible to
create mde files with the format of previous versions of access.

Thanks again
Gilad
Nov 12 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.