Define this relationship using an added occurrence of TableA:
TableA::anyfield X AlltableA::anyfield.
Define this calculation field:
List ( AllTableA::TableAID ) & ¶ & -1
Select text as the return type. Clear the "do not evaluate if all referenced fields are empty" check box. Name it cSelectedIDs.
Now use another occurrence of tableB like this:
TableA::cSelectedIDs ≠ UnselectedTableB::TableAIDlink
Now set up a conditional value list that draws its values from UnselectedTableB, include only related values starting from TableA.
Note: This method often requires using a triggered script with commit Record/Refresh window to force an update of the diminishing value list.
BTW, appending a negative 1 to the end of the list of values insures that all values will be listed when no values have yet been selected. Any value that cannot match any ID in the related table will work for that purpose.
PhilMod - I did as you mentioned but could not get it to work. In my drop-down list I get a <no values defined>. Any thoughts?
Start from a blank page and do this:
Create a new occurrence of TableB and set up this relationship:
TableB::anyField X AllTableB::anyField
Define cSelectedIDs in TableB as:
List ( AllTableB::TableAIDlink ) & ¶ & -1
Create an occurrence of Table A and set up a relationship to it like this:
TableB::cSelectedIDs ≠ UnselectedTableA::TableAID
Set your value list to draw values from UnselectedTableA, Include Only related values starting from Table B.
PhilMod - Thanks! Works great to avoid potential duplication of a TableA link in TableB. This is a big help in eliminating potential errors for my design