BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Suche Unterstützung bei einer DB Abfrage

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
geimist
Beiträge: 4
Registriert: Fr 19. Apr 2013, 22:37
Kontaktdaten:

Suche Unterstützung bei einer DB Abfrage

Beitrag von geimist » Sa 10. Sep 2022, 17:48

Folgende Herausforderung:
  • Es gilt einen Bericht aus einer Art Verleihdatenbank für das aktuelle Geschäftsjahr (immer ab 1.9.) zu erstellen.
  • Jeder Artikel bildet eine Datenbank-Zeile.
  • Es gibt in der Regel mehrere Vorgänge (max. 4) je Artikel und Zeitraum, die alle in der Zeile aufgeführt werden sollen
  • Zusätzlich wird noch das Datum der letzten Rückgabe vor dem aktuellen Geschäftsjahr benötigt
Bild

Die Quelltabelle ist ein einzelner View nach folgendem Schema:

Bild

(Wie man sieht, ist bei einer ‚Nichtausgabe‘ der Mitarbeiter '-' zugewiesen. Wahrscheinlich benötigt man diese Einträge nicht für die Abfrage und könnten gefiltert werden).

Leider bin ich nicht sehr firm mit SQL.
Die Aufgabe besteht ja darin:
[*]jeden Artikel so zu filtern, dass das letzte Rückgabedatum VOR dem gewünschten Zeitraum (hier also immer des letzten Septembers) noch mit verarbeitet wird
[*]obwohl es mehrere Datensätze zu einem Artikel gibt, sollen sie alle in eine Zeile
[*](der letzte 1.9. als Startdatum kann auch gerne manuell gesetzt werden)

Vielleicht habt ihr ja auch einen anderen Vorschlag, das gewünschte Layout (das muss zwingend so sein!) mit dem Report Builder umzusetzen.

Ich würde mich sehr über Vorschläge und Hilfe freuen.
Vielen Dank schon mal fürs Lesen :D

Gruß
Stephan
LO 7.3.6 / macOS12

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Suche Unterstützung bei einer DB Abfrage

Beitrag von RobertG » Mo 12. Sep 2022, 17:02

Hallo Stephan,

kannst Du eine (anonymisierte) Beispieldatenbank dazu hier hoch laden? Die Datei muss gepackt werden (oder einfach die Endung nach .zip umbenannt werden - .odb-Dateien werden in diesem Forum nicht akzeptiert)

Mir ist schon nicht klar, warum etwas zurückgegeben werden kann, was gar nicht herausgegeben wurde.

Dann solltest Du genau aufschreiben, wie die Daten denn jetzt hintereinander in einer Zeile erscheinen sollen. Das ist für den ReportBuilder wichtig: Alle Daten, die dort in einer Zeile erscheinen sollen, müssen in Deiner Abfrage auch in einer Zeile erscheinen. Das geht über eine laufende Nummerierung in Abhängigkeit von der Art.-Nr. in einer inneren Abfrage, auf die in der äußeren Abfrage zugegriffen werden kann. Ich nehme einfach an, wenn das Layout so bleiben soll, dass es nicht mehr als 4 Aus- und Rückgaben in einem Monat geben soll. Was Du dann machst, wenn das doch der Fall ist …

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

geimist
Beiträge: 4
Registriert: Fr 19. Apr 2013, 22:37
Kontaktdaten:

Re: Suche Unterstützung bei einer DB Abfrage

Beitrag von geimist » Mo 12. Sep 2022, 19:28

Zunächst vielen Dank für Deine Antwort.
RobertG hat geschrieben:
Mo 12. Sep 2022, 17:02
Mir ist schon nicht klar, warum etwas zurückgegeben werden kann, was gar nicht herausgegeben wurde.
Der Bericht soll lediglich den Stand des aktuellen ‘Geschäftsjahres‘ abbilden. Relevant für den Bericht ist da u.a. die letzte Rückgabe vor dem aktuellen ‘Geschäftsjahr‘. Weitere davor liegende Informationen sind für diesen Bericht nicht relevant.

Dann solltest Du genau aufschreiben, wie die Daten denn jetzt hintereinander in einer Zeile erscheinen sollen. Das ist für den ReportBuilder wichtig: Alle Daten, die dort in einer Zeile erscheinen sollen, müssen in Deiner Abfrage auch in einer Zeile erscheinen.
Richtig, und das ist für mich auch die Herausforderung.
Jede Artikel-Nr., welche in der Quelltabelle mehrere Zeilen umfasst, soll dann jeweils in eine Zeile. Also eine Zeile für alle Einträge im Zeitraum pro Art-Nr.

Wenn es direkt mit SQL zu schwierig wird, hatte ich schon die Überlegung, das mit einem Makro zu erledigen. Innerhalb einer Schleife, welche jede Art.-Nr. durchläuft, sorgt eine innere Schleife für die Sammlung der weiteren Daten, welche dann in eine temporäre Tabelle geschrieben würden. Aber das ist natürlich nicht sehr elegant.

Und dann habe ich ja noch die zweite Herausforderung, immer das letzte Rückgabedatum VOR dem aktuellen Zeitraum zu finden.

Ich nehme einfach an, wenn das Layout so bleiben soll, dass es nicht mehr als 4 Aus- und Rückgaben in einem Monat geben soll. Was Du dann machst, wenn das doch der Fall ist …
Das ist korrekt – allerdings nicht je Monat, sondern pro Jahr.

Ich werde später noch eine Beispiel-DB erstellen.

(Noch eine kleine Anmerkung: Es handelt sich um einen nicht kommerziellen Anwendungsfall.)


Gruß
Stephan
LO 7.3.6 / macOS12

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Suche Unterstützung bei einer DB Abfrage

Beitrag von RobertG » So 18. Sep 2022, 15:28

Hallo Stephan,

habe jetzt einige Zeit auf die DB gewartet, dann aber doch etwas Zeit selbst investiert. Schau Dir die Konstruktion an: Zuerst eine Tabelle, einfach "Tabelle1" genannt. Dann eine zweite Tabelle, in der das Anfangsdatum des Monats eingetragen ist, für das die Ausgabe gilt. Hier heißt die Tabelle "Filter". Dann eine Ansicht aus einer Abfrage zusammengestellt, die die tatsächlichen Ausleihen und Rückgaben von Personen registriert sowie für den vorgegebenen Monat und das jeweilige Medium durchnummeriert - abhängig vom Ausleihdatum.

Und alles zusammen dann in einer Abfrage, die auf diese Ansicht zugreift und dabei die nach laufender Nummer sortierten Datensätze einzeln ausliest.

Auch aus der Abfrage würde ich für einen Bericht eine Ansicht machen, da der ReportBuilder damit besser zurecht kommt.

Gruß

Robert
Dateianhänge
Ausleihe.zip
(4.02 KiB) 58-mal heruntergeladen
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

geimist
Beiträge: 4
Registriert: Fr 19. Apr 2013, 22:37
Kontaktdaten:

Re: Suche Unterstützung bei einer DB Abfrage

Beitrag von geimist » Mo 19. Sep 2022, 10:18

Hallo Robert,

ganz herzlichen Dank für Deine Mühe. Ich hätte es Dir schon gestern geschrieben, aber als ich die Emailbenachrichtigung sah, war das Forum offline. Ich werde mir Deinen Vorschlag ansehen und mich nochmal melden.

PS: Bitte entschuldige, dass Du auf meine Beispiel-DB warten musstest. Ich hatte es fest auf meinem Plan. Leider ist mein first life und die Gesundheit nicht hinterhergekommen 🙈

Gruß
Stephan
LO 7.3.6 / macOS12

geimist
Beiträge: 4
Registriert: Fr 19. Apr 2013, 22:37
Kontaktdaten:

Re: Suche Unterstützung bei einer DB Abfrage

Beitrag von geimist » Mi 21. Sep 2022, 14:02

Hallo Robert,

jetzt endlich mal eine Rückmeldung von mir. Vielen Dank für deine gute Vorlage. Das trifft es schon sehr gut. Der Schritt mit der laufenden Nr. und dem Zwischenschritt über den View lässt es mich logisch nachvollziehen 👍

Herzlichen Dank nochmal 😊

Gruß
Stephan
LO 7.3.6 / macOS12

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten