PC Review
Forums
Newsgroups
Microsoft Access
Microsoft Access VBA Modules
Allow Only One User to View a Given Record at A Time
Forums
Newsgroups
Microsoft Access
Microsoft Access VBA Modules
Allow Only One User to View a Given Record at A Time
![]() |
Allow Only One User to View a Given Record at A Time |
|
|
Thread Tools | Rate Thread |
|
|
#1 |
|
Guest
Posts: n/a
|
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. |
|
|
|
#2 |
|
Guest
Posts: n/a
|
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. |
|
|
|
#3 |
|
Guest
Posts: n/a
|
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. |
|
|
|
#4 |
|
Guest
Posts: n/a
|
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. |
|
![]() |
|
| Thread Tools | |
| Rate This Thread | |
|
|

Main Page 

