This should be possible if you set up layouts and portals to be consistent with the relationships you defined. The key is the actual table occurrence names used in you relationship graph.
Can you spell out each of your relationships with the actual table occurrence names?
Clients:: PolId = Claims 2:: PolId
and so forth for each relationship.
Clients Table Policies Table Claims
CustNo CustNo ClaimNo
CustName PolNo PolNo
.... .... ....
.... .... ....
So from teh Claims table I should be able to see and use CustName, becasue of the link to the policies table via PolNO, and from Polcies table to Client table via the CustNo link.
Table names and Table Occurrence names are not necessarily the same. This is a situation where the table occurrence name--not the table name--is critical.
WHen you set up portals and layouts, the set up dialogs will ask for a table name, but you are actually selecting a table occurrence name. Since the table occurrence name determines the relationship linking your records, you have to select the correct table occurrence name in order for the correct related data to appear.
When you look at the "boxes" in your relationship graph, what names are there on the boxes? Since a relationship from Clients to policies to claims back to clients forms a circular relationship, filemaker will insist on an extra table occurrence with a name different from your tables in at least one of those relationships. That's the information we need to look at here.
Many folks find the terms Table and Table Occurrence confusing. To learn more, click the following link:
Table vs. Table Occurrence (Tutorial)
Now its the weekend I can concentrate of fun things like sorting out this little niggly problem. Realised that on the Claims Layout - left side, where the individual record details are displayed and is used for input/edit/find of claim records that sometimes the Customer Name was being displayed and sometimes not. Tracked this down to teh fact that the "link" of the policy number was being manually entered by the User and so was not in the correct format for some, hence the "link" was incorrect and no name was displayed. So thanksfully only a few records exist at the moment and User has now manually edited these to be the same as per the policy record, thereby repairing the link and getting the Customer Nmae to now be displyed correctly as a reference on the Claims records.
The original problem/challenge still exists though, namely that of displaying the Customer Name on the portal. To re-iterate, the portal is displayed on the righthand side of the Claims Layout window and is in tablular format as a sort of summary view for the User. But as we all know, numbers are uunfriednly and the User wants the customers name to be displayed on each record too. At the moment though, as the Claim record is changed on the of the screen, the customer's name for that one record is displayed under each and everyone of the records in the portal view. ( IF I could figure out how to post a snap shot of the screen in this thread it would paint a thousand words!)
Also, realised that my relationship details that I posted before were incomplete and should ahve read as below :
Clients Table Policies Table Claims TO-Claims
CustNo CustNo ClaimNo ...............X.............. ClaimNo
CustName PolNo PolNo
.... .... ....
.... .... ....
Should the link from the TO-Claims be to a TO of the Policies Table. I tried it to the Policies Table itself, but then only one record ever shows in the portal view!
I also, realised there is a real danger that if the User changes the policy number in the policy file, then the Claim record will become orphaned. How can this be avoided?
A snap shot of your relationships would be very helpful also. I've asked for TO names twice now. You've responded with the table names and they just won't do for this issue...:smileysad:
Here's a link describing step by step how to post a picture to your forum messages:
Tutorial-How to post a picture so that it shows up in your message
Thanks for bearing with this issue Phil. I have given the TO name of the claims table. It is TOClaims, well to be exact it is "ClaimsTO"
Can't do the screen snap shot as I do not know of any web sites to share files - can you suggest one?
Here's what I'm looking for and it doesn't require a screen shot:
In one of my databases, I open Manage | Database | Relationships and look at the table occurence boxes used to define relationships.
CustInfo::CustID = QuotesByID::CustId
CustInfo::CustID = QuotesByPage::CustID AND
CustIfno:: Page = QuotesByPage:: Page
CustInfo::CustID = MailingAddresses::CustID
In my graph, I have one "box" for CustInfo with lines connecting it to QuotesByID, QuotesByPage and MailingAddresses. The text to the left of :: is the name I see in each table occurrence box. These are the table occurrence names I'm asking for. It may or may not be the name of an actual data table defined in Manage | Database | Tables. In this example, QuotesByID and QuotesByPage are two table occurrences that share the same data source table, Quotes.
If I want to see a portal listing all Quotes records for a given client, I should use a portal on a CustInfo layout that refers to QuotesByID. If I want a filtered portal that displays only the quotes for a given "page" of quotes, I should set up the portal to refer to QuotesByPage instead. The same rule holds true when I add fields from related tables to a layout. I have to select the correct table occurrence name from the misnamed "table" drop down in order to use the correct relationship needed to show data from the record I expect.
That's why I've asked for this information. Knowing the table names doesn't tell me the table occurrence names which will be different in your project as Filemaker will insist on at least one extra Table Occurrence in order to make the relationships you've described work.
Thanks, that's a big piece of the puzzle.
"My problem is that on the Claims layout I cannot get the clients name to be displayed, either on the lefthand side of the layout where just the one record is shown in detail to facilitate data entry or on the left side that uses a TO of the claims to give us a summary of claim no, pol id, open date, closed date. When I add the CustName field from teh Cleint's table it is just blank, when in reality there is always a value there."
First to confirm some layout settings: In layout mode, if you select layout setup..., you see Claims in the "Show records from" box. If so, adding the from Clients::name_first and Clients::name_second should allow you to see the clients name IF, you have at least one matching record in Policies. It must have a policy number that correctly matches a record in claims and a client_no that correctly matches a client_no field in Clients. If no such record exists, your fields will be blank.
Check your layout setup... and make sure that it refers to Claims--not ClaimsTO. If that's correct, check for the existance of the "bridge" record in policies.
Note: You can also put a look up field in Claims that looks up (auto-enters) the Client number from policies. With that field you can make an additional table occurrence of clients and link it directly to this new field in claims. Then you can add fields from this new Clients based table occurrence and the client's name fields will appear whether or not you have a matching policy record. If you are using Instant Web Publishing, you may have to use this approach as there is a known bug that can keep fields two TO's away from showing data.
You updated your previous post to include a shot of your layout while I was composing my last reply.
When I look at that screen shot, do I see one portal or two? The grey box on the right is clearly a portal. I don't think the left hand box is a portal, correct?
Hint for the future: sometimes posting a shot of the layout in layout mode can reveal more about the layout's design than the browse view.
Please go back two posts and read that one if you haven't already. The left hand ::Name_Second field should display a name from Clients as long as there is also a policy record to bridge the gap between the Claims and Clients tables. You won't be able to show this name field in the ClaimsTO portal as your relationship uses the X operator to match all records in the other table. You'll either need a second table occurrence of Clients that links directly to Clients via a client ID field or you'll need two new TO's, one for Clients and one for Policies to link to the ClaimsTO field just like you've linked them to the claims field.
To sum up:
Clients 2::Client_no = ClaimsTO::Client_No will work, but you'll have to add a field and populate it with the client number.
Clients 2::client_no = Policies 2::Client_no
Policies 2:: Policy_no = ClaimsTO:: Policy_no will work as long as you have that "bridge" record in Policies.
Many thanks for your tireless input Phil. Had to give up last night ( I'm on GMT here, with 2 1/2 year old twins demanding Daddy leave the computer at midnight!!)
Anyway - finally sorted it out. I had read and understood the logic and simplicity of including an autolookup of the clients number in a field in the Claims table, but what I failed to remember was that I still needed the Claims :: ClaimNo to ClaimsTO::ClaimNo link.
See link for final solution on realtionships that now provides individual names in the Claims portal.
Thanks once again.