I will agree that the ms-access forms are far more complex to learn and use
then are the simple VB6 forms.
However, you have to remember that ms-access forms have nearly double the
events, and double the properties as compared to a simple VB6 form.
So, if you take the time to learn ms-access forms you then can use a complex
object to accomplish MUCH MORE then what you can with a VB6 form in the SAME
amount of time. In fact, you will as a general rule find about 3 times the
production of applications in access as compared to VB6 when dealing with
centric applications. That means a $8000 project in ms-access will set you
back $25,000 grand in VB6.
Yes...but as result..you get incredible increased productivity. So, for
our combo box is different ..but has FAR more flexible then the lame VB6
combo box. Our combo box has standard events on on-got focus..but also
things like on-enter. In addition to on-change we get after update, and even
more useful events like "on not in list" (which thus allows us to prompt
the user to add new items to a combo). Further, the combo box allows
multiple columns to be displayed (something again missing in the VB
So, yes..very differnt..and again MUCH MORE properties and MUCH more events
for the control available saves TONS of code.
Take a look at the following screen shots done in ms-access..and then try to
re-produce the same functionality in VB6...my estimates of 1/3 the time are
And, the code behind those buttons to launch a detail form to the selected
record takes ONE line of code in ms-access.
Just because those forms are different...don't mean they are bad. Once
those access forms run ABSOLUTE circle around VB forms when editing data.
Even simple things like the fact that ms-access forms have both a on-load
event, and also a on-open event
What is nice..is the on-open event has a cancel option..and thus can prevent
the loading the form. Hence, the on-open event can do this like check for no
data...or even try to grab a record lock...is not successful then we can
cancel the form load. Once the form loads then the on-load event runs (this
is where we can put all the setup code for the form). In VB you have none of
this division...and trying to cancel a form load with code in the actual
form is pain (and, all the conditions and setup code belongs with the form
I could write for pages and pages. And...lets not even get into reports.....
I would not expect one to write a pac-man game in ms-access (but most
certainly yes in VB6). However, the reverse is also true...you write a data
centric application ms-access will run circles around VB6 forms...