startup option confusion w/ 2007 beta

J

jasonshohet

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
 
A

Alan Cossey

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top