Br@dley wrote:[color=blue]
> Bob Alston <tulsaalstonsNOSPAM@cox.net> wrote:
>[color=green]
>>David W. Fenton wrote:
>>[color=darkred]
>>>"Wayne Morgan" <comprev_gothroughthenewsgroup@hotmail.com> wrote in
>>>news:OyeGe.2068$oY.774@newssvr25.news.prodigy.n et:
>>>
>>>
>>>
>>>>While this won't stop them if they get access to the database
>>>>window, you could make the queries "Snapshots". Snapshots are read
>>>>only and any subsequent object based on that query will also be
>>>>read only for data that comes from that query. Also, reports
>>>>aren't a problem, there is no editing data that the user can do in
>>>>a report. The problem would come it if you give them access to a
>>>>form or query (or the table itself) that is read/write.
>>>
>>>
>>>Why not skip linked tables and assign the recordsources using
>>>connect strings, like:
>>>
>>> SELECT ...
>>> FROM MyTable IN '\\Server\databases\Data.mdb'
>>> WHERE ...
>>>
>>>Then set the recordset type for the form to SNAPSHOT.
>>>
>>>Again, absent user-level security, the end user could still change
>>>the recordsource and the recordset type property at runtime, but
>>>this would surely slow them down substantially.
>>>
>>>The other advantage of this is that you could alter the recordset
>>>type property at runtime according to who the user is, so that you
>>>wouldn't have to have completely different front ends for the
>>>read-only and editing-allowed users.
>>>[/color]
>>
>>I don't want to use a form. I suspect the users will work from
>>queries, do cross tabulations and occasionally reports. So I really
>>need to protect the table or hide the table and protect the
>>underlying query.
>>Bob[/color]
>
>
> By now you could have easily setup jet security to limit write access to
> your tables. It's there for a reason so why not use it?[/color]
I have used it and find it adds a layer of complexity to things. I try
to avoid if I can.
So far I found the one very simple approach, noted above.
Create a new MDB with one table with one field defined. Using the
operating system, make the mdb read only.
In the user's database, link to the real data and to the r/o database.
CReate a new query with both the real data and r/o table. Select all
fields from the real data. No need to select any data from the r/o
table or make any relation.
Save the query.
Hide the two linked table definitions.
All the user sees is the query which has the desired data but read-only.
Here is the thread where I learned how to do this:
http://groups-beta.google.com/group/...ef78d347511c73
But am still open to anything even easier than that.
Bob