Need a better UI for master/detail tables
Reference two tables named Contractor and Trade where Contractor denotes a one-to-many to Trade. The Contractor table contains a number of fields like ContractorID, Company_Name, Address, City, State, Phone, etc.., whereas the detail table Trade has only three fields or ContractorID, Division, and Section, and contains a maximum of one to three detail records for each record in the Contractor table. The main form for the Contractor table consists of a grid (read only) used for viewing and selecting records in the Contractor table, and allows the end user to add/edit records via a popup entry form. While I could easily add another grid to show the detail record/s for each Contractor record in the main form or, for that matter, use a page control with tabs (one for Contractor and one for Trade) to show the same relationship, I'd prefer something better to present this data to the end user. I've also thought about using one form grid based upon the Trade table using lookup fields to show a many-to-one relationship for the Contractor table but then I can no longer sort on the Contractor name field which is a lookup field in the Trade table. Any suggestions as to an alternative UI to better show this particular relationship while allowing the end user to add/edit records for each table is appreciated.
A visual of it would be helpful
sketch some alternatives out, show them to the (potential) users. describe what is happening to the users, but DO NOT use the words "master", "detail" or "table".
don't sweat the small stuff.
The first question is the purpose of the form, and whether you actually have two Use Cases.
Here is what I use on occasion.
Albert D. Kallal
I do the same as Albert but top/bottom instead of left/right. Master list at top, details at bottom. Use a freeform style instead of grid for the detail. This gives more room for the detail data and help differentiate between the two types of data being displayed on the screen.
Here's a small screenshot from an upcoming release. The master record is at the top, and when you press the + beside it, you get the child records. In theory you can go as deep as you'd like, but more than one level and it just gets confusing.
Thanks to all, especially Albert and Tim for the screen shots. Also, valid point made that the UI dictates the tools. Fortunately, I have the tools to simulate the screen shots and a third party control that I've been toying with that emulates Tim's. Didn't really consider or think about the side to side grid layout that Albert uses. Needless to say, different and much better as opposed to the customary top/bottom grid that most all demos use. I only wish that there was more of this out there for database programmers like myself who have to go it alone. Thanks again for the help.
I will also add that the whole process of doing a search, and viewing the results can be EASILY done via the keyboard.
Albert D. Kallal
Fog Creek Home