PC Review


Reply
Thread Tools Rate Thread

Allow Only One User to View a Given Record at A Time

 
 
Steve
Guest
Posts: n/a
 
      15th Sep 2009
I have been assigned to create a work delivery application. The application
will provide a group of 10 people account numbers to work and perform
maintenance in another system. My stumbling block is how to make it so that
two people are not pulling the same record at the same time. Only one person
needs to pull it and perform maintenance in the other system. If a user
finishes with one record and the next record in the table is being viewed by
another person the user needs to be presented with the next record that is
not being viewed by another person. This is to avoid more than one person
trying to perform maintenance in the other system. The users will be making
edits to the record in the Access application I am making AFTER they perform
maintenance in the other system. After the maintenance is completed in the
other system, as it stands now, the user will enter the record in my Access
application as completed and move on to the next account that needs to be
worked that is not already being worked by someone else. I hope I explained
this well for everyone to understand what I'm trying to do.

Any suggestions on how I can make this work? The key thing is that only one
person can pull the same account records at the same time. Thanks for your
help.
 
Reply With Quote
 
 
 
 
Bryan
Guest
Posts: n/a
 
      15th Sep 2009
Steve -

I have a similar process.

You would want to have another field for the username to keep users from
working a record that someone else has. I assUme you have a field for some
sort of record number (ID) and some field to indicate the record is complete.

The query to find the next record would get the min ID for the record that
is not complete and the username is null.

intID = dmin("[ID]","[tblWorkFlow]","[username] is null and [CompletionDate]
is null")

The record with the ID from the previous step would be updated with the
username of the user to prevent others from getting it.

docmd.runsql "Update tblWorkFlow SET username=? where ID=" & intID

When the work is complete, update the records completion field and find the
next min record that isn't complete and doesn't have a username.

Bryan




When the

"Steve" wrote:

> I have been assigned to create a work delivery application. The application
> will provide a group of 10 people account numbers to work and perform
> maintenance in another system. My stumbling block is how to make it so that
> two people are not pulling the same record at the same time. Only one person
> needs to pull it and perform maintenance in the other system. If a user
> finishes with one record and the next record in the table is being viewed by
> another person the user needs to be presented with the next record that is
> not being viewed by another person. This is to avoid more than one person
> trying to perform maintenance in the other system. The users will be making
> edits to the record in the Access application I am making AFTER they perform
> maintenance in the other system. After the maintenance is completed in the
> other system, as it stands now, the user will enter the record in my Access
> application as completed and move on to the next account that needs to be
> worked that is not already being worked by someone else. I hope I explained
> this well for everyone to understand what I'm trying to do.
>
> Any suggestions on how I can make this work? The key thing is that only one
> person can pull the same account records at the same time. Thanks for your
> help.

 
Reply With Quote
 
Steve
Guest
Posts: n/a
 
      15th Sep 2009
Thanks.

"Bryan" wrote:

> Steve -
>
> I have a similar process.
>
> You would want to have another field for the username to keep users from
> working a record that someone else has. I assUme you have a field for some
> sort of record number (ID) and some field to indicate the record is complete.
>
> The query to find the next record would get the min ID for the record that
> is not complete and the username is null.
>
> intID = dmin("[ID]","[tblWorkFlow]","[username] is null and [CompletionDate]
> is null")
>
> The record with the ID from the previous step would be updated with the
> username of the user to prevent others from getting it.
>
> docmd.runsql "Update tblWorkFlow SET username=? where ID=" & intID
>
> When the work is complete, update the records completion field and find the
> next min record that isn't complete and doesn't have a username.
>
> Bryan
>
>
>
>
> When the
>
> "Steve" wrote:
>
> > I have been assigned to create a work delivery application. The application
> > will provide a group of 10 people account numbers to work and perform
> > maintenance in another system. My stumbling block is how to make it so that
> > two people are not pulling the same record at the same time. Only one person
> > needs to pull it and perform maintenance in the other system. If a user
> > finishes with one record and the next record in the table is being viewed by
> > another person the user needs to be presented with the next record that is
> > not being viewed by another person. This is to avoid more than one person
> > trying to perform maintenance in the other system. The users will be making
> > edits to the record in the Access application I am making AFTER they perform
> > maintenance in the other system. After the maintenance is completed in the
> > other system, as it stands now, the user will enter the record in my Access
> > application as completed and move on to the next account that needs to be
> > worked that is not already being worked by someone else. I hope I explained
> > this well for everyone to understand what I'm trying to do.
> >
> > Any suggestions on how I can make this work? The key thing is that only one
> > person can pull the same account records at the same time. Thanks for your
> > help.

 
Reply With Quote
 
David H
Guest
Posts: n/a
 
      16th Sep 2009
In addition to what Bryan mentioned below, I would design it so that the user
is initially provided with a blank form and then has to perform some action
to display the record being worked with. Then once complete they perform
another action that shows the record as being updated and presents them with
a new record.

When I initially read the post, a continuous form came to mind which might
lead to the users getting lazy. Basically with whatever approach you go with,
you'll need to force the user to take action to view a record given your
situation.

You'll probably also want to look at how you approach record locking to
ensure that its as pessimistic as possible.

"Bryan" wrote:

> Steve -
>
> I have a similar process.
>
> You would want to have another field for the username to keep users from
> working a record that someone else has. I assUme you have a field for some
> sort of record number (ID) and some field to indicate the record is complete.
>
> The query to find the next record would get the min ID for the record that
> is not complete and the username is null.
>
> intID = dmin("[ID]","[tblWorkFlow]","[username] is null and [CompletionDate]
> is null")
>
> The record with the ID from the previous step would be updated with the
> username of the user to prevent others from getting it.
>
> docmd.runsql "Update tblWorkFlow SET username=? where ID=" & intID
>
> When the work is complete, update the records completion field and find the
> next min record that isn't complete and doesn't have a username.
>
> Bryan
>
>
>
>
> When the
>
> "Steve" wrote:
>
> > I have been assigned to create a work delivery application. The application
> > will provide a group of 10 people account numbers to work and perform
> > maintenance in another system. My stumbling block is how to make it so that
> > two people are not pulling the same record at the same time. Only one person
> > needs to pull it and perform maintenance in the other system. If a user
> > finishes with one record and the next record in the table is being viewed by
> > another person the user needs to be presented with the next record that is
> > not being viewed by another person. This is to avoid more than one person
> > trying to perform maintenance in the other system. The users will be making
> > edits to the record in the Access application I am making AFTER they perform
> > maintenance in the other system. After the maintenance is completed in the
> > other system, as it stands now, the user will enter the record in my Access
> > application as completed and move on to the next account that needs to be
> > worked that is not already being worked by someone else. I hope I explained
> > this well for everyone to understand what I'm trying to do.
> >
> > Any suggestions on how I can make this work? The key thing is that only one
> > person can pull the same account records at the same time. Thanks for your
> > help.

 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

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

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
View one record at a time in a report. uroron Microsoft Access Reports 2 5th Sep 2007 08:15 PM
View Record one at a time =?Utf-8?B?Umljaw==?= Microsoft Access 1 21st Feb 2007 09:58 PM
Record - User, time login - time log-out Peter Microsoft Access Forms 3 17th Sep 2006 03:15 PM
Does a form view displays a single record at a time? =?Utf-8?B?TWFyeWxpbg==?= Microsoft Access Getting Started 4 30th Nov 2005 12:31 AM
Allow user to see both sql view and design view at the same time =?Utf-8?B?Z2phbnNzZW5tbg==?= Microsoft Access Queries 0 5th Oct 2005 07:07 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 03:40 PM.