Subject | RE: [IBO] Grid lookup |
---|---|
Author | Dion |
Post date | 2002-01-20T19:19:28Z |
Hi Helen,
Can you actually reference a joined table in the KeyLinks(ie not a physical
table in the database, but a virtual one, in this case MainQuery)? Either
way I get an error saying that the field qryMemberBen.TitleID(or MemberBen,
in the KeyLinks for the lookup dataset) is not found...
Cheers,
Dion.
-----Original Message-----
From: Helen Borrie (TeamIBO) [mailto:helebor@...]
Sent: Sunday, January 20, 2002 6:20 AM
To: IBObjects@yahoogroups.com
Subject: Re: [IBO] Grid lookup
At 03:59 PM 20-01-02 -0800, you wrote:
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
___________________________________________________________________________
IB Objects - direct, complete, custom connectivity to Firebird or InterBase
without the need for BDE, ODBC or any other layer.
___________________________________________________________________________
http://www.ibobjects.com - your IBO community resource for Tech Info papers,
keyword-searchable FAQ, community code contributions and more !
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Can you actually reference a joined table in the KeyLinks(ie not a physical
table in the database, but a virtual one, in this case MainQuery)? Either
way I get an error saying that the field qryMemberBen.TitleID(or MemberBen,
in the KeyLinks for the lookup dataset) is not found...
Cheers,
Dion.
-----Original Message-----
From: Helen Borrie (TeamIBO) [mailto:helebor@...]
Sent: Sunday, January 20, 2002 6:20 AM
To: IBObjects@yahoogroups.com
Subject: Re: [IBO] Grid lookup
At 03:59 PM 20-01-02 -0800, you wrote:
>Hi all,example,
>
>Is it possible to have a lookup on a field in a "joined" table. For
>if MemberBen is the table representing the relationship between a Memberand
>his Beneficiaries, and titleid is the foriegn key in the Beneficiary table,the
>how do you get a drop down in for eg a grid, of all possible titles from
>Title table. There seems to be a problem declaring KeyLinks for the lookupLookup fields refer to columns, not tables (but see my NOTE, below) so the
>query.
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
___________________________________________________________________________
IB Objects - direct, complete, custom connectivity to Firebird or InterBase
without the need for BDE, ODBC or any other layer.
___________________________________________________________________________
http://www.ibobjects.com - your IBO community resource for Tech Info papers,
keyword-searchable FAQ, community code contributions and more !
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/