[AccessD] To a man with a hammer

Daniel Waters df.waters at outlook.com
Thu Feb 16 10:56:22 CST 2023


YES!  This is Access' Achilles heel.

People get started with Access with a good vision, but there's nothing in Access to tell them that they need more training.  So when the App get bigger there are often problems.  Then IT gets tasked with fixing a 'small' job which should only take a few hours but takes two weeks.  Over and over again.  This is why IT hates Access, or just won't support it.

I got lucky when I started.  I found a book titled, 'Database Design for Mere Mortals' in the late 90's.  I devoured that book.  But at that time it got deeply into 'normal forms' which I'd guess most of us now just use some common sense and practicality when designing tables.

Dan

-----Original Message-----
From: AccessD <accessd-bounces+df.waters=outlook.com at databaseadvisors.com> On Behalf Of John Colby
Sent: 16 February, 2023 10:36
To: Access Developers discussion and problem solving <accessd at databaseadvisors.com>
Subject: Re: [AccessD] To a man with a hammer

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


More information about the AccessD mailing list