Your value list is empty due to the fact that there are no records that match by the values specified. This happens because you have specified 4 pairs of match fields in your relationship where you should have just 1 pair.
When you select a business, this populates the company field presumably, but it leaves the other fields in Electrical Contractor blank. This combination of a business name with the other fields blank will not match to any records in the contractor_Values table.
Remove the other fields from the relationship leaving just company matching to business and your conditional value list will start working.
To get the other values for email, cc Email, once you have selected a contractor, this establishes a link to the Contractor_Values table and that relationship can be used to refer to or copy from other fields in the record with the matching contractor.
There is, however, yet another issue with your approach. You are linking a record in Electrical_Contractor to Contractor_Values records by business name and then by contractor name. But names (both of business and people) are not unique and they are subject to change in the future. Thus it is better to link by ID's instead of names as the names may change but the ID's will remain the same. The ID's should be either an auto-entered serial number or UUID text.
Wow, I did not realize that that is how it worked. I figured it kinda worked in a more cascading style like filters. That piece now works.
I do have ID's on all my tables that are auto-entered by serial number. I just did not know how to actually grab that data from my 2 value lists (business drop down and contractor drop down) and then add that to grab the data fields of contractor ID, email and cc.
Notice that a value list setup dialog has selectors for two fields, not just one. You specify the ID for Field 1 and a name or description field for field two. You can select an option to only show the second field. The user then selects by name, but the value list enters an ID.
Note that it's an ID field defined to match to the ID field of the other table that should be set up to use such a value list.
The above is the simplest approach to this issue. It does have limitations.
There are other, more sophisticated options for selecting values that help work past such limitations.
You may find the following two files useful as a supplement to your ongoing education. They contain working examples of different conditional value lists and other value selection methods along with detailed documentation showing how they work and how they were set up.
I am just running in circles now. I have spent an hour just searching on google for how to get value from "record by key id" (and other such similar searches). I haven't had the time yet to look at your dropbox files because... yay, firewall blocks it. I have tried running through all the script commands for anything relative (and not "perform find in browse view", as that is 95% of what google brings up), to come up empty. I am honestly not a fan of this software, but it is what I have to use and I am trying.... trying hard...
Instead of 'running in circles' ask a question here. If my answers to a question don't resolve the issue, ask again.
My application I am making is 90% complete/working, and the last thing I need to do is use that key ID from Contractors to get the Email and CC Email of that record. Once I have that one little piece, that I just can't seam to figure out through Google Search at all, I can pretty much copy/paste the PDF page I made for either contractor type (We contract out Air Tests and Electrical work; which we skimmed down to 2 separate forms that are not really interchangeable- however, there are around 30 different contractors that can be contacted, and that is way too much to remember).
For some reason, you opened a new discussion on this subject where several people had to ask questions to figure out what you wanted. I've answered your question in that other thread.
Not to dig up an old post, but I tried to modify an older filemaker I made for inventory- to work with the conditional value lists, instead of only being able to scan with QR code. I am more than sure I got it correct, but I obviously got at least 1 thing wrong as items related to category do not show up.I used the working version (and examples from you) to create it as correct as possible... But I just cannot see where I screwed up. I tried switching table occurrence between 'Product ID' and 'ProductsCategory' in the only 2 possibilities the conditional value list can have; but I come up empty again. (I tried using the fm12 files you sent on conditional value lists and such too)
Both "from first field" and "from second field" list boxes in specify value list dialog should list fields from ProductsCategory.
Then "include only related values starting from...." should specify InvoicePart, not ProductsCategory
If you go back and look at the Adventures in FileMaking #1 file, the basic conditional value list should have a portal on it demonstrating that a portal lists the same values as your value list. You can think of the layout's table occurrence as the "starting from" table occurrence and the "first field, second field" fields selected for your value list would be from the table occurrence that could also be used as a portal to display the same values.
I did this to help people conceptualize how a basic CVL works and to plant the seed for the fact that portals can be used in place of CVLs and can offer features not possible with just a CVL--something that I then explore in detail in Adventures in FileMaking #2--Enhanced Value Selection
So, the two value fields were different because I was trying every combination of the two- stupidly at that. And I now see where I was going wrong in how it worked, with connecting to the host and not a related child table reference. I am going to have to study those two files harder.
(Admittedly, I am running on 2 hours of sleep currently- but that shouldn't be a creditable excuse)