Subject Re: [IBO] Grid lookup
Author Helen Borrie (TeamIBO)
At 03:59 PM 20-01-02 -0800, you wrote:
>Hi all,
>
>Is it possible to have a lookup on a field in a "joined" table. For example,
>if MemberBen is the table representing the relationship between a Member and
>his Beneficiaries, and titleid is the foriegn key in the Beneficiary table,
>how do you get a drop down in for eg a grid, of all possible titles from the
>Title table. There seems to be a problem declaring KeyLinks for the lookup
>query.

Lookup fields refer to columns, not tables (but see my NOTE, below) so the join doesn't affect the ability to implement the lookup. Just don't include the Title table in the join, though. Use a correlated subquery to bring the Title text into the main query. Include TitleID in the field list for the main query, just don't display it.

Mainquery would be

SELECT a.Field,
........
b.TitleID,
...,
(SELECT Title as The_Title
FROM Titles t WHERE t.TitleID = b.TitleID),
....
FROM (tables, joins and wheres)

The lookup dataset is

SELECT TitleID, Title FROM Titles

KeyLinks of the Lookup dataset:
TitleID=MainQuery.TitleID

KeyDescLinks of the Lookup dataset:
Title=MainQuery.The_Title

Don't forget to link the lookup dataset's KeySource property to the datasource of MainQuery.

Just make sure the joined query is squeaky-clean with respect to join syntax and table identifiers.
Use JOIN, not the SQL-89 inner join syntax.

Note: If you've eliminated all possibility of ambiguity and yet find you get problems using the aliases, then remove the aliases and substitute with fully-qualified columns in the join statement. Do that as a last resort, though. IBO should be able to peel back and do the linking through the aliases.

cheers,
Helen

regards,
Helen Borrie (TeamIBO Support)

** Please don't email your support questions privately **
Ask on the list and everyone benefits
Don't forget the IB Objects online FAQ - link from any page at www.ibobjects.com