So, Vendor does not have have a ProjectType, or a Project.
There are the following objects - I should have made this more clear:
ProjectType - Type of Project, such as ERP, Networking, Java, etc
Vendor - SAP Consulting, Oracle Consulting, etc.
ProjectTypeVendor - This is an intersection of Vendor and ProjectType. There is a many to many relationship between Vendor and ProjectType. ProjectTypeVendor resolved this as an intersection (bridge) table. A Vendor in ProjectTypeVendor is authorized to participate in Projects of that particular ProjectType.
Project - A Project has one ProjectType, and can have many Vendors, but each Vendor for a Project must already exist in ProjectTypeVendor with the same ProjectType as Project.ProjectType. So, that is why ProjectVendors exist in Project. I just need the "Add New" on a ProjectVendor to filter for Vendors that exist in ProjectTypeVendor for a particular Project.ProjectType. Since Project is in context when I click the Add New, this should not be a problem (I wish).
So, in the suggestions you sent so far, those will not work, as the relationships in those FINDs do not exist. My original FIND should work, but it seems that AWAREIM cannot do the equivalent of a correlated subquery using a FIND. I wish I could code ANSI SQL (using parameters, resolved at runtime) directly into AWAREIM, but it seems that that feature has been deprecated, and replaced with stored procedures. Unfortunately, using stored procedures makes the application NOT portable between databases.
So, I am blocked at this point into finding a "hack" solution, unless there is a trick to code a proper FIND in AWAREIM, to perform the equivalent of a correlated subquery that I need.
I do not wish to make ProjectTypeVendor an attribute of ProjectVendor. That complicates the design, and I have never needed to do that sort of thing in other applications. A simple custom query to filter the Vendors should work, but does not.
I hope this explains things better.