Backward Conversion from 02 to 2k, problems with references

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • David

    Backward Conversion from 02 to 2k, problems with references

    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
  • Albert D. Kallal

    #2
    Re: Backward Conversion from 02 to 2k, problems with references

    "David" <GiladP1@Bara k-online.net> wrote in message
    news:d7a37604.0 309080740.58cdf 897@posting.goo gle.com...[color=blue]
    > Hi,
    > I want to work with Access 2002.
    >
    >
    > I used Access 2002 to convert my Access 2000 application to the 2002
    > format.[/color]

    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.
    [color=blue]
    > 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?[/color]

    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
    kallal@msn.com



    Comment

    • David W. Fenton

      #3
      Re: Backward Conversion from 02 to 2k, problems with references

      kallal@msn.com (Albert D. Kallal) wrote in
      <bS27b.114816$l a.2565551@news1 .calgary.shaw.c a>:
      [color=blue]
      >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.[/color]

      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

      Comment

      • Albert D. Kallal

        #4
        Re: Backward Conversion from 02 to 2k, problems with references

        "David W. Fenton" <dXXXfenton@bwa y.net>
        wrote in message news:93F09BF37d fentonbwaynet@2 4.168.128.90...

        <snip>[color=blue]
        > 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?[/color]

        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
        kallal@msn.com



        Comment

        • David

          #5
          Re: Backward Conversion from 02 to 2k, problems with references

          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

          Comment

          Working...