Hi Rain - I apologize if it seemed I was ignoring you. I see that my reply up in 23 could have seemed curt, and that's sometimes a problem for me. In the first version of #29 I had written a compliment to you about your sample database, and a question about other ways of doing the company selection, then I lost the long post that I had written. I was still rewriting it when you wrote your post 28, so I hadn't had a chance to review your post. I've modified my #29 to make that clear.
COMBOBOX
I had forgotten the NotInList event, and I was thinking to do the unbound combo box, and after update, detect and handle the addition. Whether I needed to set a bound and hidden field to the value desired, or use the unbound combobox as a master-subform linkage field would depend on the architecture of the form. Clearly, using the inbuilt event is a better architecture, whether the combobox is bound or not. I've modified my answer 29 to incorporate that event.
NEGATIVE VALUES
If the Entity described by a merged Transaction represents outgoing parts, then in my mind the quantity is inherently negative. Coming from an accounting background, I don't have any problem with that, and it's a quite natural way for me to look at it. Some other people might instead say . Thus, my statements:
UNIONSFor you, though, the most important consideration has to be that the design properly reflects the way you understand the data. You're the guy that has to debug the app whenever it does something weird, and they ALL do something weird occasionally. For a beginner, it might be more natural and supportable to keep the three tables separate,
I did express my preference for a single table, but I also see how the three-table solution does simplify certain design elements for the guy who has to maintain it. (And it eliminates the negative sign from the outgoing Transaction table, although if the Adjustment transactions can ever add units, there may be a need for recording a plus/minus sign on that one.)
That's an intriguing statement. If you have three different transaction tables, like in this database, and want to report all the transaction data for a single Part Number, how do you report that detail without a UNION?Also if you need to use Union Queries then again your design is wrong.
CUSTOMER ID ON MULTIPLE RECORDS
Rain, did you have any opinion on the question of duplicating the customerID down to the Part table? Since different customers can have the same Part Number, I don't see any way around it, despite it violating a basic integrity rule. I'd almost duplicate the CustomerID to ALL the relevant tables, which would simplify data access and reporting in various places.
CORRECTIONS IN GENERAL
Please, please, please feel free to correct me whenever I say anything that comes across as inaccurate - I make mistakes like everyone else, and while I prefer to learn from other people's mistakes, I like to learn from my own, too. It doesn't help anyone if erroneous or misleading statements go unchallenged.