[AccessD] Standard vs. Class Module

John W. Colby jcolby at colbyconsulting.com
Tue Feb 4 13:04:00 CST 2003


MessageNo, absolutely not.  I do recommend having classes to group code for
functionality that you would load multiple instances of.

Take an example.  I have code to parse a string to get rid of some
character.  That is just a function.  It is called from queries (mostly),
but may also be called from other functions as well.  That belongs in a
library, in a simple module.  It is just code.

My class to handle combos on the other hand is loaded into memory, once for
each combo on any form loaded.  That class knows how to implement behaviors
for various events.  It knows how to load a form for NotInList events in
certain situations.  It knows how to load a form for dbl-click events in
other situations.  this is code that every combo in my application uses.
DblClick on ANY combo anywhere in my application and something will happen.
A message may pop up informing you that you are not allowed to edit this
list, or a form may open allowing you to edit the data behind the combo.
But that code is generic.  EVERY combo can access that code if I decide to
do so.  It belongs in the combo class since it is specific to the combo.
Queries are never going to call it.  text boxes are never going to call it.

You get the picture?  By putting that code in the combo class, when I need
to maintain combo code I can simply say "oh, that is in the combo class".  I
no longer have to go hunting through forms to see what function is hooked to
the dbl-click event and go open that function to see how it works.

John W. Colby
Colby Consulting
www.ColbyConsulting.com
  -----Original Message-----
  From: accessd-admin at databaseadvisors.com
[mailto:accessd-admin at databaseadvisors.com]On Behalf Of Myke Myers
  Sent: Tuesday, February 04, 2003 1:54 PM
  To: accessd at databaseadvisors.com
  Subject: RE: [AccessD] Standard vs. Class Module


  Thanks for an explanation of how you use class module. I had never
considered having a class for each control.
  Do you recommend using class modules for all code?

  Thanks,
  Myke
    -----Original Message-----
    From: accessd-admin at databaseadvisors.com
[mailto:accessd-admin at databaseadvisors.com] On Behalf Of John W. Colby
    Sent: Monday, February 03, 2003 7:05 PM
    To: accessd at databaseadvisors.com
    Subject: RE: [AccessD] Standard vs. Class Module


    A module is simply a container for code, nothing more.  A module can
contain global variables, local variables, functions, subs etc.  In the end
however, it is just a container full of code.

    A class module defines a class, and holds code and variables that
implement the methods and properties of that class.  A class is a template
for an object and an instance of that object (class) will be loaded when you
set a variable = to that class.  in other words.

    dim lMyClass as MyClass
       set lMyClass = new MyClass

    You use classes to create an object which will load into memory and do
something.

    In my framework I have classes for each type of control that Access
provides.  One of my classes is for text boxes.  Whenever a text box is
opened on my forms, I load a class and pass a pointer to the text box that
just opened.  The text box class can now implement behaviors for that
specific text box that "belongs to it" (or v.v.).  For example whenever the
text box gets the focus, I can cause the background to change colors.  Or I
could compute a value based on the value it already contains * the value of
some other control.

    So a class contains the code for an object.  When you dimension a
variable of type (whatever your class name is) and then set the variable,
you load an instance of the class.  You can have just one, or a hundred
instances of your class.  When my forms load, I have an instance of my text
box class for every text box on my forms.
    John W. Colby
    Colby Consulting
    www.ColbyConsulting.com

      -----Original Message-----
      From: accessd-admin at databaseadvisors.com
[mailto:accessd-admin at databaseadvisors.com]On Behalf Of Myke Myers
      Sent: Monday, February 03, 2003 6:44 PM
      To: accessd at databaseadvisors.com
      Subject: [AccessD] Standard vs. Class Module


      Can anyone describe how to determine when to use a standard module and
when to use a class module in Access?

      TIA    Myke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://databaseadvisors.com/pipermail/accessd/attachments/20030204/607a439c/attachment-0002.html>


More information about the AccessD mailing list