Tuesday, November 15, 2011

Microsoft Access Upgrade Issues

Had someone yesterday said it was too hard to upgrade a Microsoft Access Application to the 2007 or 2010 version.
Where do people get this idea?
Ignorance is not good.

My answer was simply, "We've done it quite a few times".
There are a few issues and googling Microsoft Access Upgrade quieries brings up 35 million results.

And "MsAccess Upgrade Issues" brings up just under 10 million results. (Pros like me refer to Microsoft Access as MsAccess and if you are googling for help, this is useful to know).

The main issues with upgrading access that I know are:
  • Moving the data, schema and logic to a 2007 or 2010 version, when you have access security set.
  • Dealing with hard-coded references to Excel, Word or Outlook
  • Some file manipulation macros
  • Generally dealing with really badly written code
  • ADO References caused by Windows 7 Service pack
  • New APIis if you are also using the new 64 bit of office
  • File Searching / handling functionality
  • Making the toolbars apepar in the ribbon
The one major item from a coding perspective is that the new versions of access are "fussier".
This means bad code is more likely to cause issues than ever before.

Also, Windows 7 running MsAccess 2007 or MsAccess 2010 can have issues which weren't there with MsAccess 2003 on an XP PC running applications on the network file share.
To prevent this, my Excel Speed app can show up some network issues, and one often needs to tweak the network and the PCs via some group policies and registry settings to fix.

Also one often raised question, is why not move the backend into sql. That's ok if you are using sql 2000, but from sql 2005 onwards, Microsoft SQL Server locks a chunk of rows at a time. So a well behaving multi-user application will start locking up when you move the data into SQL.
To get around this, ASP.Net is one solution, as it copies the record to memory and releases and lock and only writes back when it detects you have made a change.
Why they couldn't just build this into MsAccess is quite silly, as it would promote more use of Sql Server which can only be a good thing for someone qualified in Sql Server like me.

Converting your MsAccess Applications to newer versions is not tricky if you use a professional. ###

No comments: