View Single Post
  #5  
Old November 22nd, 2005, 08:14 PM posted to microsoft.public.access.tablesdbdesign
external usenet poster
 
Posts: n/a
Default When "Splitting" isn't enough

Tim,

I really appreciate your suggestions! I tried something similar to your
second (2) idea, except I couldn't figure out how to get around the issue
appending without the structure. Each record must have a unique DB key, and
my employer insists that it be auto-generated. As such, I can't append to
the back end (or something like it) because if I use an AutoNumber in the
front end, each record would have a DB key no. equal to 1. Likewise, if I
locate the AutoNumber in the back end only, it gets removed whenever a record
is appended. I tried getting around this by using the Lookup Wizard in the
primary table (this is before I split the DB) to a query that concatenated
two controls in the same table, but this won't work as this operation creates
a combo box.

I'm interested in your first (1) idea, but could you explain what a RWOP set
is?

Finally, in addition to the "overwritting" issue, I thought it would be good
to prevent access to other records since I'm using so many forms (18) for the
data entry. I didn't want the user to have to select (or make sure) the
correct well each time they opened the preceeding form.

Any more thoughts? Thanks Tim!!

"Tim Ferguson" wrote:

"=?Utf-8?B?R2VvZ2Vlaw==?=" wrote in
:

I've split my test run and most everything works great. However, how
do I provide a multi-user environment that does not allow each user to
view/access existing records (to prevent accidental data overwritting,
etc.), but at the same time allow the user to "Go Back" to a previous
page (form) to make edits while entering data?


Number of approaches:

1) Install Access User-level security; remove all rights from users and
base all your forms on queries with RWOP set. These queries should filter
records according to "WHERE EnteredBy = [Username]" As long as the form
or the default values set the EnteredBy field correctly, they will be
able to see records they have entered and no other ones.

2) Have your users enter data into temporary tables, and then use an
append query when they have finished to push all the data into the real
tables. Remember to empty the temporary tables; or better create a new
mdb to hold them each time and delete if afterwards.

3) Avoid the problem altogether by educating your users about not messing
up other people's records. Read them the data protection act, or whatever
it takes. IME, human solutions always work better than technological
ones.

There are advantages and disadvantages about each approach. There are
bound to be other solutions too. Only you can decide what your business
needs are.

Hope that helps


Tim F