R2D2 Posted November 2, 2016 Posted November 2, 2016 Hi! I'm planning a job schedule application. There is about 36 different "work stations" or "positions" each day (the left side in a picture) and the dates are in top (Monday to Sunday) In every shift or position there is usually only one person, but occasionally there can be several in one duty (up to 10). I cannot figure out how this can be shown in a listing. If I reserve extra space for possible extra person to each field, the whole list would become a mile long. I have been thinking of repeating fields but it would not solve this problem. Any ideas?
R2D2 Posted November 11, 2016 Author Posted November 11, 2016 Hi! I still have no idea how to do this. So briefly again: I have every day about 15-30 different working stations in 3 shifts. Usually there is only 1 person working in one station at the time, but sometimes there could be 2 or even more. And sometimes even 10 persons are scheduled to a training day. How could it be possible to show whole weeks schedule if there is a various number of workers in one shift? Any help, please...
comment Posted November 11, 2016 Posted November 11, 2016 I don't know of a simple way to accomplish this. Unless you are printing the schedule, the height of each row will be constant. If you want to show a dynamic number of rows per station, you will have to have a dynamic number of records per station (in an auxiliary table, of course). Or consider displaying this in a web viewer.
R2D2 Posted November 12, 2016 Author Posted November 12, 2016 Hello! Thank you for your reply! I agree that there is no easy way. Unfortunately this will be an online application, so printing will be just an option for users. That auxiliary table sounds interesting. How could this be done with it? Most of the users will use this via webdirect. Can it adjust row height?
comment Posted November 12, 2016 Posted November 12, 2016 7 hours ago, R2D2 said: That auxiliary table sounds interesting. How could this be done with it? Roughly: For each position, calculate the maximum of persons in a shift. That is the number of records required to display the position. The first record will show the position's name and the first person in each shift. The second record will show the second person in each shift, and so on.
R2D2 Posted November 12, 2016 Author Posted November 12, 2016 Mmmhhh... I don't get it... Now I have 3 tables: Shifts (each separate shift is listed here. Like: Packing, 9am - 5 pm, persons name in a), Personnel (names etc.), Calendar, where the dates are created to the future, and then relations to shifts. In Calendar each position and shift are shown in a separate line in a list view.
comment Posted November 12, 2016 Posted November 12, 2016 I am a little confused, because your screenshot does not show individual shifts, only dates. In any case, for recording the data you need (at least) a table of Personnel, a table of Positions, and a join table of Assignments - where each record represents a single assignment of a person to a position on a specific date (and in a specific shift, if your days have multiple shifts). For displaying the data in the format you want, you will need another table with a field for the position's name and 7 fields, each showing the name of a single person assigned to that position on a given day of the week. Populating the table is a challenge involving a mixture of scripting and calculations. I suggest you take a look at the "virtual list" technique, as it is close to what will be required here.
R2D2 Posted November 13, 2016 Author Posted November 13, 2016 14 hours ago, comment said: I am a little confused, because your screenshot does not show individual shifts, only dates. In any case, for recording the data you need (at least) a table of Personnel, a table of Positions, and a join table of Assignments - where each record represents a single assignment of a person to a position on a specific date (and in a specific shift, if your days have multiple shifts). For displaying the data in the format you want, you will need another table with a field for the position's name and 7 fields, each showing the name of a single person assigned to that position on a given day of the week. Populating the table is a challenge involving a mixture of scripting and calculations. I suggest you take a look at the "virtual list" technique, as it is close to what will be required here. Thank you, Comment! I'm sorry that the screenshots were partially in Finnish. The Positions are in the left column (black), dates at the top and the assigned persons will be there below each day (now there is just codes for the shift planning purposes). The codes will be replaced with names, but person who will use this as a planning tool, wants to build "rotations" and uses codes for this. But I'll try to find the answer from the virtual lists.
Recommended Posts
This topic is 3287 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now