[AccessD] Slowly getting there

John Colby jwcolby at gmail.com
Sat Sep 5 20:57:47 CDT 2020


Well, the plan is for a lecture series.  Maybe eventually a livestream if
anyone is interested.

When I was down in Mexico in the late 90s I learned about a foxpro
"framework" which was used as a jumping off point for developing FoxPro
database apps.  At the time I was working on a debit card vending machine
project.  My part in the project was writing the C software running on a
Z80 single board computer which drove the machine itself.  It sold Telmex
phone debit cards and took cash into a bill acceptor.  Having a recent (70s
through late 80s) background in electronics, I designed (or specced) all
the electronic hardware, and then wrote the software running on RTOS.  It
interfaced to the outside world via an RS232 port on the bottom of the
machine.  A third party Hand Held Computer (FoxPro) connected to that and
my software dumped the sales info into that.

As such I was not involved in the FoxPro side but I watched it with
interest.

So... I learned about frameworks.  By the late 90s I was working on
writing a framework for Access to make designing applications faster.  I
did not know about Access' classes, although Shamil was struggling to teach
me.   While Access is quite powerful, it also takes considerable
programming skill to get the most out of it.  And without classes, much of
what I was trying to do was just hard.

I don't have clear memories of how and why but at some point it just
clicked.  And it became easy.  Simultaneously Shamil decided it was too
much work and moved on.

And so over a five year period starting around 2002-3 I wrote a very
powerful framework for Access.  It uses classes wrapping every access
object that I use, with event handlers for all form and control events, and
in some cases raising custom events as well.  It is a library that simply
is referenced, initialized and from that point, any form that opens
instantiates a form class which handles loading all the core stuff that has
to do with forms and controls, and when the form closes, it likewise tears
it all back down for that form.

I have mentioned that starting around 2002 I wrote a call center app for an
insurance company in CT.  It was while building that app that I wrote the
framework, which I called C2DbFramework. To this day, the app is used day
in and day out.  AFAIK about 30-40 people are in the app all day long
taking phone calls from disability claimants.  The BE eventually migrated
to SQL Server but the FE is still Access, using the framework.

So I have what is literally 5 years writing the app and the framework, and
the framework drives (when I left the job) forms dealing with 180 tables.
All day, every day.  Every form loading a form class.  Almost every control
on every form is wrapped in a control class specifically for that type of
control, sinking all form and control events in the classes, firing code in
the classes to do whatever needs to be done to manage that control in the
context of a form.

Plus classes driving a security layer for dividing employees into groups
such as data entry, supervisors, managers, accounting etc.  The security
layer actively manages who can open which forms, and if they can open forms
whether they can add / edit / delete records, or even see controls on forms
and reports.  All table driven, all cached in Classes, for lightning fast
access.

All in all a pretty serious application, with dozens and dozens of classes,
loaded and unloaded as forms open and close.  All day, every day.  It would
be interesting to do some metrics counting the number of times classes load
and unload in a day  / week / year.

And so I naturally reject the opinion that Access is not OOP, and that
Access classes are useless.  I know different.  I have built a system that
it is simply not possible to build without OOP and classes.

A funny story.  My "boss" (I was a consultant), a principal in
the company,  told me that they would bring in executives from the
disability carriers to demo the system to sell them the service.  One of
these guys told my boss that they contracted a vendor to build a system
that did what we did, but directly on their mainframe.  Several years and
several million dollars later they cancelled the contract.  It just never
got done.

Access is a powerful system.  It is Object Oriented.  It gives us classes.
The classes can provide an entire programming paradigm impossible without
them.






On Sat, Sep 5, 2020 at 3:46 PM Arthur Fuller <fuller.artful at gmail.com>
wrote:

> For what it's worth, John, I am perhaps one of the few who hates
> instructional . I would much prefer to read and open another window into
> which I would type the code (I have to type it rather than copy and paste
> -- that way the imprint lasts much longer). But I suspect that I am in the
> minority, so plug on.
>
> On Sat, Sep 5, 2020 at 2:25 PM John Colby <jwcolby at gmail.com> wrote:
>
> > Trying to figure out OBS to make a YouTube video using screen capture
> and a
> > mic.  Sorry, the talking head video will have to wait.
> >
> > While I know a little about Access and classes, not so much about OBS.
> If
> > anyone out there is doing this and wants to assist, email me off line.
> >
> > At any rate, I expect to make it happen "any day now".  I am actually
> able
> > to make a video.  I have to find my mic and get it talking to my laptop.
> > So much to do, so little time.
> >
> > --
> > John W. Colby
> > Colby Consulting
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > http://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> >
>
>
> --
> Arthur
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>


-- 
John W. Colby
Colby Consulting


More information about the AccessD mailing list