If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
Prevent Deletions w/i Database
I am using Access 2000
I made a Db program for non-Access users to use. But someone figured out that you can delete the record. So I set the form for no deletions. But that does not take care of the table deletions. How can I prevent anyone from deleting rows from the Db table??? Please help - Aurora |
#2
|
|||
|
|||
"Aurora" wrote in news:018901c49050
: How can I prevent anyone from deleting rows from the Db table??? Depends on the sophistication of your users:- Very naive -- hide the database window and don't put navigation buttons on your forms Pretty basic -- hide the main menus too. Remember to give yourself a back door to switch them on with. Pretty able -- use full Access user-level security. Remove all permissions from your users except for what they actually need to see or write. Power users -- move to SQL server... g There are tools (reportedly) that can crack fully enabled Access security so if you are faced with a determined attack you'll just have to move up to industrial strength. Hope that helps Tim F |
#3
|
|||
|
|||
A slightly more elegant solution is to lock out all functions. You need to
give yourself a backdoor, however, like a password. Use the following function: Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer Dim dbs As Object, prp As Variant Const conPropNotFoundError = 3270 Set dbs = CurrentDb On Error GoTo Change_Err dbs.Properties(strPropName) = varPropValue ChangeProperty = True Change_Bye: Exit Function Change_Err: If Err = conPropNotFoundError Then ' Property not found. Set prp = dbs.CreateProperty(strPropName, _ varPropType, varPropValue) dbs.Properties.Append prp Resume Next Else ' Unknown error. ChangeProperty = False Resume Change_Bye End If End Function with calls that look like this: Const DB_Boolean As Long = 1 ChangeProperty "AllowBypassKey", DB_Boolean, True So, how you do this is to create a backup of your database. Add a form called, perhaps, security. This form has two buttons. Lock (which simply calls the above function with "false" instead of "true"), and unlock. The form has a text box in which you enter a password. When you press the "Unlock" key, the code checks that Forms![form name]!text[box#]="your password". When the file is 'locked', it is impossible to access menus and structure. That is why you need a backdoor (and why you made the copy before doing this). When it is unlocked, the next time it is opened you can manipulate it. Be smart and implement the 'unlock' code before the 'lock' code. Scott |
#4
|
|||
|
|||
more info at
http://www.access-programmers.co.uk/...p/t-71125.html "Tim Ferguson" wrote in message ... "Aurora" wrote in news:018901c49050 : How can I prevent anyone from deleting rows from the Db table??? Depends on the sophistication of your users:- Very naive -- hide the database window and don't put navigation buttons on your forms Pretty basic -- hide the main menus too. Remember to give yourself a back door to switch them on with. Pretty able -- use full Access user-level security. Remove all permissions from your users except for what they actually need to see or write. Power users -- move to SQL server... g There are tools (reportedly) that can crack fully enabled Access security so if you are faced with a determined attack you'll just have to move up to industrial strength. Hope that helps Tim F |
#5
|
|||
|
|||
Tim:
THANK YOU for your quick reply. How do I do the "Very Naive" and the "Pretty Basic" items? Also, I have wanted to give users only access to certain areas, using passwords, but did not know how to do this. Can you point me in the right direction? Do you know of an article or something else I can read to find this out? I do not know how to program. Can this be done without programming language? Aurora -----Original Message----- "Aurora" wrote in news:018901c49050 : How can I prevent anyone from deleting rows from the Db table??? Depends on the sophistication of your users:- Very naive -- hide the database window and don't put navigation buttons on your forms Pretty basic -- hide the main menus too. Remember to give yourself a back door to switch them on with. Pretty able -- use full Access user-level security. Remove all permissions from your users except for what they actually need to see or write. Power users -- move to SQL server... g There are tools (reportedly) that can crack fully enabled Access security so if you are faced with a determined attack you'll just have to move up to industrial strength. Hope that helps Tim F . |
#6
|
|||
|
|||
How to hide a table:
1. Right click on the table and check the 'hidden' box 2. Now you need to remove hidden objects from view. Go to Tools|Options and select the View tab. Uncheck the "Hidden Objects" box on the right. 3. Being able to see the tables is just a matter of checking the Hidden Objects box again. How to hide menus the easy way: 1. Tools|Startup and uncheck the boxes you don't want visible, like tool bars and menus. 2. In order for this to work you probably need to give it a form to launch on startup. Most times you have a 'master switchboard' so use that one. 3. The 'backdoor' for this method is to simply hold down the 'shift' key when opening the db. BTW, programming the things I mentioned is really much easier than you think. You can do almost all of it with just your mouse. (copy, paste, click click kind of stuff) Scott "Aurora" wrote in message ... I am using Access 2000 I made a Db program for non-Access users to use. But someone figured out that you can delete the record. So I set the form for no deletions. But that does not take care of the table deletions. How can I prevent anyone from deleting rows from the Db table??? Please help - Aurora |
#7
|
|||
|
|||
"Aurora" wrote in news:4cc301c490f5
: THANK YOU for your quick reply. How do I do the "Very Naive" and the "Pretty Basic" items? Scott has given you some methods for hiding the database window, or the objects within it. You can pick the options in the Tools | Startup dialog, and read the appropriate help pages too. Also, I have wanted to give users only access to certain areas, using passwords, but did not know how to do this. There is no simple way to do this. It's either a bunch of VBA programming, (and even then, pretty easy to circumvent) or getting properly into Access security. As an alternative approach, you might try getting your users to behave themselves with regard to the database itself. Explain that the thing really does need all those tables and records, and if they bugger it up then they are going to crash their own work. There may be a case for obstinate and wilful fiddling being made a disciplinary matter. They are not allowed to attack the hardware with a screwdriver and there is no reason to adopt a more permissive attitude toward software. Someone who is going to go out of his or her way to mess up a work database is always going to be a liability in one way or another. B Wishes Tim F |
#8
|
|||
|
|||
Scott:
Thank you for responding. But are you talking about Access 2000. I highlighted the table, and right clicked my mouse but there was no "hidden" box listed. I am using Access 2000 - Is there a different way to get to the hidden box? Aurora -----Original Message----- How to hide a table: 1. Right click on the table and check the 'hidden' box 2. Now you need to remove hidden objects from view. Go to Tools|Options and select the View tab. Uncheck the "Hidden Objects" box on the right. 3. Being able to see the tables is just a matter of checking the Hidden Objects box again. How to hide menus the easy way: 1. Tools|Startup and uncheck the boxes you don't want visible, like tool bars and menus. 2. In order for this to work you probably need to give it a form to launch on startup. Most times you have a 'master switchboard' so use that one. 3. The 'backdoor' for this method is to simply hold down the 'shift' key when opening the db. BTW, programming the things I mentioned is really much easier than you think. You can do almost all of it with just your mouse. (copy, paste, click click kind of stuff) Scott "Aurora" wrote in message ... I am using Access 2000 I made a Db program for non-Access users to use. But someone figured out that you can delete the record. So I set the form for no deletions. But that does not take care of the table deletions. How can I prevent anyone from deleting rows from the Db table??? Please help - Aurora . |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Database Window Gone | DaveB | General Discussion | 2 | July 29th, 2004 12:24 AM |
You do not have exclusive access... ERROR | Robin | General Discussion | 1 | July 6th, 2004 01:18 AM |
Firstly I am sorry if I have mis-posted this.I want to arrange that a database makes a call over ISDN; collects the data returned, stores it and moves on to the next record.I appreciate that this is not strictly speaking the function of a databas | Larry Linson | New Users | 0 | July 5th, 2004 12:55 AM |
DATABASE SQL staments | ediaz | Mailmerge | 2 | May 5th, 2004 07:20 AM |
copy table from closed database | Stuart | New Users | 4 | April 26th, 2004 07:09 PM |