Results 1 to 6 of 6
  1. #1
    DavidK111 is offline Novice
    Windows 8 Access 2010 64bit
    Join Date
    Oct 2014
    Posts
    18

    Upgrading to Access 2016 or 2021

    Hello - I have been using Microsoft Access 2010 for many years.



    It has been a great tool because it allows me to use it's drag and drop "intuitive" interface to create macros that I can run daily that import files, run queries, and export the results of those queries. The best part of Access 2010 is that I haven't had to do hardly any SQL (or other programming) and have been able to easily edit the relevant queries and imports/exports using the Macros features whenever the content or structure of my tables or queries need to be revised. Then each day, I simply run the Macro (one click essentially) and it runs all of my the imports, runs the queries, and then runs the exports (which I then import manually to various locations online). In other words, the best part of using Access is that I don't have to reach out to a developer or programmer every time that a file changed, or that a query or table column needed to be edited.

    So, my question is whether Access 2016 or Access 2021 will be able to do the same kind of thing. I believe I had read awhile back that Macros are no longer as easy to use in the newer versions of Access, so I figured I would check here first to see if it is recommended that I stick with Access 2010.

    Also, if you have broader insight into other tools that I should possibly use (such as another drag and drop tool that is similar to Access, or even a basic option that uses MySQL or other SQL databases....but designed to be used by non-programmer types), please feel free to suggest any alternative tools.

    (And just an FYI, I am having problems with Access 2010 where it keeps freezing, after upgrading to a Windows 11 Computer. That is the reason I am considering upgrading now.)
    Thanks for any suggestions!

  2. #2
    ranman256's Avatar
    ranman256 is offline VIP
    Windows Vista Access 2010 32bit
    Join Date
    Apr 2014
    Location
    Kentucky
    Posts
    9,525
    we have all versions and the db seems to work fine with all.

    The problems begin when you use different reference versions, like office references. (vbe, tools, references) 1 pc uses Office access v15 driver, but others use Office Access v16 driver. so once v16 folks open it, it upgrades the driver so v15 users cant open anymore.
    so you must make 2 versions for them to share : app15.accdb and app16.accdb

    also user PTRSAFE for all DECLARE function so both Win32 & Win64 can open the db.


    Code:
    #If Win64 Then      'Public Declare PtrSafe Function
         Private Declare PtrSafe Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As LongPtr
     #Else
          Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
    #End If
    then the older db still work for new pc/office.

  3. #3
    CJ_London is online now VIP
    Windows 10 Access 2010 32bit
    Join Date
    Mar 2015
    Posts
    11,430
    I still use 2010 for development as I have clients using all versions from 2010 and upwards. I’ve converted all my apps to work in 32 or 64 bit as ranman suggested (ptrSafe and longptr). I don’t use macros so no idea if that is an issue or not although suspect not since I don’t think macros can use APIs.

    i do have 64bit 365 on a win 11 machine which runs 32bit 2010 developed apps with the only problem being populating a web control on a form - but no issues with freezing.

    Basically later versions do more, not less

  4. #4
    isladogs's Avatar
    isladogs is offline MVP / VIP
    Windows 10 Office 365
    Join Date
    Jan 2014
    Location
    Somerset, UK
    Posts
    5,977
    also user PTRSAFE for all DECLARE function so both Win32 & Win64 can open the db.
    The Windows bitness is irrelevant. What matters is the Office bitness

    The hWnd definition in the Win64 section of that API declaration example is incorrect. It needs to be LongPtr
    Better to use #If VBA7 which works in both bitnesses for A2010 or later:

    Code:
    #If VBA7 Then 'for use with A2010 or later (32/64-bit)     
           Private Declare PtrSafe Function GetSystemMenu Lib "user32" (ByVal hWnd As LongPtr, ByVal bRevert As Long) As LongPtr
     #Else 'for A2007 or earlier
          Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
    #End If
    If all users are running A2010 or later, that can be simplified to just:

    Code:
    Private Declare PtrSafe Function GetSystemMenu Lib "user32" (ByVal hWnd As LongPtr, ByVal bRevert As Long) As LongPtr
    In case it helps, I have a series of 5 articles on this topic starting with: 32 to 64-bit Conversion (isladogs.co.uk)
    Colin, Access MVP, Website, email
    The more I learn, the more I know I don't know. When I don't know, I keep quiet!
    If I don't know that I don't know, I don't know whether to answer

  5. #5
    Micron is offline Virtually Inert Person
    Windows 10 Access 2016
    Join Date
    Jun 2014
    Location
    Ontario, Canada
    Posts
    12,801
    Isladogs, you must have that as boiler plate somewhere, or you could bookmark threads where you've posted this same information on the subject. That would give you quick access as it seems you're going to continually have to post these corrections given that they're being "overlooked".
    The more we hear silence, the more we begin to think about our value in this universe.
    Paraphrase of Professor Brian Cox.

  6. #6
    isladogs's Avatar
    isladogs is offline MVP / VIP
    Windows 10 Office 365
    Join Date
    Jan 2014
    Location
    Somerset, UK
    Posts
    5,977
    Quote Originally Posted by Micron View Post
    Isladogs, you must have that as boiler plate somewhere, or you could bookmark threads where you've posted this same information on the subject. That would give you quick access as it seems you're going to continually have to post these corrections given that they're being "overlooked".
    Yes doing that would save a lot of time.
    I've posted repeated corrections on this subject in numerous threads mainly as information for the OP and anyone else reading them.
    It would of course be better if the examples given were correct in the first place!

    To clarify, the code I corrected will compile without error but it won't work in 64-bit Access.
    The hWnd argument is a handle to a window and requires the additional memory space provided by LongPtr to work in 64-bit Access
    Colin, Access MVP, Website, email
    The more I learn, the more I know I don't know. When I don't know, I keep quiet!
    If I don't know that I don't know, I don't know whether to answer

Please reply to this thread with any new information or opinions.

Similar Threads

  1. Access Dev Con 2021
    By isladogs in forum Programming
    Replies: 3
    Last Post: 05-13-2021, 09:51 AM
  2. Replies: 2
    Last Post: 06-07-2018, 10:01 AM
  3. "Unable to Load DLL" after upgrading Office 2010 to 2016
    By NickMDal in forum Import/Export Data
    Replies: 3
    Last Post: 12-13-2017, 11:09 PM
  4. Replies: 3
    Last Post: 04-27-2017, 04:36 PM
  5. Replies: 1
    Last Post: 04-18-2016, 01:33 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums