Semi-Automatic Priority list!

mafhobb

Registered User.
Local time
Today, 13:33
Joined
Feb 28, 2006
Messages
1,249
Hi Everyone. I have a challenge for those math-and-code oriented minds out there....I work in an R&D department that handles many projects (over 400 active projects at once, over 1200 total) and so I have created a database to keep track of the progress. One thing that is painfully apparent is the need for an easy to use priority list.
The way I have it setup now is quite simple. Each project has a unique ID# (autonumber) with is the primary key, and then the same table stores its status (Active, Cancelled, On Hold, Finished). The product manager also has a field in this table (Mike, for example)
What I want to do is the following: Add a column where the priority level of the project can be entered. Priority will be indicated as follows: 1 = highest, infinity = lowest. No number can be repeated, so the priority column will look like 1,2,3,4,5,6,7,8,...n. Priority numbers would be added for all Active projects when the column is added, however they should be updateable afterwards.
The key is to make it easy to update and to do that, I want to be able to select a project, enter a new priority number in the form for it (say I pick the project that had a priority of 168 and change it to 3) and then I need access to recompute all priorities for all projects from 3 down; for example, the old priority 3 turns into 4, old 4 turns into 5, and so on until it reaches 168.
Of course, when a project is finished or put on hold, its priority number should be deleted and all projects under it should have their priority "upped" by one.
Also, each product manager gets his own list, so in fact some numbers in the priority list will be repeated, but only because they belong to different product managers.

How is this for a challenge!

Does anyone have any idea how this can be done?

Thanks a million

mafhobb
 
A simple way to do this is using recordsets: So you have the form open where you change a record with a priority 20 to say 10. You change the current '20' to 9.5. Then you run the records where you have them sorted on the priority column and using a counter renumbering them 1 - x as you loop through them. When it gets to the record with the 9.5 it should change it to 10 and the thing will keep on looping till their all done.

Hope this makes sense - :)
 
See if this helps:
 

Attachments

Hum... That thing has a slight bug it... I'll see if I can fix it.
 
This one should be fixed (and a new feature):
 

Attachments

Wow, that is very close to what I needed. Can you explain again about the need to have the *10 factor in the priority reorder? Couldn't you entirely get rid of it or "mask" the form so that it appears to be the same as the #1 in the priority columns?

Mafhobb
 
For example, let's say I want to move something from 10 to 5.
Go to the priority re-order in 10, enter 5, and then have access grab the 5, multiply it by ten, do the calculations and then reassign the priorities?
 
Like this sample where you put 1.5 or something like that instead of 10, 20, etc
 

Attachments

This is a better way, I think. It will probably be easier to understand by my users.

There is a bug I have been trying to fix. If you pick Pavlova right after opening the zip sample and enter a new priority, for example 5, it goes to 5, but if you enter 1 it goes to 2. If you tell it to go back to 1 again, nothing happens. If you later tell it to go to 10, it will go to 9.

Why would it go to 5 after telling it to go to 5, but it would go to 9 when told to go to 10?
How is it that when 1 is entered it goes to 2?

Can you see this?

mafhobb
 
Are you working with the very latest db from the sample db thread?
 
I was using the last zipped version. I'll try the link now.
 
Awesome! This does exactly what I needed. I now just need to incorporate it in my db and add the different groups.

Thanks a bunch. This will make my life much easier

mafhobb
 
All right, I have done some minor tweaking to your creation:

I have added a "Status" field with three options and I have limited what shows up in the form by adding a filter (only active projects show up)

Now, what do I need to do to make it so that only the priority of the active projects can be changed and projects that are not active do not even have a priority number assigned to them (or a value that makes it effectively have none).

So: If I have 12 active projects, then the priority in those 12 can be changed but, for example, if I change an active project (say 5) to 13, then it will default to 12 leaving all projects not active untouched. This is so I do not end up having a list of active projects in order of priority and then one project that has just been put on hold have a priority number higher that an active one.

It would be my plan to have a dialog box take me to this form when a project that was on hold is changed to active, and therefore needing a priority.

mafhobb
 
All right, I have made some more modifications and I have run into a snag.

When changing the status on the left subform, the project moves to the right subform, but when making a status change to right subform, I get an error....Why?

mafhobb
 

Attachments

Users who are viewing this thread

Back
Top Bottom