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).

Reply via email to