I have attached my database. I need help establishing relationships given my objectives. I'm confused because I don't know where the relationships need to be on the table level. My goal here is to receive help in building good table design so that I can continue building my queries and forms.
Background: Our company manufactures auto parts. Each part has a part number, batch number, supplier code, and even a shipping dock code which is a combination of a letter and a number i.e., N1, S2, they are the names of our docks. All numbers assigned to parts such as the part number and Kanban are static with the exception of the shipping dock code, it changes for many parts every period, sometimes 2 or 3 times potentially. There are a series of tasks that needs to be performed, by each of 5 departments, related to the parts before the dock code change begins. The purpose of this database is to manage that dock code change/task related-workflow process.
WorkFlow: Parts that were shipped from a particular dock, i.e., N1 dock for one period may be shipped from S2 dock in another period. We call this processes Dock Code Change. I import the Dock Code Change information from an excel spreadsheet. The data goes to my Import table (Importtble) in my database which then goes to my Partstbl. Task assignments with due dates are housed in my Tasktble. The goal is to assign tasks to 5 departments. One department is assigned to complete task 1, 2 and 3, while another department will complete task 4 & 5 etc...This is routine and does not change. In other words those same departments will complete those same series of tasks each time there is a dock code change. In fact, the only thing that changes in this process are the due dates, a different group of parts, and the dock codes. Each task has a due date. My task and due dates fields are located in my Tasktbl. I want to be able to select a period via drop down combo and it bring up all parts and tasks for that period. Also I want to have the ability through the database to select any given Department (there are 5 departments listed in my Departmentstbl), and have the database filter by department and period all related tasks completed by that department. Also, users should only see current period data on the task form. For example, if we are in period 10 I only want the parts received in period 10 to show on my form.
Table Descriptions:
Headertbl - holds information such as current date and Dock Code change date, identifies which line parts are from (there are only two options here).
Partstbl - Information on parts, this is an input table...all this information comes to me through an import file.
Rejecttbl - This is a "pre" task process where all parts are examined and given approval. If parts are rejected they go into this table.
Tasktbl - stores all tasks and due dates (stores what needs to happen, when, and by which department) *most important table and is probably the heart of the database.
Usertbl - Connected to header...holds the names of those who has the ability to submit Dock Code Change requests.
DockChgtbl - Table that keeps info on when Period starts/ends and dock code change date.
Given that background, I'm unsure about my relationships. I want to make sure my design will accomplish my objectives. In summary, the database table relationships should support:
1. Forms should only show current period data.
2. Filter by Department and Period.
3. Assign various tasks to all parts.
Dock Code Changedb.zipDock Code Changedb.zip