The development language and tools available within the ms-access
development environment is quite amazing. You have the full VB IDE, and that
includes the ability to create class objects (you essentially have VB6...but
a different forms model).
Here is a article of mine outline the thought process I go through when
deciding to create class objects in ms-access:
http://www.attcanada.net/~kallal.msn/Articles/WhyClass.html
I should also say that a typical application takes all of the design skills
you can muster, and using ms-access does not get one off the hook of coming
up with a good design process. Here is some notes and ideas that I went
thought when deepening a application. In this case, I was converting a
existing application (from a mini computer) to one that was going to use
ms-access:
http://www.attcanada.net/~kallal.msn/Articles/fog0000000003.html
As for deployment, well, I mean any database system written in say VB and
JET does requite that the VB runtime be distributed, the JET engine be
distributed, and any additional libraries that you need for reporting
purposes. So, using VB, or c++ also means that a LOT of extra library's need
to be installed, and distrubied when talking about a database application
(there no such thing as a simple stand alone exe anymore!).
I would say that wide distribution of a access application is certainly more
of a weak spot compared to other development tools. However, it is certainly
doable with the developers edition of ms-access AND SOME 3rd party install
tools.
Last, but not least, you can take a quick rundown of the incredible tools
included in the office development system:
office fast facts
http://www.microsoft.com/office/developer/suite/fastfacts.asp
Note that the office developer tools are being moved into Visual studio
soon, but, the above link is still active!