Plog, thanks very much for your comments and suggestions. They have been very useful indeed to set me on the correct path.
It seems to be easier now that it is possible to have all the Transactions in one Table. I guess that makes it easier to create Queries and Forms if the data is coming from only one Table?
Hopefully, I have understood everything you have mentioned. and I have revised my database as follows:-
1. In tblRentalIncome you have PropertyID, ContractID, OwnerID, and RenterID. I'm fairly certain 3 of those fields are unnecessary, ContractID being the only ID you need to capture. This is because tblContract already establishes a relationship among Property, Owner and Renter, which means putting this data in tblRentalIncome is redundant.
1. Yes, ContractID is the most important. I had included the
others (PropertyID, OwnerID and RenterID) because I wanted to make a Relationship between the four Tables (tblProperty, tblOwner, tblRenter and tblRentalIncome). However, although I have deleted the three IDs, I am now unsure how to keep those Relationships with the tblContract?
2. There's also redundancy somewhere concerning PropertyID and OwnerID. You have this relationship established in 2 places--tblContract and tblProperty. It only needs to be established in one place, which means either tblContract needs to lose OwnerID or tblProperty needs to lose it. You shouldn't establish the same relationships in multiple places.
2. Yes, it is not absolutely necessary for tblContract to have
OwnerID. I have now deleted it.
3. I bet Commission Percent In tblRentalIncome is also redundant for the same reason all those ID's are--because this data is already captured in tblContracts. Is that true? If so, this field needs to be removed as well.
3. Yes, Commission Percent is a part of tblContract. However,
some Income (such as a Deposit, money to pay for repairs etc) will not be subject to any Commission, but Rental income will be subject to the Commission Percent as stated in tblContract. Therefore, I think the Commission Percent should remain because the Commission Percent can change depending on (the TransactionType of) the money received.
4. Is the field Commission in tblRentalIncome a function of the Commission Percent and AmountReceived? If so, this field needs to go as well, because you don't store calculated values--you calculate them when you need them.
4. Yes, the field Commission is a calculated field. I have now deleted it.
5. What's happening in tblPropertyManagementExpenditure? You've got fields for money coming in and going out. Expenditure usually just means money out. What exactly does this table tell you?
5. Yes, tblPropertyManagementExpenditure has fields incoming and
outgoing money. Hopefully, with the new structure, this error will be eliminated.
6. tblPropertyManagementExpenditure has a foreign key to just PropertyID, which means it doesn't belong to any contract or renter--is that correct? Is the data in this table not related to any contract or renter?
6. Having thought more about this, the tblPropertyManagementExpenditure should be related to a ContractID (eg. A contract between Owner and the rental company). The Renter is not required to pay for repairs/maintenance.
I have attached a revised database which I hope you would be able to review and comment on. Some of the fields were duplicated in both Tables and so I deleted one of them.
Due to my lack of experience, I now have a fear of how to create an Input Form which will be simple enough for Users to input both the Income and the Expenditure.