If you have a portal to contacts and a portal to companies on the same layout, then on what table is the layout based? How is that table occurrence linked to the other two tables in a relationship?
Are there any unstored calcaultion fields in your portal or on your layout? Your first approach isn't a good option as Refresh Window [flush cached join results] can result in a major performance hit.Any conditional format expressions? Did you use Refresh Window [ flush.... with it as well? (It's not needed for this method.)
But the second option should work more quickly. (Though "1.5 to 2 seconds" doesn't really seem like a major delay to me....)
Relationship Graph, (TABLE:field)
USER:user_id ---< COMPANIES:user_id
COMPANIES:global_comp_id ---< CONTACTS:company_id
Layout is based on the User table.
On the layout, neither portal is filtered, as I am using the relationship to acheive the link.
The button on the top (company) portal performs a one line script:
"Set Field [ COMPANIES::global_comp_id ; COMPANIES::company_id"
This updates the global field with the company_id for the current row.
I'd change that to:
User::global_comp_id = Contacts|SelectedComp::company_id
Contacts|SelectedComp is an added Tutorial: What are Table Occurrences? of Contacts.
That way, your portal to contacts does not need to "tunnel through" companies to link to the correct set of records.
Thank you very very much!
I left the User to Company link the same (user_id), but did make the change you suggested by linking the contacts table directly with the user table via the global_comp_id to company_id.
Works great! no delay at all.
Thank you again for the help.