I have run into this before and it generally is to do with how/where I invoke the controller.saveData (which is now in the Database Manager node) VERSUS issuing a controller save via the relation node. I assume you do not have a separate foundset checked. Also, there are potentially some version issues with what you are doing … what version are you at?
Won’t be back on the forum until tomorrow (just leaving the office) so hopefully this is some help (I’m making a few assumptions and not much time to write you now as I need to run along …).
Technically, it’s not the forms that have a relation with eachother, but the foundsets have a realtion with eachother. and a form contains a foundset.
If you have 3 forms: forms.main with a tabpanel on it containing forms.a and forms.b, then the number of foundsets depend on the useSeparateFoundSet property on each for, the table the forms are based on and if you added the forms to the tabPanel using a relation.
You’re saying that if you add form B as a child form in a tabPanel on form A that it does work. That probably is because you added forms.b to the tabPanel over a relation, so if you reference a field on that form over the same relation, it is bound to work.
What I think is that in your new situation where the main form holds forms.a and forms.b in a tabPanel, the foundset in forms.b is not the same as the one you update over the relation from forms.a.