Form design

  • Thread starter Thread starter Jack Sheet
  • Start date Start date
J

Jack Sheet

Hi all
I want to create three forms:
One form is just for reviewing the entries on existing records in a table.
No amendments would be permitted and no additional records would be
permitted.
One form is for editing existing records in a table, but additional records
would not be permitted.
One form would be for adding new records to the table, but the user is
denied (in that form) permission to amend existing records. Have not yet
decided whether user should be permitted access to review existing records
on a read-only basis.
Is this possible, please? I assume it is possible with VBA, but currently
trying without VBA as just a newbie to Access. If there is a link I would
be grateful, but if complicated don't post it here, just let me know,
thanks.
 
Jack

Issues posted in the newsgroups are responded to in the newsgroups, that all
might benefit from the topic/discussion.

An alternative to three forms would be a single form whose properties change
to allow additions or not, allow edits or not, and for data entry only (or
not).

Check the properties of the form, in particular the AllowAdditions,
AllowEdits and DataEntry properties.
 
Thanks Jeff
-yes, I was expecting responses only in the newsgroup.
I will look at the options you suggested, thanks.


Jeff Boyce said:
Jack

Issues posted in the newsgroups are responded to in the newsgroups, that
all
might benefit from the topic/discussion.

An alternative to three forms would be a single form whose properties
change
to allow additions or not, allow edits or not, and for data entry only (or
not).

Check the properties of the form, in particular the AllowAdditions,
AllowEdits and DataEntry properties.
 
Jeff is correct in suggesint one form instead of three. Someday, you will
need to make a change. With 3 forms, that means 3 times the work.

Jack Sheet said:
Thanks Jeff
-yes, I was expecting responses only in the newsgroup.
I will look at the options you suggested, thanks.
 
I understand this. At the moment I am just not sure how to ensure that at
the point of launching the form the relevant permission properties are to be
set as required. But I will get there.
 
Set the properties in form design mode they way you would like them to be
when you open the form. Then, during form execution, you can change them
programmatically as needed.
 
Jack Sheet said:
I understand this. At the moment I am just not sure how to ensure that at
the point of launching the form the relevant permission properties are to
be set as required. But I will get there.
You will need a way to differentiate between users which will mean
implementing user-level security. This is not a job for a newbie - there
are some fairly experienced Access users who have come unstuck with
user-level security. If you decide to go the ULS way then check out the MS
FAQ - there's a link to it on my web site. Good luck.

Regards,
Keith.
www.keithwilby.com
 
Thanks for all the help.

My original intention was to prevent inadvertent (ie accidental) errors,
rather than as a control to deny individuals the right to make changes
(although I might get into that some other time).
In other words, if you intend to view records without changing them, even
though you might have the rights to do so, to prevent making unintended
changes, you would only open the form in read-only mode.
As a newcomer to Access (having spent all my former life on Excel) I was
driven by being distinctly uncomfortable about the fact that Access
automatically saves changes to the database with very limited capacity to
undo changes made in error.
 
You can undo changes, you just need to capture the 'before image' before you
make the update. Then you can always reverse it.
What you are trying to do is very ordinary. That facility exists on dozens
of systems I've worked on. Usually the form opens in 'read-only' mode and
then by pressing a command button it opens up the form for editing or adding
new records. The problem is that people will try to add a record then decoide
to exit thus leaving a blank record out there. This is what you will have
most problems preventing.
User level security is very simple to implement. All you need is a table of
users and a column to indicate level of access. You then do a DLOOKUPs
against this table. Again I have several systems that use this facility.

Dorian.
 
Keith

As an aside, there are ways to identify users and react accordingly without
invoking the full-fledged Access security model.
 
Jeff Boyce said:
Keith

As an aside, there are ways to identify users and react accordingly
without
invoking the full-fledged Access security model.
Ah, is this via the "ENVIRON" method to determine the network user ID?
 
Keith

I've used the Environment, and in an NT network, an API call to find out who
logged in.
 
Back
Top