[AccessD] How to do an Admin Table

Charlotte Foust cfoust at infostatsystems.com
Fri Feb 6 15:04:19 CST 2004


That's the way I do it as well, although I structure my table a bit
differently.

Charlotte Foust

-----Original Message-----
From: John W. Colby [mailto:jwcolby at colbyconsulting.com] 
Sent: Friday, February 06, 2004 12:10 PM
To: Access Developers discussion and problem solving
Subject: RE: [AccessD] How to do an Admin Table


John,

For a demo see www.colbyconsulting.com .

I use what I call a SysVar table.  However I would suggest using a
record for every variable rather than a single record with a field for
each variable.  The structure I use is:

SV_ID		- Autonumber PK - never really used but...
SV_VarName	- The name of the system variable - Company Name,
Developer Name,
whatever.
SV_VarValue	- The value of that SysVar
SV_Memo	- A text description of the variable, default values etc.

There are many reasons for going this way, SysVars can be added and
deleted at will, it is trivial to update values programmatically if
needed etc.

I have a class that I use for this.  The class is fed a table name, and
it opens the table and reads the SysVars into a collection, with the
collection value  the VarValue and the Collection key the VarName.  The
class then has a function that allows you to pass in a VarName and get
back the VarValue.

I use these EVERYWHERE.  It is a very handy concept once you get the
hang of it.  As you know, I do a framework.  I use a SysVar table right
in my Framework Library that sets up default functionality for the
framework. Things like:

VarName gJITSFrms, VarValue True

Sets up the framework to default to using JIT subforms.

In my code I then do something like:

	If FWSysVar.VarVal(gJITSFrms) = true then
		'Run the code that allows a JIT Subform
	else
		'Run the code that turns off JIT Subforms
	endif

IOW I can actually control program flow based on SysVars, turn on and
off or otherwise modify behaviors of the program.

I can then put an identical SysVar table (same name) in my FE and
OVERRIDE the default values.  The class has a "Merge" property that
reads values out of a second table and "merges" it into the collection.
If the value being read from the table is not already in the collection
it is simply added in. If the value being read from the table is already
in the collection, it is updated to the value being brought in.

This allows me to do things like "for THIS FE set the default JIT
behavior to false", i.e. don't use JIT as the default behavior.  In fact
I have developed a method of doing "overrides" on a form by form basis.
That is a little beyond the scope of this email however.

I can then build a APPSysVars table where I place application specific
sysvars.  This can be SysVars that modify APPLICATION BEHAVIORS based on
the values in this SysVar table.

Another SysVar table can be used for Application specific DATA such as
Company Name, Company Tax ID etc.

As you can see, SysVars are just a wonderful place to throw these things
and doing it on a record basis rather than a "new field in a single
record" basis allows me to just hop over to the SysVar table ad add a
new SysVar record when I need to do some new thing.

As I mentioned, I have a working demo up on my site.  Click the
C2DbSysVars button.

John W. Colby
www.ColbyConsulting.com

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of John Clark
Sent: Friday, February 06, 2004 2:25 PM
To: accessd at databaseadvisors.com
Subject: [AccessD] How to do an Admin Table


Forgive me, if this is an easy one, but I've even asked someone that
teaches the Microsoft Access certification classes, and they didn't know
how to do this either--or maybe I wasn't clear, when I asked.

I have had many programs where it would be useful to have an "admin"
table. This table would contain one single record with information
referenced in other parts of the program. For instance, I have a program
that figures monthly mileage for our county legislators, but it is
currently setup so that the rates are hard-coded and I have to alter
them everytime they are changed. I would like the user to alter this
themselves.

I have also thought about using this for programs--maybe in their splash
screens--to list the current directors names, and other info that may or
may not change in the future.

Any ideas how?

Thanks ahead of time...because I know if it can be done, somebody on
this list knows how to do it!!!

John W Clark

John W. Clark
Computer Programmer
Niagara County
Central Data Processing _______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com


More information about the AccessD mailing list