[AccessD] To a man with a hammer

John Colby jwcolby at gmail.com
Thu Feb 16 10:36:17 CST 2023


Understood.  And so when I simply make a statement "you  might want to use
a class..." it is not my intention to put anyone down.  On the other hand
to be told "when all you have is a hammer..."

The sad reality is that Microsoft built Access to allow the beginner to get
the objects on a form working right away, with little helpers that install
the hooks etc.  Cool stuff but... The sad part is that Microsoft didn't
ever really give us instructions on how to move beyond that.  I would guess
that 98% of VBA developers have never used a class.

And so, whenever a developer discusses inserting code into a code behind
form I am going to suggest looking beyond that.  And I am forced to put up
with the "man with a hammer" crap when I do so.

On Thu, Feb 16, 2023 at 11:11 AM Charlotte Foust <charlotte.foust at gmail.com>
wrote:

> John,
> I understand what you are saying and took much the same approach when I was
> still building Access apps, it feels unkind to put down developers who are
> still learning or who are working under constraints that don't allow them
> to use our approach.
>
> Charlotte Foust
> (916) 206-4336
>
>
> On Thu, Feb 16, 2023 at 5:22 AM John Colby <jwcolby at gmail.com> wrote:
>
> > In my opinion, the user interface is an absolutely critical part of any
> > app.  Too often the programmer treats the UI as an afterthought, which
> ends
> > up causing the entire application to be a disjointed mess.  I have
> designed
> > dozens of applications for dozens of companies over the 25 years I have
> > worked in Access and over that time I figured out UI things which should
> > just always be the same, everywhere, in every form.
> >
> > Notice that in Windows, every single application has a set of three
> > controls in the upper right corner, a 'close', 'restore down', and a
> > 'minimize' button.  Always there.  Not sometimes there and sometimes
> > somewhere else, and sometimes not present.  In fact if we as developers
> > want that to not appear in our forms we have to jump through hoops to
> make
> > it not appear.
> >
> > So whenever I see a developer describing shoving UI kinds of things into
> a
> > form class, my mind cringes.  As soon as I place anything into a form
> class
> > that has any chance of being used twice I have started a UI disjointed
> > mess.  I have taken over other developer's projects, and understanding
> all
> > the crap in the typical form class is one of the major undertakings.
> >
> > As for a class being a hammer... in my view even saying such a thing
> speaks
> > volumes about the person saying it.  They either don't understand classes
> > or they have no imagination.  And yes, I get tired of being told I have
> no
> > imagination when in fact it is the person saying such things which has no
> > imagination.
> >
> > I have a class which wraps every single data aware UI object in Access,
> > think textbox, combo, radio button etc.  I have a pair of classes which
> > collect errors as they occur.  I have a class which logs anything.  The
> > error handler class uses the log class to log errors collected.  I have
> an
> > FTP class, not as useful as it once was.  A class to do MD5 hashes.  A
> pair
> > of classes to parse and deal with OpenArgs for when a form opens.  A pair
> > of classes which read Sysvars out of my SysVar table and caches them into
> > memory so the app doesn't have to hit a table every time.  A timer class
> of
> > course.  A zip class, with a matching unzip class.  And many more classes
> > as well.  All, BTW, placed out in a framework library which can be
> > referenced from any app I desire.
> >
> > What about those many varied purposes describes using a hammer to you?
> > Well maybe, if you have no imagination I suppose.
> > --
> > John W. Colby
> > Colby Consulting
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > https://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> >
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> https://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>


-- 
John W. Colby
Colby Consulting


More information about the AccessD mailing list