Subject Re: [IBO] 1:1 Relationship
Author Heri
Hi Helen

> It's also possible to cause the detail set to be restricted in a
> master-detail way by using a parameterised query for the detail instead of
> MasterFields. Its effect is that your detail set expects to pick up a
> parameter from events (such as scroll events) in the master set. IBO
> provides good support (through MasterParamLinks) for this style of
> linking.

Must I set this parameter explicitely or is this done by IBO behind the
scene? How do I access it in the code?

> It is broadly similar to what the full-blown masterlinking does
> "under the hood", but with less encapsulation; and the relationship is
not
> supported by the "follow-me" searching features that full masterlinking
> provides.

I cannot see the basic difference between MasterLinks and MasterParamLinks.
Is there a different strategie of row fetching? What is the real advantage
of MasterParamLinks?

> Both styles of master-detail linking support an "empty" detail set.

This is never the case. Every row in Table A has one corresponding row in
Table B, so the detail never will be empty. The scenario is in fact a bit
more complex than in my first post:
It's a kind of OO desing in a RDBM:

Table B (Object: Fields about creator, last change)
+- Table A (Contacts: additional field DisplayName)
| +- Table C (Persons: all fields concerning one person)
| +- Table D (societies/groups: all fields concerning one group)
+- Table X (events)
+- and other entities

All tables have a unique ID across the whole DB (just one generator for all
tables).

So Table A and table B both are read only. In the AfterScrollEvent of the
grid (Table A), depending on the kind of the row (person or group), an
appropriate frame is shown on the right side of the form, using the locate
method of the query which represents table C or table D. Only this frames
have editable fields. Table B and Table A are fully updated by triggers.

Could the linking between table B and C also be done with MasterParamLinks?


> >4.2.Ga
>
> If you are using Firebird 1 build WI-V1.0.0.794 or its Linux equivalent,
> you should upgrade IBO.

At the moment I still use IB 5.5, but I plan to have a look at firebird.

Anyway, thanks for your informative answer.

Heri