In my day job at the bank I do a lot of Microsoft Access database development. I'm not in the IT department, so can't build web applications, SQL Server databases or other larger scale equivalents. Instead, I use Access to create a single file on a shared network drive, which lots of people can use simultaneously. It has all the front end and back end tools I need, in a single neat package, to build complicated processing systems.
Across the entire global company (pretty much) we're all using the same PCs, same operating systems, same version of Microsoft Office. All users - including me the developer - have access to the network drives the databases live - so deploying is effortless. We had some issues with some people being on different versions of MS Office, but removing library references and using late binding solved this.
So In this environment I'm a big fan of Access development. I'd of course read & heard many negative things about it - but my databases in the bank run in a multi-user environment every day - with very few problems at all - so I'd always defend it.
So when a friend of mine asked me to develop and invoicing systems for him, Access I felt was the tool for the job. I thought it through and come up with some ideas.
Here's some of the problem:
- Object library version problems
- Registering ActiveX calendar control
- MS Word conflict with Outlook
- I use XP, client has Vista - folder permission problems
- Deploying updates - ensuring the client downloads to the right folder - and knows how to do this
- The need for additional files - .dot templates for example - making sure they're in the right place
- MS Access 2007 no longer having the spreadsheet control (Office Web Components)
- Developing in A2000 mode in A2003 - doesn't fully work - adding list items was a problem
- The main database only being accessible from one PC
- The client's boss not having MS Office
Although all these problems are fixable, they'll only become apparent when the client tries the database for the first time - so they're first impression is a bunch of error messages - none of which are down to bugs in my code. So from the start they're confidence in the app is shaken.
So taking advice from a friend I began learning PHP and putting together the design in PHP/MySQL. It didn't take long to see the benefits over MS Access.
- A single application which multiple clients can sign up to
- No local software required by the client
- Works on PCs, MACs, Smartphones, Wii
- Accessible from any PC with the internet
- Easier for me to support and diagnose problems
- Cheaper - for both me and the client
Now I've started working with PHP - I'm not looking back - in fact I don't think I've even used MS Access on my home PC since I started learning PHP...