Moin Hein,
JEIN - Du brauchst schon die Schleife, da Du immer nur eine Zeile des ResultSets bekommst.
Was Deinen Code langsam macht (bei mehr als ein Paar Werten) ist das Setzen der einzelnen Werte pro Zelle.
Fülle erst ein Array und nehme dann .setDataArray um alles auf einmal in einen Bereich zu schreiben.
Beispiele für die Array-Bearbeitung mit der Forensuche und in meiner Extension OOoDIL - DoumentInfoListe
Noch ein Tipp: erzeuge das Calc-Doument im Hintergrund (Suchbegriff: HIDDEN) und zeige es erst nach Ende des Füllvorgangs an (auch in OOoDIL).
Hilft das weiter?
Was meinst Du mit "Ausgabe in Base"?
Du kannst auch eine Abfrage definieren und die aufrufen... hab' ich aber noch nicht probiert.
Base-Abfrage in Calc ausgeben
Moderator: Moderatoren
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Abfrage anzeigen lassen
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Base-Abfrage in Calc ausgeben
Lade Dir OOoDIL und schau den Code an.
Beide Antworten sind da drinn:
HIDDEN bei den DateiEigenschaften des Öffnens FileProperties
Leider keine Zeit mir das näher anzuschauen... kommst Du so schon weiter?
Beide Antworten sind da drinn:
HIDDEN bei den DateiEigenschaften des Öffnens FileProperties
Code: Alles auswählen
myCell.setDataArray( Datenarray )
Leider keine Zeit mir das näher anzuschauen... kommst Du so schon weiter?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Base-Abfrage in Calc ausgeben
Auch Hallo,
Dein Array ist M.E. falsch dimensioniert. Am einfachsten, M.E., nimm zuvor ein:
dann hast Du ein Array mit der richtigen Dimensionierung. Alternativ scheint auch dieses zu funktionieren.
Beachte dass hier der ReDim innerhalb der Schleife steht!! Wenn ich das hier nicht mache bekommen alle Zellen einer Spalte den gleichen Inhalt?
cu, Bernd
--
Dein Array ist M.E. falsch dimensioniert. Am einfachsten, M.E., nimm zuvor ein:
Code: Alles auswählen
Datenarray = myCell.getDataArray
Beachte dass hier der ReDim innerhalb der Schleife steht!! Wenn ich das hier nicht mache bekommen alle Zellen einer Spalte den gleichen Inhalt?
cu, Bernd
--
Code: Alles auswählen
Sub Main
Dim Datenarray(1 To 66) As Variant
for i = 1 to 66
redim arHilf(1 to 128)
for j = 1 to 128
arHilf(j) = 100*j+i
next
Datenarray(i) = arHilf
next
Dim mArgs()
oDocument = StarDesktop.loadComponentFromURL ("private:factory/scalc","_blank", 0, mArgs())
mySheet = oDocument.sheets(0)
myCell = mySheet.getCellRangeByPosition(1,1,128,66)
myCell.setDataArray Datenarray
End Sub