"How can I maintain information about the application itself,
about the user's preferences, and other information that isn't party of
the application's data?"
Create Database Properties
This is appropriate for properties of the database application that
change only when the application itself changes -- for example, the
version of the "front-end" or "client" application.
This isn't desirable for user settings... to maintain the position
and size of forms, for example, or user's color preferences. When you
distributed a new release of the front-end or client application, the
saved properties of the previous release are no longer available.
Maintain Tables with System Information
As with properties, a local table in the "front end" or "client
application" is appropriate for properties of the application that
change when the application itself changes, but not for user settings
because those settings will be overwritten by a new release of the front
end or client application.
A table in the separate back end database, or in the server tables,
is appropriate for data that should be preserved across releases of the
front-end or client application, for user settings and preferences
(identified by user), and for information that is specific to the
back-end or server tables data itself.
A workable approach is to use either created properties or a local
table for information about the front-end or client application that
changes only when the front-end or client application changes, and a
table in the back-end or server tables for other information.
Protecting your System Information
To "hide" the system information table(s), begin their names with
USys, an abbreviation for "User System" which will cause them
to be treated similarly to the Access "System" tables, the names of
which begin with MSys. Neither will be visible in the Tables tab of the
Database Window unless the user has chosen the option to display all
files, including system files.
You can also select the Table, click the Properties icon in the
Toolbar, and choose "Hidden". There are reports of hidden tables being
deleted when the database is Compacted, but in my tests of Access 97,
Access 2002, and Access 2003, all up-to-date as of August 2003, hidden
tables were not deleted by compacting the database.
Both these methods can be overridden in Tools | Options, if the user
chooses to display system tables and/or hidden tables. If you wish to
protect the information, consider using Access' security and encryption,
or your own encryption (there are many encryption libraries available,
for free or for fee).