Hello,
I used Access 2007 to build a database that tracks projects. All projects are listed in tbl_Projects:
tbl_Projects
ProjectID (PK)
ProjectTitle
Each project has three types of agencies associated with it. One type of agency works the actual projects. The second type approves the work. The third type pays for them. I list the names of all agencies in tbl_Agencies.
tbl_Agencies
AgencyID(PK)
AgencyName
I have another table, tbl_AgencyType, listing the three types of agencies.
Tbl_AgencyType
AgencyTypeID(PK)
AgencyTypeName (consists of three entries: Worker, Approver, and Payor).
Since each project has many agencies and one agency can have many projects, I created a juncture table, tbl_ProjectAgencies, to accommodate the many-to-many relationship between projects, agencies, and agency types.
tbl_ProjectAgencies
ProjectAgencyID (PK)
ProjectIDFK
AgencyIDFK
AgencyTypeIDFK
I was trying to structure my tables in conformance with data normalization principles, but right now this is a mess. I need to be able to query any agency and return all projects associated with it. My attempts to construct this query have so far returned no records or an error message saying that the expression is too complex to be evaluated.
Is this the correct table design for the situation that I am trying to track? Or should I simply create “Worker Agency”, “Approving Agency,” and “Payor Agency” fields in tbl_Projects, separate the Worker, Approver, and Payor agencies into three separate tables, and do three separate one-to-many relationships between tbl_Projects and the three agency tables?
I am utterly grateful for any assistance you can provide. Thank you!
I used Access 2007 to build a database that tracks projects. All projects are listed in tbl_Projects:
tbl_Projects
ProjectID (PK)
ProjectTitle
Each project has three types of agencies associated with it. One type of agency works the actual projects. The second type approves the work. The third type pays for them. I list the names of all agencies in tbl_Agencies.
tbl_Agencies
AgencyID(PK)
AgencyName
I have another table, tbl_AgencyType, listing the three types of agencies.
Tbl_AgencyType
AgencyTypeID(PK)
AgencyTypeName (consists of three entries: Worker, Approver, and Payor).
Since each project has many agencies and one agency can have many projects, I created a juncture table, tbl_ProjectAgencies, to accommodate the many-to-many relationship between projects, agencies, and agency types.
tbl_ProjectAgencies
ProjectAgencyID (PK)
ProjectIDFK
AgencyIDFK
AgencyTypeIDFK
I was trying to structure my tables in conformance with data normalization principles, but right now this is a mess. I need to be able to query any agency and return all projects associated with it. My attempts to construct this query have so far returned no records or an error message saying that the expression is too complex to be evaluated.
Is this the correct table design for the situation that I am trying to track? Or should I simply create “Worker Agency”, “Approving Agency,” and “Payor Agency” fields in tbl_Projects, separate the Worker, Approver, and Payor agencies into three separate tables, and do three separate one-to-many relationships between tbl_Projects and the three agency tables?
I am utterly grateful for any assistance you can provide. Thank you!
Last edited: