Cronk
Registered User.
- Local time
- Today, 14:39
- Joined
- Jul 4, 2013
- Messages
- 2,772
I'm about to embark on the development of a new system for the daily rostering of fire trucks.
Ordinarily, I'd be aiming at a Roster table along the lines of
RosterID
PersonID
TruckID
RosterDate
RoleID (as in driver, crew, foam specialist because certain members have different training)
Normally, the roster is being done by Depot. Staff and trucks are assigned to a Depot but staff from another Depot can be assigned to a truck at another Depot.
Rostering is done by week.
I will need to display in an editable form, the data in 2 formats (separate forms)
(1) Select a Depot and show all staff at that Depot and the trucks (or other tasks eg leave, office duties) they are assigned to, for the 7 day roster ie Staff as row headers, Roster dates as column headers.
(2) Select a truck and show the data in the same format but showing also staff that may be rostered on that truck for some days, but showing where they are assigned if otherwise. This display is for the purpose of ensuring that a full crew is rostered for a truck.
A report would be easy using a pivot query but it would not appear editable.
I'm inclined to make the roster table, not for one day but for the week ie having instead of RosterDate, RosterDate1, RosterDate2 ....RosterDate7
I recognise that this is not strictly normalised.
Alternatively, I could make the form unbound and load/save the form data OnCurrent from a purely normalized Roster table above.
In case anyone might wonder, there are reasons that there is only one shift per day.
Maybe the roster entity could be considered as having a week of 7 days (not scalable) and therefore is normalised ie instead of having the field RosterDate, it would be StartOfRosterWeek.
I'm very inclined to have 7 day fields but I'd welcome any comments before I commit.
Ordinarily, I'd be aiming at a Roster table along the lines of
RosterID
PersonID
TruckID
RosterDate
RoleID (as in driver, crew, foam specialist because certain members have different training)
Normally, the roster is being done by Depot. Staff and trucks are assigned to a Depot but staff from another Depot can be assigned to a truck at another Depot.
Rostering is done by week.
I will need to display in an editable form, the data in 2 formats (separate forms)
(1) Select a Depot and show all staff at that Depot and the trucks (or other tasks eg leave, office duties) they are assigned to, for the 7 day roster ie Staff as row headers, Roster dates as column headers.
(2) Select a truck and show the data in the same format but showing also staff that may be rostered on that truck for some days, but showing where they are assigned if otherwise. This display is for the purpose of ensuring that a full crew is rostered for a truck.
A report would be easy using a pivot query but it would not appear editable.
I'm inclined to make the roster table, not for one day but for the week ie having instead of RosterDate, RosterDate1, RosterDate2 ....RosterDate7
I recognise that this is not strictly normalised.
Alternatively, I could make the form unbound and load/save the form data OnCurrent from a purely normalized Roster table above.
In case anyone might wonder, there are reasons that there is only one shift per day.
Maybe the roster entity could be considered as having a week of 7 days (not scalable) and therefore is normalised ie instead of having the field RosterDate, it would be StartOfRosterWeek.
I'm very inclined to have 7 day fields but I'd welcome any comments before I commit.