disable changing data thru tables

anski

Registered User.
Local time
Today, 21:54
Joined
Sep 5, 2009
Messages
93
i have tried encrypting the database and splitting the database as well (front-end and back-end). even by doing these things, users are still able to see the tables and open the tables. they can change/add data thru these tables. i don't mind if they are able to open the table just as long as they cannot change/add/delete data found in the table.

how do i disable the edit/add/delete of data thru tables? better yet, how do i totally keep the users from being able to open the tables and see the data.
 
Make the users' front ends MDEs maybe?
 
Or if you want to keep them as MDBs you can disable the database window (but you have to have a form that opens on startup).
 
Or if you want to keep them as MDBs you can disable the database window (but you have to have a form that opens on startup).

hi jamesMcS. i am using ms access 2007. how do i exactly disable the database window? i already have a start-up form. even with my start-up form, the user is still able to unhide/enable the navigation pane and see all the objects including the tables. i don't want to change the table names by using the word "usys" because the user can still check the "show system tables" in access' set-up. i don't mind if the user is able to see the tables just as long as he cannot edit the data (or better: open the table).

with regard to access 2007, i believe the MDE has been replaced by ACCDE. i'm not sure if they are the same thing. any suggestions?
 
Round Access Button > Access Options > Current Database
Disable Show Navigation Pane

You will also want to disable Use Access Special Keys or they can open it with F11.
Of course they can always go in and change these settings back.
 
That's the one. I think you can also customize menu options to stop them from being able to reset the options.

However an MDE/ACCDE would be the best solution, as there's simply nothing for users to access.
 
Or if you want to keep them as MDBs you can disable the database window (but you have to have a form that opens on startup).

you guys are correct about the user being able to reset the options. jamesmcs, how can i do the one above? isn't there another way to disable data entry thru tables? :confused::confused::confused:
 
That's the one. I think you can also customize menu options to stop them from being able to reset the options.

However an MDE/ACCDE would be the best solution, as there's simply nothing for users to access.

Sorry James but that is not quite correct. Just creating an MDE or ACCDE does not mean that the user cannot get in to things. They, in fact, can get to tables and queries and can change data directly in them as well as create, edit and delete tables and queries. So, you do still have to eliminate access to the Navigation Pane and the F11 key.
 
Ah cheers for the tip Bob - I'm just about to start messing about with these... I thought that it pretty much just left you with the front end and nowt else.

So in that case then an MDE won't be any good. I would imagine a combination of custom toolbars/ribbons, disabling the database window and disabling the shift-when-opening-database function would be the way to go.

Toolbars:http://office.microsoft.com/en-us/access/HP051890051033.aspx
Shift Key:http://www.techonthenet.com/access/security/disable_shift.php
Hide DB window: Above
 
One way is to enforce referential integrity in the relationships. Though that will filter out the non-DB guys, those with some understanding can still enter data to the parent table and child table.

Anyway, the only reliable way I could think of is to change the way your front-end accesses the database. Instead of linked tables, use connection strings and DAO or ADO, password protect your database and make your front-end as MDE.
 
One way would be to have separate backend (either split or manually). Create a query in the front end and do NOT select a table or query source. Click on properties and add the path of the backend, the filename and file extension (dispite what the MS KB says). Than goto SQL view and type in "SELECT * FROM [tablename]". Goto design view and select all the fields and drag them to the QBE columns at the bottom. Put in critirea for any field (for instance "Not Null" for a autonumber field) that will select all the records you want. Use this query for your forms etc. that you do not want editing and additions.
For additions (or editing for that matter) you could use vba and ADO/DAO recordsets to update records in the backend.
HTH
Imran
 

Users who are viewing this thread

Back
Top Bottom