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>