Main_Table::UID_main = Table_1::relation_mainTable
Table_2::UID_table2 = Table_1::relation_relationTable2
Table_1: UID_table1, relation_mainTable, relation_Table2 (ALL three fields are required to be unique!)
Hmm that seems a bit odd, why are the fields in table_1 required to be unique? That seems to defeat any purpose for having a table_1 in the first place. Specifying that UID_Main and UID_table1 be unique in there respective tables, on the other hand, makes sense. Are you sure that isn't what you meant here?
With the relationships as described, a record in Main_Table matches to one and only one record in table 1 and a record in table 2 matches to one and only record in table 1--producing a 1 to 1 relationship across all three tables. That should not give you any trouble accessing the data from the context of any one of these tables, but I doubt that this is what you really have as it doesn't really make sense as a database design.
But if it is what you have, you do not need any special functions at all. You can simply add the field directly to your calculation. Example:
In MainTable, you might define a calculation field as:
FieldA + Table1::FieldB
And your calculation will sum the value of FieldA (a field in MainTable) with the value of FieldB--a field defined in Table1. Referring to fields from Table2 would be just as simple.
I suspect that you have this setup:
MainTable----<Table 1>------Table 2
Where one record in MainTable can match to many records in Table 1 and one record in Table 2 can match to many records in table 1. This would make table 1 a "join" table for a classic many to many relationship between MainTable and Table 2.
If that's what you have, you have a problem due to the nature of your relationship. A calculation in MainTable that refers to a field in Table 2 refers to the "first" of possibly many records in table 2, all related to the same record in MainTable via the many to many relationship. And that "first" record might be the correct record.
With the relationships as described, a record in Main_Table matches to one and only one record in table 1 and a record in table 2 matches to one and only record in table 1--producing a 1 to 1 relationship across all three tables.
This IS exactly what I want.
Concerning calculation: If I actually use a real "calculation" ("formula" ?) field I can access the value without problem. What I actually need, is a "text" (!) field, where the value of my text field is set to a calculation within the field settings.
Sorry If I might confuse some of the official field or setting names, I always have tom translate them from the german names to the english analogues.
So, once I try to set the (text) field value to some (calculated) value, nothing works. This is not the case when I have a direct relation between two tables. With a direct relation I can use the functions mentioned above and they will work. Once I try to do the same for my "indirect" relation construct ... they break.
WHy do you need an auto-enter calculation? Why do you need a calculation at all?
With the relationships you describe, you can simply add the field from the related table directly to your layout.