On 2011 Jan 30, at 22:39, Mike wrote:
> Hi Richard,
>
> I can verify your result. I even remember, but can't find, a discussion of
> this from a number of years back.
>
> I recall from those discussions that the right hand table of a relationship
> must be an indexed field, but perhaps this isn't as solid a rule as I
> remember. You've used a global, which can't be indexed, but seem to have
> achieved the same result as the 'x' comparative operator (I forget the proper
> name) in your relationship. An interesting side fact is that you can use
> 'Allow creation of new records in this (your 'B') table' for your
> relationship and this can't be done with the 'x' join.
>
> Still, it looks like you really want the 'x' join. This will eliminate the
> need for the global field 'B:ASeq Socket' and keep your tables cleaner.
As it happens, a cross-product ("X") relationship is exactly the behavior I'm
getting now, but which I don't want.
Unmentioned in my original question (since it wasn't directly relevant to the
issue at hand) was that there's stuff going on out past Table B where it's
important to know what the active record is in Table A, and I'd lose that
2nd-hand connection unless Table B is aware of the code for the active record
in Table A.
If, however, I can't figure out a way around my current problem, then I guess I
get to explore alternatives where I store the active-record code as a global in
Table C instead of Table B (except that I suspect it'll produce the same kind
of oddball results).