A Microsoft Office (Excel, Word) forum. OfficeFrustration

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.

Go Back   Home » OfficeFrustration forum » Microsoft Access » Database Design
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Prevent Deletions w/i Database



 
 
Thread Tools Display Modes
  #1  
Old September 1st, 2004, 07:22 PM
Aurora
external usenet poster
 
Posts: n/a
Default 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  
Old September 1st, 2004, 08:30 PM
Tim Ferguson
external usenet poster
 
Posts: n/a
Default

"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  
Old September 2nd, 2004, 08:05 AM
Scott M
external usenet poster
 
Posts: n/a
Default

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  
Old September 2nd, 2004, 08:06 AM
Scott M
external usenet poster
 
Posts: n/a
Default

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  
Old September 2nd, 2004, 03:04 PM
Aurora
external usenet poster
 
Posts: n/a
Default

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  
Old September 2nd, 2004, 04:05 PM
Scott M
external usenet poster
 
Posts: n/a
Default

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  
Old September 2nd, 2004, 07:44 PM
Tim Ferguson
external usenet poster
 
Posts: n/a
Default

"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  
Old September 7th, 2004, 07:02 PM
Aurora
external usenet poster
 
Posts: n/a
Default

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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump

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


All times are GMT +1. The time now is 02:45 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.