Security and update rights

M

Markus

Hallo

I hope some one can help me i have the following problem.

i am using normal access security and i have a user which only has insert
access to the table so no update access. What i am trying to do is i have a
form which is used for invoicing. On this form i have i button which does the
following

it go to record next to save the current then it go previous then Prints the
report and set a value in a field to indicate that this invoice has been
printed. Now the problem is that i security is set to not allow update which
i don't want to change. So my question is, is there a way i can give only
update access to this one field and not the complete table. Or any other
ideas on how this can be done.

Thank you
Markus
 
R

Rick Brandt

Markus said:
Hallo

I hope some one can help me i have the following problem.

i am using normal access security and i have a user which only has
insert access to the table so no update access. What i am trying to
do is i have a form which is used for invoicing. On this form i have
i button which does the following

it go to record next to save the current then it go previous then
Prints the report and set a value in a field to indicate that this
invoice has been printed. Now the problem is that i security is set
to not allow update which i don't want to change. So my question is,
is there a way i can give only update access to this one field and
not the complete table. Or any other ideas on how this can be done.

Thank you
Markus

You can use a "Run With Owner's Permissions" update query to do the update
of the field and give the user permissions to that query.
 
M

Markus

Hi Rick

I dont understand how would you do that if i gve them update to the query
they would needs update access to the table to.
 
R

Rick Brandt

Markus said:
Hi Rick

I dont understand how would you do that if i gve them update to the
query they would needs update access to the table to.

That is the whole purpose of a "Run With Owners Permissions" query. The
user is allowed to use the query to do things to the underlying tables that
he has no permission to do directly.
 
M

Markus

Rick

How do you create this query and how do i limite the update access to this
one field only

Markus
 
R

Rick Brandt

Markus said:
Rick

How do you create this query and how do i limite the update access to
this one field only

When you create an Update query you explicitly indicate which fields will be
updated. If you only specify one field then that is the only one that will
be affected. In the property sheet of the query you will see "Run
Permissions" where you can choose "User's" or "Owner's"
 
M

Markus

Rick,

I did that i created a update query that will update this one field query
works fine i have changed the owern to the group users the groups user have
access to read and update date permission on the query but only Read and
Insert permission to the table it self. I still receive a error Record
cannot be edited no update permission on the table. But i dont want the user
to have update permission to the table as its a invoice table and legal
requirments dont allow update access to the table.

i hope you have a idea on what i am doing wrong
Markus
 
J

Joan Wild

Markus said:
Rick,

I did that i created a update query that will update this one field query
works fine i have changed the owern to the group users

Don't change the owner to the group. Leave the owner of the query as you (I
assume your username has full permissions on the underlying table).
the groups user have
access to read and update date permission on the query

Sounds good; when they run the query, they are doing so with the query
owner's (your username) permissions. Since your username has permissions on
the table, they'll be able to update.
 
M

Markus

i Dont get it how will the query do the update if the user does not have
update rights on the table.
 
R

Rick Brandt

Markus said:
i Dont get it how will the query do the update if the user does not
have update rights on the table.

Because YOU are the owner of the query and the query runs with "Owner's
Permissions" instead of "User's Permissions".

The concept is very similar to using a Stored Procedure on SQL Server. One
can create an SP on SQL Server that updates a table and give permissions to
that SP to a user who does not have permissions to the table directly. A
RWOP query in Access works the same way.
 
M

Markus

Rick

So if i understand it correctly the owner of the query should be example
Admin group since the admin has update rights to the table but the user does
not then the query will work becuase th owner of the query is admin even do
the owner is not loged on

Markus
 
R

Rick Brandt

Markus said:
Rick

So if i understand it correctly the owner of the query should be
example Admin group since the admin has update rights to the table
but the user does not then the query will work becuase th owner of
the query is admin even do the owner is not loged on

Yes.
 
J

Joan Wild

Markus said:
i Try it give me the same error user has no permisson to the Invoice table


Who is the owner of the query?
What permission(s) does your user group have on the query?
What permission(s) does the owner of the query have on the tables?
 
M

Markus

The owner is myself who is in the Admin groups with all rights. to the Query
and to the table

The user has insert data rights to the table and update rights on the query.
but when it runs the query it does not complane that the user does not have
access to the query it complains that the user does not have access to the
table.

Markus
 
R

Rick Brandt

Markus said:
The owner is myself who is in the Admin groups with all rights. to the Query
and to the table

The user has insert data rights to the table and update rights on the query.
but when it runs the query it does not complane that the user does not have
access to the query it complains that the user does not have access to the
table.

Is this a SELECT query based on the table or an UPDATE query? All of my
previous messages have been assuming it was an UPDATE query.
 
M

Markus

You assumtions are correct its a update query where i update a yes/no field
to yes to indicate that the invoice has been printed.

Markus
 
Top