Seite 1 von 1

Export eines Abfrageergebnisses nach Calc

Verfasst: Mi 27. Mai 2015, 09:30
von scientific
Hi Leute!

Offenbar ist der Export eines Abfrageergebnisses in eine Tabellenkalkulation nicht ganz so einfach automatisierbar... Vor allem nicht, wenn es mit den Spaltenformaten noch klappen soll...

Hab ein paar Ansätze gefunden und mir daraus jetzt ein Makro gebaut, welches aus einer Abfrage entsprechend einer "Konfigurations-tabelle" die gewünschten Spalten in einer bestimmten Reihenfolge dann in ein Tabellendokument schreibt.

Mit Strings, Integers und numerischen Werten klappt das. Ich hab bei Dannenhöfer die Funktionen dazu gefunden. (oResult.getString(Index), oResult.getLng(Index)...)

Eine Spalte in meiner Abfrage ist ein Datum. Und ich möchte das so auch als Datum eingetragen haben. oResult.getDate(Index) liefert mir auch einen Datumswert (im Debugger erkennbar). Aber wie bringe ich das dann als Datum in die Tabelle?
Das hier funktioniert, aber dann steht das Datum als Text (mit Hochkomma voraus) in der Spalte (die im übrigen eine Datumsformatierung hat)

Code: Alles auswählen

oSheet.getCellByPosition(i, nUpperBoundary).string = oResult.getString(OutputColumns(i,0))
Diese Varianten hier funktioniert alle nicht:

Code: Alles auswählen

oSheet.getCellByPosition(i, nUpperBoundary).value= oResult.getDate(OutputColumns(i,0))
oSheet.getCellByPosition(i, nUpperBoundary).formula= oResult.getDate(OutputColumns(i,0))
oSheet.getCellByPosition(i, nUpperBoundary).string= oResult.getDate(OutputColumns(i,0))
Als Würgaround geht das Datum als Text... aber eigentlich brauch ich es als Datum in der richtigen Formatierung.

Wie mache ich das richtig?

[SOLVED] Re: Export eines Abfrageergebnisses nach Calc - get

Verfasst: Mi 27. Mai 2015, 09:54
von scientific
Hi!

Kaum schreibt man sein Problem nieder, trudelt auch schon die Lösung ein.

Ich fand http://www.mic-consulting.de/index.php/ ... n-lo-4-1-1, das brachte mich auf den Lösungsweg.

Zuerst habe ich herausgefunden, dass man sich das neue Datumsfeld manuell zusammenbauen muss, wenn man getDate verwendet:

Code: Alles auswählen

DATUM = oResult.getDate(OutputColumns(i,0))
oSheet.getCellByPosition(i, nUpperBoundary).formula = DATUM.Year & "-" & DATUM.Month & "-" & DATUM.Day
Dann dachte ich mir, wenn ich das Datum schon so zusammenstopple, müsste es ja so auch funktionieren:

Code: Alles auswählen

oSheet.getCellByPosition(i, nUpperBoundary).formula = oResult.getString(OutputColumns(i,0))
Und siehe da... es funktioniert auch mit der einen Zeile allein... Offenbar bin ich da gestern als einzige Kombination nicht draufgekommen...

Aber gut, es funktioniert jetzt.

lg scientific

Re: Export eines Abfrageergebnisses nach Calc

Verfasst: Mi 27. Mai 2015, 18:08
von gogo
Schau' mal da, die Extension hab' ich mittlerweile in Version 1.2.3, die 1.0.3er dürfte aber auch noch funktionieren. Wollte sie schon lang mal offiziell hochladen, hatte aber nicht wirklich Zeit dafür. Praktisch ist sie allemal, und bei uns täglich hundertfach im Einatz...

http://www.libreoffice-forum.de/viewtop ... ort#p20183

Re: Export eines Abfrageergebnisses nach Calc

Verfasst: Do 28. Mai 2015, 09:44
von scientific
Super, Danke.

Ich werd mir das einmal näher zu Gemüte führen!

lg scientific

Re: Export eines Abfrageergebnisses nach Calc

Verfasst: Do 28. Mai 2015, 20:50
von F3K Total
Moin,
ich hätte da noch eine makrofreie Version anzubieten, siehe Videotutorial
09 OpenOffice Base: Daten nach Calc exportieren
Gruß R