Berechnung eines Feldes nach Spatial Join 2er Tabe

Hallo
Ich möchte gerne in einer gejointen Tabelle ein Feld namens "Hauswert" berechnen. Da brauche ich das Feld "Area" aus der "bautabelle und das Feld "Gebart" und das Feld "Summe" aus der "polygontabelle". Die Berechnung klappt mit meiner Schleife schon, aber die Werte im Feld "Hauswert" stimmen nicht. Ich vermute also, dass der Join nicht berücksichtigt wurde, d. h. dass die richtigen Felder nicht zusammengeordnet sind. Gejoint wird in der bautabelle nach dem Feld "PolyJoin" und in der Polygontabelle, die eigentlich eine Punkttabelle ist nach dem Feld "PunktJoin". Versucht habe ich es folgendermaßen:
for each r in bauthema
polyjoin = bauthema.ReturnValue(polyjoinfeld,r)
for each re in polygonthema
punktjoin = polygonthema.ReturnValue(punktjoinfeld,re)

if (polyjoin = punktjoin) then
Berechnung des Feldes
end

Oder liegt es vielleicht an etwas anderem?
Vielen Dank für einen Tipp
Susanne
Hmm, verstehe ich nicht. Wenn du schon eine (räumlich?) gejointe Tabelle hast, sollte doch alles im gleichen Datensatz stehen. Wozu dann der Aufwand mit den geschachtelten Schleifen, in denen du dann versuchst einen attributiven Join irgendwie nachzubauen?
Hallo Sus,

hast du die beiden Tabellen bauthema und polygonthema bereits gejoint, z. B. Bauthema (FROM) an Polygonthema (TO)? Kommst du dann gegebenenfalls mit einer Schleife aus:

For each rec in PolygonthemaFTab
berechneterWert = PolygonThemaFTab.ReturnValue ... + PolygonThemaFTab.ReturnValue ... * ...
PolygonhemaFTab.setValue(fldHauswert, rec, berechneterWert)
End

Bei der Berechnung kommst du dann auch auf keinen Fall mit r und re durcheinander.

Viel Erfolg weiter.

Grusss

Uwe
Die Themen sind schon gejoint - das Punktthema wurde mit einem Pseudejoin an das Polygonthema gejoint, wenn ich jetzt aber die gejointe Tabelle zur Bearbeitung starte und auf die Spalten des Punktthemas zugreifen will, dann kommt die Fehlermeldung dass ich versuche eine read-only Spalte zu editieren, wenn ich aber dann das Punktthema editierbar mache, dann bin ich, fürchte ich wieder in den nicht zugeordneten Datensätzen, oder nicht? Ein Wert wird mir ja ausgerechnet, wenn ich dann aber händisch nachkontrolliere, dann stimmt er nicht.
Gruss
Susanne
Du hast ja nach dem Pseudo-Spatial-Join alle Felder in der Tabelle des Polygonthemas stehen. Auf die kannst du dann also auch ohne weiteres über die Polygontabelle zugreifen. Die Punkttabelle braucht's doch nimmer, oder? Natürlich hast du auf Joinfelder nur lesend Zugriff (etwa entsprechend Uwes Beispiel). Willst du die Joinfelder tatsächlich verändern, musst du sie vorher "fixieren".

Aber wahrscheinlicher ist ja, dass dein Bearbeitungsversuch der Joinfelder unbeabsichtigt ist - schließlich willst du ja ein neues Feld berechnen und die Werte der Join Felder nur auslesen.

Da bräucht's nochmal ein bissl Code...
Danke Maxille, das war´s ich habe das neue Feld in der Punkttabelle angelegt, deshalb konnte ich es dann nicht mehr ansprechen, jetzt hab´ ich´s umgeschrieben auf die gejointe Tabelle und es kommt der richtige Wert raus. Manchmal denke ich einfach zu kompliziert und ich komm´ einfach nicht selbst auf den Fehler, da braucht´s einen Denkanstoss ...
Liebe Grüsse
Susanne
"Manchmal denke ich einfach zu kompliziert"

Da geht's dir genau wie mir, schau dir das hier mal an ;o)

Thementabelle bearbeiten

Liebe Grüße zurück,
Maxilla