ich stehe momentan vor folgendem Problem:
Ich habe Daten aus einer Abfrage, die einem Formular dargestellt werden. In diesem Formular, kann dann ein Datensatz ausgewählt werden, der dann über ein Makro in eine andere Tabelle der Datenbank eingefügt werden soll. Ich möchte das Ganze über SDBC machen, da eine SQL-Anfügeabfrage sehr aufwendig wäre. Folgenden Code habe ich versucht.
Code: Alles auswählen
oForm = ThisDatabaseDocument.FormDocuments.GetByName("LadebuchEingabe").component.drawpage.Forms.getByName("MainForm")
'' Schreiben der Daten
iDatum = oForm.getByName("eDatum").date
sDatum = Str(iDatum\10000)+"-" + Str((idatum-((iDatum\10000)*10000))\100)+"-"+Str(idatum-((idatum-((iDatum\10000)*10000))\100)*100-(iDatum\10000)*10000)
sAnzahl = str(oForm.getByName("eMenge").value)
sBemerkungen = oForm.getByName("eBemerkungen").Text
oStatement = oForm.ActiveConnection.createStatement()
sSQL = "SELECT * FROM ""Ladebuch"""
oStatement.ResultSetConcurrency = com.sun.star.sdbc.ResultSetConcurrency.UPDATABLE
oStatement.ResultSetType = com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE
oTLadebuch = oStatement.executeQuery(sSQL)
oTLadebuch.moveToInsertRow()
oTLadebuch.updateString(1,sDatum)
oTLadebuch.updateString(2,oForm.getString(2))
oTLadebuch.updateString(3,oForm.getString(3))
oTLadebuch.updateString(4,oForm.getString(4))
oTLadebuch.updateString(5,oForm.getString(5))
oTLadebuch.updateString(6,oForm.getString(6))
oTLadebuch.updateString(7,oForm.getString(7))
oTLadebuch.updateString(1,sAnzahl)
oTLadebuch.updateString(1,sBemerkungen)
oTLadebuch.insertRow()
''Ende des Schreibens