🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
ods Datei mit Inhalt aus einer SQL Abfrage füllen
ods Datei mit Inhalt aus einer SQL Abfrage füllen
Hallo zusammen,
Problematiken lassen einen irgendwie nicht mehr los....
Nachdem die letzte Schwierigkeit perfekt gelöst worden ist gibt es nun ein weiteres Anliegen.
Kurz zum Hintergrund. Es existiert ein Dialog, der verschiedene Dropdown und Textfelder enthält, welche meist durch SQL Abfragen auf eine Postgre SQL DB gefüllt werden.
Nun möchte ich diese abgefragten Daten in eine ods Datei speichern.
Beispiel:
Dropdown 1 enthält alle Länder
Ich möchte nun für jedes Land ein neues Tabellenblatt in der ods Datei erzeugen und dies entsprechend benennen
Dropdown 2 enthält alle Städte, die zum jeweiligen Land gehören
Ich möchte nun dass alle Städte des jeweiligen Landes in das entsprechende Tabellenblatt untereinander in einer bestimmten Spalte geschrieben werden
Leider habe ich nichtmal einen Ansatz wie das funktionieren könnte. Sicherlich mit einer Schleife, aber ich hoffe Ihr könnt mir hier nochmals auf die Sprünge helfen....
Viele Grüße
Kenji
Problematiken lassen einen irgendwie nicht mehr los....
Nachdem die letzte Schwierigkeit perfekt gelöst worden ist gibt es nun ein weiteres Anliegen.
Kurz zum Hintergrund. Es existiert ein Dialog, der verschiedene Dropdown und Textfelder enthält, welche meist durch SQL Abfragen auf eine Postgre SQL DB gefüllt werden.
Nun möchte ich diese abgefragten Daten in eine ods Datei speichern.
Beispiel:
Dropdown 1 enthält alle Länder
Ich möchte nun für jedes Land ein neues Tabellenblatt in der ods Datei erzeugen und dies entsprechend benennen
Dropdown 2 enthält alle Städte, die zum jeweiligen Land gehören
Ich möchte nun dass alle Städte des jeweiligen Landes in das entsprechende Tabellenblatt untereinander in einer bestimmten Spalte geschrieben werden
Leider habe ich nichtmal einen Ansatz wie das funktionieren könnte. Sicherlich mit einer Schleife, aber ich hoffe Ihr könnt mir hier nochmals auf die Sprünge helfen....
Viele Grüße
Kenji
Re: ods Datei mit Inhalt aus einer SQL Abfrage füllen
schau mal hier. http://www.libreoffice-forum.de/viewtop ... 183#p20183
Das Makro das Du brauchst heisst "TOOL_SQLToCalc", da sind alle Funktionalitäten drin um Resultsets in ein Calc-Sheet zu transferieren... muss aber sicher noch umgearbeitet werden, damit Deine speziellen Vorstellungen funktionieren.
Das Makro das Du brauchst heisst "TOOL_SQLToCalc", da sind alle Funktionalitäten drin um Resultsets in ein Calc-Sheet zu transferieren... muss aber sicher noch umgearbeitet werden, damit Deine speziellen Vorstellungen funktionieren.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
Re: ods Datei mit Inhalt aus einer SQL Abfrage füllen
Hallo,
erst einmal vielen Dank für die Rückmeldung. Das Tool und die dazugehörigen Beiträge haben mir schon gut geholfen. Nun bin ich soweit, dass mit in mein erstes Tabellenblatt die gewünschten Daten hineingeschrieben werden.
Außerdem funktioniert bereits, dass für jedes "Land", was in Spalte A steht ein neues Tabellenblatt generiert wird. Nun möchte ich weiter, dass diese neu generierten Tabellenblätter gefüllt werden mit Daten aus einer anderen SQL Abfrage...
Wäre super wenn mich jemand nochmal auf die richtige Fährte lotsen kann....
Grüße
Kenji
erst einmal vielen Dank für die Rückmeldung. Das Tool und die dazugehörigen Beiträge haben mir schon gut geholfen. Nun bin ich soweit, dass mit in mein erstes Tabellenblatt die gewünschten Daten hineingeschrieben werden.
Außerdem funktioniert bereits, dass für jedes "Land", was in Spalte A steht ein neues Tabellenblatt generiert wird. Nun möchte ich weiter, dass diese neu generierten Tabellenblätter gefüllt werden mit Daten aus einer anderen SQL Abfrage...
Code: Alles auswählen
REM Bibliothek laden
globalScope.BasicLibraries.loadLibrary("Tools")
REM Dateipfad
STEUrl = DirectoryNameoutofPath(convertfromurl(thisComponent.url), getPathSeparator())
REM Abfrage
Testabfrage = SQL_Anweisung.executeQuery("SELECT ""test1"",""test2"",""test3"",""test4"",""test5"" FROM ""laender"" ORDER BY ""test1""")
aColumns = Testabfrage.Columns.ElementNames
AuswDoc = StarDesktop.loadComponentFromURL("file:///" & STEUrl & "\" & "Vorlagen\Auswertung.ods", "_blank", 0, Args()
oSheet = AuswDoc.Sheets(0)
nColumnCount = UBound(aColumns)
Dim aLine(nColumnCount)
Dim aData(0)
aData(0) = aColumns
nUpperBoundary = 0
Do While Testabfrage.Next
nUpperBoundary = UBound(aData)+1
ReDim Preserve aData(nUpperBoundary)
ReDim aLine(nColumnCount)
For i = 0 To nColumnCount
aLine(i) = Testabfrage.getString(i+1)
Next i
aData(nUpperBoundary) = aLine
AuswDoc.sheets.insertNewByName(Testabfrage.getString(2), 1)
Loop
oRange = oSheet.getCellRangeByPosition(0,0,nColumnCount,nUpperBoundary)
oRange.setDataArray(aData)
Call Sortieren_steigend
Grüße
Kenji
Re: ods Datei mit Inhalt aus einer SQL Abfrage füllen
reicht es nicht, "aData()" mit den richtigen Daten zu füllen?
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
Re: ods Datei mit Inhalt aus einer SQL Abfrage füllen
Hallo,
ich kann dir leider nicht sagen, ob das das Problem löst, denn ich stehe grade völlig auf dem Schlauch und hab null Ansatz, wie es weitergehen könnte....
Hast du da evtl. einen Beispielcode für mich oder etwas, was mich wieder etwas in die korrekte Richtung führt?
Ich benötige wirklich alles im Makro selber und habe keinen Spielraum, dass die Abfragen in extra InputBoxen oder Ähnlichem eingetragen werden.
Grüße
Kenji
ich kann dir leider nicht sagen, ob das das Problem löst, denn ich stehe grade völlig auf dem Schlauch und hab null Ansatz, wie es weitergehen könnte....
Hast du da evtl. einen Beispielcode für mich oder etwas, was mich wieder etwas in die korrekte Richtung führt?
Ich benötige wirklich alles im Makro selber und habe keinen Spielraum, dass die Abfragen in extra InputBoxen oder Ähnlichem eingetragen werden.
Grüße
Kenji
Re: ods Datei mit Inhalt aus einer SQL Abfrage füllen
Hallo zusammen,
ist hier niemand mehr, der mir weiterhelfen kann?
Grüße
Kenji
ist hier niemand mehr, der mir weiterhelfen kann?
Grüße
Kenji
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.