[AccessD] Slowly getting there

Arthur Fuller fuller.artful at gmail.com
Sun Sep 6 07:25:52 CDT 2020


Without question you are one of the most skilled Access developers I have
ever encountered. Also without question is the fact that one can work magic
by wrapping Access classes. My sole objection was one of terminology. I
distinguish OOP from OBP (Object-based programming). Let's use another
example. An ancient language called Clipper introduced objects in V. 5.0,
most notably Tbrowse,  which meant table-browser. I discovered that one
could reduce a Tbrowser to a very tiny area, equivalent to the navigation
buttons onan Access form, and then attach an actual form to this, so the
form refreshed as one navigated using the Tbrowse object. That is not OOP,
it is OBP., for the simple reason that I could not create a class from
scratch, but merely create descendant classes. That is not to say that
descendant classes are not powerful. But it is to say that OBP will not
allow you to create classes from scratch -- say, for example, that I want
to create a slider control.  In Access, this is impossible. That is all
that I mean by distinguishing OOP from OBP. It's not an insult to Access or
its developers, or any virtuoso such as you or Shamil or Jim Dettman (whose
work is astounding). But it is to say that I cannot create a class from
scratch, such as a Slider control. I have to begin with the existing
classes and then wrap them.
A.

On Sat, Sep 5, 2020 at 9:58 PM John Colby <jwcolby at gmail.com> wrote:

> 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
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>


-- 
Arthur


More information about the AccessD mailing list