Error 407 I can't explain

Hello filemakers,

I have this 407 error but can't get what it has to do where it happens.

A bit of explanation before. I am renovating a Layout that comes with a schema much complicated. I was able to redo part of it with a much simpler schema, that is based on a different TO. Thing is for another section that is quite convoluted I had to use part of the existing schema - I recreated it with different TO names - and added an X relationship between the new TO on which is based the Layout and the TO that was the base for the Layout.

The issue is that in a script, I get error 407 for a reason I can't explain:


Here are the TOs:

Why do I get this error ?


If I understand, VIV_Contenus is joined to Fiches_NIVEAUX_V4, where VISI_Contenus::Un is cartesian to Fiches_NIVEAUX_V4::Un.

If my understanding is correct, then you can't set any field in Fiches_NIVEAUX_V4 from VISI_Contenus because you can't target any specific record in Fiches_NIVEAUX_V4. A cartesian relationship always returns all of a table's records.

Hope this helps.

1 Like

Well after posting, my mind starting to think again.

The scripts steps shown in the screenshot were copied from a script that was used when the Layout was based on the Fiches_NIVEAUX table. It's normal to do finds in the TO on which the Layout is based. Except that fields from Fiches_NIVEAUX_V4 are not displayed on the Layout ... then, I can I do a Find ? Looks like I got the wrong error message.

I was writing a text when your posted. What you say does make sens. Thing is this Find is for the purple TOs, not for the VISI_Contenus TO. Regarding the Cartesian relationship, I used that because I can't relate VISI_Contenus and Fiches_NIVEAUX_V4, but needs to display fields from some of the purple TOs.

What I will try is to add fields from Fiches_NIVEAUX_V4 that are needed to search in that TO. Will that work ? I hope so.

Basically, the Cartesian (X) operator ignores the fields on both sides of the relationship.

Assuming that your field "Un" in both tables is just the number 1 (one), you could change the Cartesian (X) operator to the = operator.

This would be a many-to-many relationship, and allow any record in VISI_Contentus:: to match all records in Fiches_NIVEAU_V4::

I think with that setup, a Find would then work as you are trying to do.

1 Like

I will try that, thanks.

Changing the relation form Cartesian to = broke more things.

Having a field from Fiches_NIVEAUX_V4 didn't work.

@xochi is right, you can't search through a cartesian join.

You need to change it to "=" put a stored calculation field on both sides equal to 1 and make it 1 = 1.

It must be stored otherwise searching through the relationship where the left hand side is unstored calc will not work and you'll receive an error also.

1 Like

The "=" didn't work because the field used was a calculation not stored.

So issue resolved !