Now that's a nice way to make a picture out of your question!
You'll need a second table occurrence in your relationship graph and a script on your button to set a key field that's used in this second relationship.
Define a new number field field in SLClient, SelectProject.
Use the button with two plus signs to make a second Table Occurrence of SLProject, we'll call it "SelectedProject".
Link SLClient to this new TO: SLCLient::SelectProject = SelectedProject:: PRIndexKey
To the left of your portal, add fields from SelectedProject.
Your script is simply:
Set Field [SLClient::SelectProject ; SLProject:: PRIndexKey]
If you can't get the screen to refresh automatically, you can assign an object name in your tab and add
Go To Object ["//Put your tab's object name here"]
That keeps this tab selected for your user.
The only modification to what Phil posted would be that I would use a global field instead of an actual field to prevent unnecessary record locking.
Take a look at this example. Its the same basic concept.
Good point. I generally use a global field for that very reason. There are cases where a local text field works better but I don't see that as a good option for the above situation.