Tabelle aus Datenbank übernehmen bringt Fehler

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

kilix
****
Beiträge: 128
Registriert: So, 09.04.2023 11:27

Tabelle aus Datenbank übernehmen bringt Fehler

Beitrag von kilix »

Hallo,
ich will eine Tabelle aus einer Datenbank in eine Calc-Tabelle kopieren. Nachdem die DB-Tabelle Einträge aus dem Vorjahr enthält die ich nicht haben will verwende ich ein Filter: StartJahr = 2023). Die Tabelle sieht so aus:
Fehler.PNG
Fehler.PNG (56.52 KiB) 1106 mal betrachtet
Kopiert werden soll die DB-Tabelle (eigentlich Abfrage) A_SippungAnwesenheit, das Filter ist wie oben geschrieben eingestellt.
1) Wenn ich den Abfrage-Namen A_SippungAnwesenheit mit der Maus in die Calc-Tabelle ziehe werden alle Sätze richtig kopiert - nur das Filter wird nicht berücksichtigt, d.h. es werden auch die Vorjahrenzeilen mitkopiert.
2) Wenn ich die DB_Tabelle aus den Tabellen Fenster (rechts vom Datenbank-Explorer) kopiere, d.h. ich stelle sicher, dass alle Sätze eingelesen sind (klick auf die Schaltfläche >| neben dem Fenster mit der Anzahl Datensätze, dann setze ich die Maus in das graue Feld links neben der Spalte StartJahr und ziehe damit die DB-Tabelle in die Calc-Tabelle dann wird wohl das Filter berücksichtigt allerdings wird der letzte Satz 2x übertragen (siehe Zeilen 251 und 252).
Anmerkung: die Zeile 250 erscheint nur hier identisch, hst aber auch andren, nicht gezeigten Inhalt.

Offenbar mache ich irgend etwas falsch, nur was?

EDIT: muss mich korrigieren! Hatte gerade wieder einen Fall bei dem der letzte Satz zweimal importiert wurde. Kann es sich um einen Bug in OO handeln?
Zuletzt geändert von kilix am Mo, 09.10.2023 18:54, insgesamt 1-mal geändert.
Grüße
kilix
Hiker
******
Beiträge: 591
Registriert: Mo, 08.09.2014 21:34
Wohnort: Berlin

Re: Tabelle aus Datenbank übernehmen bringt Fehler

Beitrag von Hiker »

Mein WorkAround (bzw. die Methode, mit der ich arbeite) ist eine zusätzliche Abfrage in der Du Dein StartJahr=2023 in den WHERE-Teil integrierst.

Um immer das letzte Jahr zu haben könntest Du mit dem Maximum der Spalte vergleichen...

PS: Nur nach dem Screenshot: Wenn aus 248 Datensätzen 251 werden, läuft irgendwas da wirklich seltsam
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
kilix
****
Beiträge: 128
Registriert: So, 09.04.2023 11:27

Re: Tabelle aus Datenbank übernehmen bringt Fehler

Beitrag von kilix »

Danke Hiker für die Antwort!

die Jahresabfrage in den SQL-Befehl schreiben hilft mir nicht, da
1) diese sich diese Angabe jedes Jahr ändert
2) es (nicht bei dieser aber bei anderen) möglich wäre auch vergangene Jahre oder verschiedene andere Kriterien abzufragen
3) die Eingabe des Kriteriums von einem Anwender durchgeführt werden soll.

Die "wunderbare" Zeilevermehrung um 2 Zeilen erklärt sich so: eine Zeile ist die Kopfzeile, die in der DB-Tabelle nicht in der Calc-Tabelle aber schon gezählt wird. Die 2. zusätzliche Zeile entstand dadurch. dass die letzte Zeile der DB-Tabelle zweimal in die Calc-Tabelle importiert wurde. Das passiert aber nur wenn ich die DB-Tabelle nach der zweiten oben beschriebenen Methode importiere. Allerdings hab ich so schon einige andere Tabellen importiert bei denen dieser Fehler nie auftrat.

Importiert man nach der obigen Methode 1 entsteht dieser fehler nicht. Allerdings wird das gesetzte Filter nicht berücksichtigt.

D.h. wenn ich ein Filter anwenden will (das auch ein Anwender bedienen kann) bleibt mir nur die Methode 2 allerdings mit der Gefahr des beschriebenen Fehlers.

Die zweite Methode des Imports (ziehen des DB-Tabellenamens in die Calc-Tabelle) würde mir viel besser gefallen weil das duch Anwender auch leichter zu bedienen ist. Das geht aber nur deshalb nicht weil ein gesetzter Filter nicht berücksichtigt wird - oder gibt es einen Weg auch so das Filter anzuwenden?

Edit: muss mich korrigieren! Wenn ich die Datenbank (nachdem ich sichergestellt habe, dass die Datei komplett eingelesen wurde) von grauen Feld der DB-Tabelle links oben in die Calc-Tabelle ziehe wird JEDESMAL der letzte Satz 2x importiert. Damit ist diese Methode unbrauchbar!
Das Problem ist jetzt: wie kann ich Sätze selektieren wenn ich die DB-Tabelle mit ihren markierten Namen in die Calc-Tabelle ziehe. Mit dieser Methode wird offenbar richtig importiert aber es findet keine Selektion statt, die für meine Anwendung aber wichtig ist.
Grüße
kilix
kilix
****
Beiträge: 128
Registriert: So, 09.04.2023 11:27

Re: Tabelle aus Datenbank übernehmen bringt Fehler

Beitrag von kilix »

Ich beende hier weil ich festgestellt habe, dass es sich um einen Bug in Open Office handelt, der in Libre Office nicht vorhanden ist. Ich werde daher ab sofort Libre Office verwenden.
Grüße
kilix
Antworten