[gelöst]Update per SQL von einer Tabelle in eine andere addi

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst]Update per SQL von einer Tabelle in eine andere addi

Re: Update per SQL von einer Tabelle in eine andere addieren

von eBayer » Mo, 21.09.2009 11:38

Hallo Bert,
danke für Deine Antwort.
Klammern habe ich schon an allen möglichen Stellen ausprobiert, aber das brachte entweder einen Fehler wegen falscher Klammersetzung oder den bereits oben beschriebenen.

Bin schon etwas weitergekommen: Ich musste die where Bedingung weiter auf mein aktuelles Dokument einschränken.
So klappt zumindest das Update..... Allerdings muß ich in die Felder was hineinaddieren und da setzt es bei mir aus!!
Gruß eBayer

Nachtrag: jetzt klappt auch die Addition. Ursache war, daß die Werte in der Zieltabelle nicht mit Null "0" voreingestellt waren.
Auf ein nicht initialisiertes Feld kann offensichtlich nichts addiert werden, was ja auch irgendwie logisch ist.
Blöd ist nur, daß in diesem Fall nicht einmal eine Fehlermeldung kommt. (es wird schlicht nicht addiert)

Re: Update per SQL von einer Tabelle in eine andere

von gigabert » Mo, 21.09.2009 11:07

Hallo eBayer,

hast du mal versucht, die SELECT-Anweisung in Klammern zu setzen? Keine Ahnung, ob das ohne Klammern so funktioniert.

Gruss
Bert

Re: Update per SQL von einer Tabelle in eine andere

von eBayer » Mo, 21.09.2009 09:29

Hallo Barlee,
leider haut das bei mir nicht hin. Könntest Du Dir mal den Code anschauen?
Beide SQL-Varianten ausprobiert (also auch die geremte) ... in beiden Fällen die gleiche Fehlermeldung beim ausführen des SQL-Statements.
Eigentlich müsste ich die geremte Variante benutzen, denn ich muß in die Zieltabelle hineinaddieren. Die 2. Variante habe ich nur zum Test eingebaut.
Die Tabellennamen und die Feldnamen habe ich wiederholt überprüft.

Sub PB_Abschliessen
if MsgBox ("soll der Wareneingang wirklich übernommen werden?" + Chr$(13) + "Danach ist keine weitere Bearbeitung mehr möglich!", 289, "Sicherheitsabfrage") = 2 then Exit Sub
Dim oStatement As Object, sSQL As String
Dim oForm As Object, oSubFormBestellung As Object
oForm = ThisComponent.DrawPage.Forms.getByName("Wareneingang")
oSubFormBestellung = oForm.getByName("SubFormBestellung")

' on Error goto Fehler
oStatement = getCon().createStatement
sSQL = "UPDATE ""Bestelldetails"" SET ""Bestelldetails"".""MengeWE"" = ""Bestelldetails"".""MengeWE"" + SELECT ""Wareneingangsdetails"".""Menge"" FROM ""Wareneingangsdetails"" WHERE ""Bestelldetails"".""BestelldetailID"" = ""Wareneingangsdetails"".""BestelldetailID"""
' sSQL = "UPDATE ""Bestelldetails"" SET ""MengeWE"" = SELECT ""Menge"" FROM ""Wareneingangsdetails"" WHERE ""Bestelldetails"".""BestelldetailID"" = ""Wareneingangsdetails"".""BestelldetailID"""
oStatement.execute(sSQL)
sSQL = "UPDATE ""Wareneingang"" SET ""Wareneingang"".""Status"" = 1 WHERE ""Wareneingang"".""ID"" = " + oForm.getByName("fmtID").text
oStatement.execute(sSQL)
oStatement.close()
oForm.reload
oSubFormBestellung.reload
goto Fertig
Fehler:
msgbox("Verbuchug der Daten unvollständig!", 16, "bitte prüfen")
Fertig:
End Sub

Danke für Deine geduldige Hilfe.
Gruß eBayer
Fehlermeldung.jpg
Fehlermeldung.jpg (11.71 KiB) 620 mal betrachtet

Re: Update per SQL von einer Tabelle in eine andere

von eBayer » So, 20.09.2009 18:17

Danke Barlee, genau das habe ich gesucht und werde es nachher ausprobieren.
Gruss eBayer

Re: Update per SQL von einer Tabelle in eine andere

von Barlee » So, 20.09.2009 18:13

Hallo eBayer,

folgende Annahme:
2 Tabellen "Wert1" und "Wert2"
jeweils mit Spalten "ID" (gemeinsames Attribut), "B1", "B2", "B3"

Code: Alles auswählen

UPDATE "Wert1" SET  
"Wert1"."B1" = "Wert1"."B1" + SELECT "Wert2"."B1" FROM "Wert2" WHERE "Wert1"."ID" = "Wert2"."ID", 
"Wert1"."B2" = "Wert1"."B2" + SELECT "Wert2"."B2" FROM "Wert2"  WHERE "Wert1"."ID" = "Wert2"."ID", 
"Wert1"."B3" = "Wert1"."B3" + SELECT "Wert2"."B3" FROM "Wert2"  WHERE "Wert1"."ID" = "Wert2"."ID"
Gruß Barlee

[gelöst]Update per SQL von einer Tabelle in eine andere addi

von eBayer » So, 20.09.2009 12:55

Hallo Forum,
ich habe auch mal wieder eine Frage und würde mich über hilfreiche Antworten freuen.
Ich möchte aus einer Tabelle Werte (3 verschiedene Spalten) in eine andere (ebenfalls 3 verschiedene Spalten) hineinaddieren.
Beispiel: Umsatzerfassung in einer Tabelle. Die erfassten Werte sollen dann in eine andere Tabelle als statistischer Wert addiert werden.
Danach sollen die Daten der Erfassungstabelle wieder gelöscht werden, wobei es mir aber bei meiner Frage nur auf die Update-Funktion ankommt!
Bin zwar nicht fit in SQL, aber es ist ja wohl der einzig vernünftige Weg.
Ich verwende bei dieser Problemstellung übrigens die interne HSQLDB.
Danke im Voraus
eBayer

Nach oben