I'm trying to figure out how to tell my Access database "For me - I
wanna access all objects. For anyone else who opens it up - only
forms
& reports".
I don't know how to create macros - so that way is out. I think
startup options is the way to go but i can't seem to figure it out.
I
dont see any documentation on it and i'm not sure how to set it
up....
I've been struggling with this for a week. Thanks for any help
Jason Shohet
There is no reliable way of doing so in Access 2007. There is some
stuff about the Navigation Pane at
http://blogs.msdn.com/access/archive/2005/11/01/488022.aspx which
shows you most of how to hide things in the Navigation Panel,
including "removing" access to altering the design. I put "removing"
in inverted commas, because I am not convinced that it does this
completely. Certainly, if you have a database protected with the new
souped-up database password and encrypted with the new souped-up
encryption, it is still easy to get at the data. For example, if you
open such a database up with the Navigation Pane set up correctly (and
hope your users don't know about the Shift key bypass from days of
yore), you may think you don't have access to the tables and their
data, but if you open another database, you can use code like the
following to read/alter/delete data from your first one:
Public Function Stuff()
Dim App as Access.Application
Dim db as DAO.Database
Dim tdf as DAO.Tabledef
Dim fld as DAO.Field
Dim rst as DAO.Recordset
Set App=GetObject(, "Access.Application")
Set db=App.CurrentDb
Set rst=db.OpenRecordset("Your table name")
Do While Not rst.EOF
Debug.Print rst(0) 'or alter it or delete it or whatever
Loop
rst.Close
Set rst=Nothing
Set db=Nothing
Set App=Nothing
End Function
Unless there is something I have missed - and hopefully I have, I
reckon this makes Access 2007 a waste of time for more than one user.
Which is a pity as I make my living from Access.....
Alan Cossey