Subject | RE: [IBO] Grid lookup |
---|---|
Author | akahanek@qgir.cz |
Post date | 2002-01-21T08:54:45Z |
Helen,
what is the difference between
SELECT a.Field,
b.TitleID,
(SELECT Title as The_Title
FROM Titles t WHERE t.TitleID = b.TitleID),
FROM (tables, joins)
and
SELECT a.Field,
b.TitleID,
t.Title as The_Title,
FROM (tables, joins + JOIN Titles t ON ....)
when using Lookup Combos. Why is recommended the first solution?
My experience was that I was unable to set up OrderingLinks and
OrderingItems correctly when using the first solution and there was an
error that the lookup colum does?nt exist.
The second solution works fine with no problems, ordering by the lookup
column too.
Ales Kahanek
akahanek@...
-----Original Message-----
From: Helen Borrie (TeamIBO) [mailto:helebor@...]
Sent: Sunday, January 20, 2002 3:20 PM
To: IBObjects@yahoogroups.com
Subject: Re: [IBO] Grid lookup
At 03:59 PM 20-01-02 -0800, you wrote:
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
________________________________________________________________________
___
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/
what is the difference between
SELECT a.Field,
b.TitleID,
(SELECT Title as The_Title
FROM Titles t WHERE t.TitleID = b.TitleID),
FROM (tables, joins)
and
SELECT a.Field,
b.TitleID,
t.Title as The_Title,
FROM (tables, joins + JOIN Titles t ON ....)
when using Lookup Combos. Why is recommended the first solution?
My experience was that I was unable to set up OrderingLinks and
OrderingItems correctly when using the first solution and there was an
error that the lookup colum does?nt exist.
The second solution works fine with no problems, ordering by the lookup
column too.
Ales Kahanek
akahanek@...
-----Original Message-----
From: Helen Borrie (TeamIBO) [mailto:helebor@...]
Sent: Sunday, January 20, 2002 3:20 PM
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 aMember and
>his Beneficiaries, and titleid is the foriegn key in the Beneficiarytable,
>how do you get a drop down in for eg a grid, of all possible titlesfrom the
>Title table. There seems to be a problem declaring KeyLinks for thelookup
>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
________________________________________________________________________
___
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/