Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Summe aus SubForm in anderer Tabelle aktualisieren





Frage

Hallo Leute, ich brüte da gerade über einer kleinen Sache. Ich habe ein Unterformular, dieses wird aus verschiedenen Hauptformularen heraus bedient. Darin werden Versanddaten erfasst, u.a. die Menge und zwar jeweils für eine Chargennummer (ChB). So kann ich immer errechnen, wieviel von einer bestimmten ChB versandt worden ist. Nun möchte ich den errechneten Wert (nach Form Aktualisieren) in eine andere Tabelle schreiben (hier ist schon EIN Satz mit der entsprechenden ChB vorhanden und der errechnete Wert gehört in das Feld MengeSum, d.h. nach jeder Änderung im Subform soll dieser Wert aktualisiert werden) Ich dachte, ich könnte das irgendwie mit der UPDATE-Funktion lösen, aber das krieg ich nicht hin. Die Tabelle1 ist die zu aktualisierende Tabelle mit der Zielspalte MengeSum. vmenge ist der errechnete Summenwert (mit DSum) So in der Richtung hatte ich mir das gedacht, aber ich habe mit der ganzen Syntax ein Problem [code] update Tabelle1.[mengesum] SET [mengesum] = vmenge where tabelle1.[chb] = '" & Me!ChB & "' [/code] Das ergibt immer den Fehler [b]"erwarte Anweisungsende"[/b] beim Kompilieren. Hat jemand eine Idee? Danke schonmal Klaus

Antwort 1 von piano

Hallo Klaus
in geposteter Anweisung fehlt ein Apostroph:
update Tabelle1.[mengesum] SET [mengesum] = vmenge where tabelle1.[chb] = '" & Me!ChB & "'"

Gruß piano

Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.



Antwort 2 von piano

Hallo
vergiß obiges, war zu voreilig. Versuch folgendes:

"update Tabelle1 SET Tabelle1.[mengesum] = vmenge where tabelle1.[chb] = '" & Me!ChB & "'"

Gruss piano

Antwort 3 von klausinger

Servus piano,

Danke für Deine Hilfe, funzt aber leider auch nicht.
Habe inzwischen aber eine funktionierende Lösung gefunden, ich war auf dem komplett falschen Dampfer, der Trick liegt darin nicht die Update-Anweisung sondern die Methode zu nehmen (solche Dinge passieren mir ständig ...)



Set db = CurrentDb
Set rsu = db.OpenRecordset("select MengeSum from tabelle1 where [chb] = '" & Me!ChB & "'")
'Menge bilden aus aktuellen Werten der Untertabelle
SumMenge = DSum("[menge]", "tabelle1SUB", "[chb] = '" & Me!ChB & "'")

'Tabelle aktualisieren
rsu.Edit
rsu!MengeSum = SumMenge
rsu.Update





Wenn mans weiß, eigentlich voll easy ...
Endlich mal wieder ein Erfolgserlebnis!

Tschausn
Klaus

Antwort 4 von piano

Hallo
dachte es mir schon, wollte aber vorerst das syntaktische Problem lösen
Gruss piano