Seite 1 von 1

Ergebnis vom Formularbasierter Filter nach Calc

Verfasst: Do 27. Apr 2017, 11:50
von cool
Hallo,
ich möchte fragen, ob das Selektionsergebnis aus einem Formularbasierten Filter im Calc angezeigt werden kann? Unsere Sekretärin kann keine Abfragen oder SQL, daher suche ich eine Möglichkeit wie sie ganz einfach das Ergebnis der Filterung im Calc öffnen kann. Ich weiß es ist schwer, aber vielleicht kennt da jemand eine pfiffige Lösung für Dummies. ))

Man kann zwar mit dem "Datenquelle als Tabelle"-Button eine Tabelle der selektierten Daten anzeigen, aber aus dieser lässt sich leider keine Zeilen oder Spalten kopieren, schade. (((

Danke!

Re: Ergebnis vom Formularbasierter Filter nach Calc

Verfasst: Do 27. Apr 2017, 18:31
von F3K Total
cool hat geschrieben:Man kann zwar mit dem "Datenquelle als Tabelle"-Button eine Tabelle der selektierten Daten anzeigen, aber aus dieser lässt sich leider keine Zeilen oder Spalten kopieren, schade. (((
Ist ja ein Ding, bei mir geht das ganz einfach, Zeilenköpfe markieren, rechte Maustaste, kopieren, in Calc Zielzelle anklicken und einfügen.
Gruß R

Re: Ergebnis vom Formularbasierter Filter nach Calc

Verfasst: Do 27. Apr 2017, 19:10
von cool
Hab's nach einer Stunde Suche das auch gefunden, nur kann ich nicht Spalten- o. Zeilenweise kopieren, nur die ganze Tabelle. Jetzt aber das Problem, die Datensätze aus den Unterformularen werden nicht kopiert, sondern nur die IDs als FKs, siehe Screenshot -> https://www.dropbox.com/s/46g8g7iwyly8n ... t.png?dl=0

Dann werden auch alle Spalten der Haupttabelle kopiert, obwohl ich nur die selektierten brauche. Das ganze ist also eine wackelige Lösung. :(

Ist das bei Dir auch so, welche LO Version hast Du?

Re: Ergebnis vom Formularbasierter Filter nach Calc

Verfasst: Fr 28. Apr 2017, 12:54
von RobertG
Hallo cool,

das, was da mit den IDs steht, sind nicht die Inhalte von Unterformularen, sondern die Inhalte der Tabellenfelder. Nur in der Tabellenansicht innerhalb des Formulars existieren hier nämlich Listenfelder wie im Formular. Du siehst also etwas anderes als das, was tatsächlich abgespeichert wird.

Du wirst dabei um eine Makrolösung nicht herum kommen, die zusätzlich eben für Dich auch noch die Listenfelder entsprechend auswertet. Für einfachen Text habe ich das zu Hause fertig: Auslesen des Filters, Ablauf der Abfrage, Kopie in die Zwischenablage. Dann muss nur noch aus der Zwischenablage in Calc eingelesen werden. Bin zum Abend hin wieder am Rechner und kann dann auch nachsehen, wie die Inhalte der Listenfelder mit übernommen werden können.

Robert

Re: Ergebnis vom Formularbasierter Filter nach Calc

Verfasst: Fr 28. Apr 2017, 18:37
von RobertG
Hallo cool,

ich habe jetzt einmal eine Datenbank zusammengestellt, die zwei Tabellen hat und dazu eine Fremdschlüsselverbindung. In dem Formular wird über einen Button der dem Filter entsprechende Inhalt in die Zwischenablage kopiert. Er kann entsprechend in Calc oder in den Writer eingefügt werden. Trenner der einzelnen Felder ist ein Tabulator.

Die Makros sind noch nicht so sehr allroundtauglich. So muss entsprechend eingestellt werden, wie viele Felder über die Abfrage ausgelesen werden. Auch muss klar sein, wo es sich um ein Datum, wo um eine Dezimalzahl und wo um ein Listenfeld mit Fremdschlüssel handelt.

Den Makroteil zum Export in die Zwischenablage habe ich einfach so aus dem Netz übernommen. Ob da eine Kürzung möglich ist habe ich nicht weiter überprüft.

In den Makros sind bisher nur wenige Variablen deklariert. So etwas mache ich erst, wenn ich mit dem Code größtenteils zufrieden bin.

Teste einfach einmal, ob das Deinem Anliegen nahe kommt.

Gruß

Robert

Re: Ergebnis vom Formularbasierter Filter nach Calc

Verfasst: Sa 29. Apr 2017, 14:54
von cool
Hallo,
danke euch. Bin jetzt aber auf Reise, schaue mir das nächste Woche an.
MfG

Re: Ergebnis vom Formularbasierter Filter nach Calc

Verfasst: Sa 29. Apr 2017, 18:47
von RobertG
Hallo cool,

ich habe das jetzt noch so angepasst, dass es recht einwandfrei funktioniert. Im ersten Schritt hatte ich die Daten per SQL ausgelesen. Einfacher ist es, das auszulesen, was die Datenfelder anzeigen. Dazu muss aber das Makro durch das Formular scrollen. Das habe ich bei der anhängenden Datei gemacht.

Was bisher so nicht eingebaut ist: Auslesen von tatsächlichen Unterformularen. Dazu müsste eine zusätzliche Schleife für jedes Unterformular eingebaut werden. Außerdem würden dadurch zwangsläufig die Datensätze des Hauptformulars entsprechend vervielfacht werden.

Gruß

Robert

Re: Ergebnis vom Formularbasierter Filter nach Calc

Verfasst: Di 2. Mai 2017, 10:29
von cool
Hallo Robert,

irgendwie stehe ich auf dem Schlauch. Der "Exportieren"-Button macht bei mir irgendwie nichts. ((

Ich verstehe nicht wieso man diesen ganzen Aufwand betreiben muss, wenn doch die "Datenquelle als Tabelle"-Ansicht bereits alles wie gewünscht anzeigt. Da soll doch der Inhalt einfach kopiert werden und fertig. LO hat doch bereits für die "Datenquelle als Tabelle"-Ansicht alles schön aus der DB ausgelesen und dargestellt, wieso müssen wir da noch rumschrauben und die selbe Arbeit für die Zwischenablage noch mal machen? :|

Re: Ergebnis vom Formularbasierter Filter nach Calc

Verfasst: Di 2. Mai 2017, 15:57
von RobertG
Hallo cool,

Du musst für die Datenbank die Ausführung von Makros erlauben.
Extras > Optionen > LibreOffice > Sicherheit > Makrosicherheit ...

"Datenquelle als Tabelle" gibt, wie Du ja festgestellt hast, bei der Kopie nicht die angezeigten Werte sondern die abgespeicherten Inhalte der Listenfelder weiter. Hier sind nämlich Listenfelder in der Tabelle enthalten wie sie im Formular definiert werden.

Mit dem Makro spare ich mir das Öffnen von "Datenquelle als Tabelle" und kopiere den gesamten Inhalt, gegebenenfalls mit Spaltenköpfen, in die Zwischenablage. Von dort kann ich den Inhalt dann in jedes beliebige Programm einfügen.

Gruß

Robert