Can you add a bit more detail?
You show the match fields, but do not identify the table (occurrences) used nor on which one your layout is based.
One possible explanation:
If you have this relationship:
Where one record in TableA can link to multiple records in TableB,
A layout based on TableA cannot list every record from TableB except through use of a portal.
The tables are ITEM, CATEGORY, PEOPLE, LOCATION
the LOCATION is connected to the ITEMS and then from ITEMS we have CATEGORY linked to PEOPLE. The layout is based on the CATEGORY TO and show the item detail, the category, the person responsible and a portal showing where the item is in the process. My previous layout was based on item with the portal for the location and a one row portal for the category and person filtered with a global match field. That broke down and did not filter properly so I switched the layout to CATEGORY and used a global to base a search for the right person. this seemed to work beautifully until one user noticed some renegade items not making the list (2 items out of about 300 records) . The items show on a list view based on item but not on a list view based on category.
I hope this helps. I can get more detail once I am back to my laptop (writing this from iPad) and can try to get a screenshot.
I still need more detail.
I can deduce this from your last post:
and that your layout is based on category with fields from items, category, and people plus a portal to Location. It's not clear why you need a global field to "search for the right person".
I tried to figure out the match fields used in each link but can't reconcile the 4 tables that you have listed with the match fields--which don't, by their names, look correct--listed in your first post.
Am I correct that the "missing items" are records from the Items table that are missing?
You are correct that the missing items are records from the items table occurence.
I am putting up a screen shot. I tried to simplify the TO names in my earlier posts but in the screenshot ITEMS = Bills; CATEGORIES= Client Position; PEOPLE=Client and LOCATION = Referrals.
I used the global field to search so that I could create a value list of the Client names and the user could then click the pop up menu, choose the client and then search for their bills.
I really appreciate your help.
I see two occurrences of Client Position
Which name is selected in "Show Records From" in layout setup... for your layout? CllientPosition or BL_bills_CLIENTPOSITION?
I would guess that it's BL_bills_CLIENTPOSITION
The relationship between BL_BILLS and BL_bills_CLIENTPOSITION seems wrong.
It shows that there can be one and only one record in BL_BILLS linked to any given record in BL_bills_CLIENTPOSITION
I would think that a given record in BL_bills_CLIENTPOSITION would need to link to many records in BL_BILLS.
Interestingly enough, the version that is not working has only one occurrence of Clientposition and a version that is working has the two occurrences, but I just tested the non-working one to see if having the second occurrence with the FilterClient global relationship would work and it made no difference. So yes, the relationship is between BL_BILLS and BL_bills_CLIENTPOSITION.
There are many bills and many clients, however a client can have only one position on a bill. They cannot be for the bill and against it, so that is where the one to many relationship happens. They can have different positions on different bills so they can be for bill 1 and against bill 2.
I have to laugh before I can type. I had pictured Bills as in bills for services rendered and for positions to be job descriptions....
Please descript what is missing in more detail. What did you see that told you the Bill record was missing?
Please keep in mind that for any given record in client_position, you can only show data from a single record in Bills.
Are you seeing a Client Position record where the "bills" fields are empty?
Glad I could make you laugh. It sure beats the alternative!
The only way we knew the record was missing from that layout is the user knew that record should be there and went to that layout to look for it. The layout in question is used for reporting client positions and bill progress so the user knew that the client would want to see that information for that bill. Otherwise I probably would never have known. I am not seeing a record that has a position but no bill number. This has me completely stumped.
I have provided a temporary solution in that I have a layout that shows the bill information and client name but not the position. This is not ideal because the client needs to be able to see their position, in case they want to change their minds. I liked the way I had it before where I had the layout based on the bills table occurrence and the single portal row that would filter the client and show the client position. That worked in FM 11, but started giving me problems in FM 12.
That doesn't answer my question.
Your layout is based on client position with a link to Bill.
If you can find a record for that client's position, but the fields from Bill are empty, it suggests a relationship match problem.
If you cannot find the client position record, then that is a different problem.
Sorry about that. I can see on a developer layout that the client position is being populated, I can see on a layout based on bills that the bill record has been created with the client position entered into a portal field. The only place the record is missing is in the layout based on client position with the bill information. I do have a layout based on the client where the bill number and position show up in a portal. It is odd that it only affects two records out of about 300. I suppose it is possible that the server was interrupted when they were entering data, but other than that I don't know. When I get back to my laptop I will get some screenshots of the layout and post those.
Would I be correct that you performed a find for all the position records for a particular client and one or two of these where not there?
If so, try this test:
Show All Records
Sort your records by fk_people_Client to group them by client.
Scroll down the list to find the group for the client where a missing position record was noticed.
Do you now find the missing position record?
If so, first examine your script for finding records and check the values in any fields that get criteria when this script is performed to look for any issues that might explain why they weren't found.
If you can't find any issues in the record's fields, you may have an index that has been corrupted. Failure of a find to find all specified records when you can find them using show all, is a classic symptom of a damaged index.
Fortunately damaged indexes are pretty easy to rebuild:
If you have FileMaker 11 or newer, you can use Advanced Recovery options to rebuild your file's indexes:
- With the file closed, select Recover from the File Menu.
- Select "Use advanced Options"
- Select only: "Copy File Blocks as-is" and "Rebuild Field Indexes Now".
Thank you. Your last post got me looking in the right direction. Turns out the two renegade bills somehow got the same serial number as two other bills. I did have it set to serial number do not modify but, perhaps I had a ghost in the machine. Reassigning the serial number and reassigning the client seemed to have done the trick.
Once again, I appreciate your assistance and patience.
Doesn't sound like your serial numbers are auto-entered serial numbers...