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