specify that a database can only be opened with access

  • Thread starter stumped_in_michigan
  • Start date
S

stumped_in_michigan

How can I specify that a database can only be opened with Microsoft Access?
 
L

Larry Linson

stumped_in_michigan said:
How can I specify that a database can only be opened with Microsoft
Access?

There is no Access-compatible database product that can open an Access
database and work with it, but Access/Jet databases' data can be read using
the DAO or ADO libraries, or some open-source readers.

You can "open" an Access/Jet database with Microsoft Word, to dire
results -- unrepairable corruption. For this particular thing, Michael
Kaplan has something on his http://www.trigeminal.com site.

If you'll tell us what you had hoped to accomplish by this, perhaps someone
can suggest another solution.

Larry Linson
Microsoft Access MVP
 
B

Brendan Reynolds

There is no 100% reliable way to do this, and I rather doubt that there is
any 75% reliable way. You can use JET security to make it somewhat more
difficult for the average user to access the data other than via Access, but
given the user name, password, and location of the workgroup information
file, any moderately knowledgeable person can get at the data via other
applications, such as Excel.
 
P

peregenem

stumped_in_michigan said:
How can I specify that a database can only be opened with Microsoft Access?

Use security to grant and revoke permissions to users and groups. You
should be able to fake an 'application role' by hard coding a user ID
and password in the Access application. If you have an issue with users
without permissions using your data then you should probably not be
using Access/Jet.

That said, is your data/database is any good, why restrict it to a
single front end application? It is good practise to at least provide
PUBLIC views of the data (i.e. a VIEW a.k.a. Query Object with SELECT
permissions) and ideally PUBLIC procedures (i.e. a PROECDURE a.k.a.
Parameter Query, again with SELECT permissions which is not always
intuitive e.g. when the underlying command is an UPDATE then UPDATE
privileges are insufficient). The idea is that if you provide
controlled ways for non-Access users to read/write data then they will
have less incentive to attempt to circumvent security.

For SQL DDL commands relating to permissions, see:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnacc2k/html/acadvsql.asp
 
Top