1) Does this include tables? You say "data entry points" and am not
sure this is for tables or not.
This is based on the fact that no users should ever come directly in contact
with a table. Thus I use the phrase data entry points in place of forms,
which is where users should be editing data from (I think that one of the
reasons users should not come in contact with tables is for this reason...
regardless, this is one of the ten commandments of db development).
Occasionaly, user may end up executing queries, which can be restricted in
this way (programmatic selection of fields in the query based on user
security level), where tables cannot.
2) Is there a way to keep all users out of tables? (If I want them to
go into one directly, I could just build a form/sub for it). I'm just
concerned if a user goes directly to a table how all this works.
Don't let tables be a part of the interface... again, they should never come
in contact with tables directly, but instead use forms/subforms, queries,
etc. In the startup properties for the db uncheck Show Database Window and
uncheck the option for using special keys (this gets rid of the user being
able to hit F11 to pull up the db window). This can be done programmatically
as well, but personally I think its much much easier to do it through the
startup options (in fact... I think that ALL of the access interface should
be removed... menus, toolbars, db window, special keys, etc, and replaced
with such that are relevant to your application). I generally do the db
window and special keys right before deployment to make the development
process a bit easier to handle.
By setting these startup commands and deploying and MDE file, users should
have no methods of coming into contact with the tables, no matter how hard
they try (unless of course you give them an option to somehow).
(startup commands are based on access 2000 - 2003 (not sure about 07))
--
Jack Leach
www.tristatemachine.com
"I haven't failed, I've found ten thousand ways that don't work."
-Thomas Edison (1847-1931)