Ergebnis von Select Anweisung in calc Sheet schreiben

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Ergebnis von Select Anweisung in calc Sheet schreiben

Beitrag von komma4 »

1. reply: ja, das NOT muss weg, wenn Du das Blatt immer löschen möchtest


2. reply:

Code: Alles auswählen

If oDPT.hasByName( AUSGABE_PILOT ) Then
' print "vorhanden - refresh"
	oDPT.getByName( AUSGABE_PILOT ).refresh()
End If
Du musst Dir echt Xray holen, installieren und nutzen. Damit findest Du so etwas selbst in einer Minute raus.
Für Dein Fragen brauchst Du Dich nicht entschuldigen ... wir haben hierbei alle etwas gelernt.

Weiterhin viel Erfolg!
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)
sg1985
***
Beiträge: 89
Registriert: Mo, 07.07.2008 15:22

Re: Ergebnis von Select Anweisung in calc Sheet schreiben

Beitrag von sg1985 »

Wenn ich nun aktualisiere, bleibt der Datenpilot leer.

Der Grund ist klar: ich lösche das temporäre Blatt, das nur fürs Ergebnis der SQL Abfrage dient, immer sobald ich wieder ein neues temporäres Blatt brauche um den Datenpilot ausführen zu können bzw. das Ergebnis der SQL Abfrage eben zwischen zu speichern.

Wenn der User nun mehrere Tabellenblätter mit den Ergebnissen vom Datenpilot hat, unter später irgendeines davon aktualisieren möchte, funktioniert das klarerweise nicht mehr, da der Datenpilot fürs Aktualisieren wieder das Ergebnis der SQL Abfrage braucht, und dieses nicht mehr vorhanden ist.

Ich würde das löschen des temporären Blatts gerne beibehalten, da ich nicht so viel Speicherplatz durch unnötige Tabellenblätter verschwenden will.
Selbst wenn ich das temporäre Blatt für jedes Ergebnis der SQL Abfragen nicht wieder löschen würd, wüsste ich später nicht mehr welches Datenpilotblatt zu welchem ausgeblendeten SQLAbfrageBlatt gehören würde, um beim aktualisieren eines Datenpilotblatts wieder auf das richtige SQLAbfrageBlatt zugreifen zu können.

Hat da vielleicht jemand einen Lösungsvorschlag für dieses Problem?
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Ergebnis von Select Anweisung in calc Sheet schreiben

Beitrag von komma4 »

Über welche Datenmengen reden wir?

Gebe die SQLDaten ab Zeile 10000 aus und zeige den DP ab 0,0
Damit brauchst Du nur ein Blatt.

sg1985 hat geschrieben:wüsste ich später nicht mehr welches Datenpilotblatt zu welchem ausgeblendeten SQLAbfrageBlatt gehören würde
Nenne sie nach gleichem Muster:
data_Einkauf_Nord und pilot_Einkauf_Nord

Andererseits: ich mache mir heute kaum noch Sorgen um Speicherplatz.

Wie gross ist Deine Calc-Datei? 700kB?
WIe gross ist sie mit 12 Abfragen? 1MB?
Daten nehmen wenig Platz ein, Formeln und Bilddateien "kosten".

Und: den "Aufwand" mit Basic, SQL-Abfrage und dynamischer Erstellung hast Du investiert, damit die Ergebnisse korrekt und aktuell sind. Also: spare das .refresh() und erstelle immer neu.
Geht das (Verbindung online zur DB?, Performance ausreichend?)
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)
Antworten