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. 🤗

Ergebnisverwaltung im Verein

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Adde89
Beiträge: 4
Registriert: Sa 27. Nov 2021, 12:31

Ergebnisverwaltung im Verein

Beitrag von Adde89 » Sa 27. Nov 2021, 13:12

Hallo Zusammen,

Ich bin neu hier. Daher bitte habt nachsicht, wenn ich mich nicht zu 100% richtig verhalte.
Zu meinem Problem:
Ich bin neu in den Vorstand eines Schützenvereins gewählt worden und für die Schießergebnisse zuständig.
Bisher werden die Ergebisse der Schützen händisch auf Ergebnislisten in einem Ordner eingetragen. Dabei hat jeder Schütze eine eigene Liste. Der Aufwand die Schützen in dem Ordner zu finden und das Ergebnis einzutragen ist in meinen Augen "noch" akzeptabel, jedoch ist die Auswertung am Ende des Jahres ein Graus, da der Gesamte Ordner durchgewälzt werden muss um die einzelnen Ergebnisse des Jahres zu überprüfen und zu vergleichen. Ebenso wird in dem Zuge der Fortschritt für die Orden an der Schützenjacke erfasst. Dabei gilt, je nach Alter des Schützen muss das Ergebnis unterschiedlich sein um einen gewissen Orden zu erreichen.
Am Einfachsten könnte man für jeden Schützen eine Registerkarte in der Tabellenkalkulation erstellen und das jeweilige Ergebnis dort eintragen. Jedoch sehe ich für die Auswertung in diesem Fall keine signifikante Verbesserung. und das Eintragen des Ergebnisses wir nicht verbessert.

Mein Gedanke ist es hierfür eine Datenbank zu erstellen. jedoch habe ich auf dem Gebiet keinerlei Erfahrung und Tutorials bringen mich auf das gewünschte Ergebnis da mir die Ideen der richtigen Verknüpfung der einzelnen Tabellen zueinander Mitglied und Ergebnis mit der Verknüpfung des Fortschritts nicht so einfach erscheint.
Meine Frage ist zu diesem Zeitpunkt erst einmal, wähle ich mit einer Datenbank überhaupt das richtige Werkzeug aus um die Ergebnisverwaltung zu digitalisieren, oder gibt es hierfür bessere Möglichkeiten?

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

Re: Ergebnisverwaltung im Verein

Beitrag von RobertG » Sa 27. Nov 2021, 14:13

Da ist auf jeden Fall eine Datenbank passend.

Tabelle "Person" mit den Feldern "ID" (Primärschlüssel, Integer, AutoWert), "Vorname" (Varchar 100), "Nachname" (Varchar 100) und allen sonst noch benötigten Feldern für die Person.

Tabelle "Ergebnisse" mit den Feldern "ID" (Primärschlüssel, Integer, AutoWert), "PersonID" (Integer, speichert nachher die ID aus "Person"), "Punkte" (Dezimal …), "Datum" und was sonst noch dazu gehört.

Formular, bei dem im Hauptformular die Personen stehen und im Unterformular die Ergebnisse zu den jeweiligen Personen.

Das Ganze kann natürlich über einen Bericht zum Ende des Jahres ausgedruckt werden und die Bewertung ist auch problemlos möglich.
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

Adde89
Beiträge: 4
Registriert: Sa 27. Nov 2021, 12:31

Re: Ergebnisverwaltung im Verein

Beitrag von Adde89 » Di 2. Mai 2023, 19:29

Hallo zusammen,

Es ist schon einiges an Zeit verstrichen. ich musste dieses Projekt aus verschiedensten Gründen erstmal zurückstellen.
Jetzt nehme ich mich der Sache wieder aktiv an. @RobertG erstmal danke für die schnelle Hilfe.
Die Tabellen zu erstellen und die Berichte ausgeben zu lassen war dann auch nicht mehr schwierig. Allerdings würde ich gern die Komplette Auswertung über die Datenbank erschlagen ohne den Umweg über Calc gehen zu müssen.
Ich habe Abfragen erstellt, bei denen die einzelnen Orden je Abfrage ausgegeben werden. allerdings benötige ich diese dann in einer "Tabelle" um es dann auch richtig ausgeben zu lassen. Die Zusammenführung habe ich nicht hinbekommen. Das liegt wohl an meinem Unvermögen, aus Tutorials bei Youtube die richtigen Schlüsse zu ziehen.
Dann habe ich versucht dies mit einer Abfrage zu erschlagen. Hier bekomme ich jedoch jedes Ergebnis angezeigt. Auch dort wo ich es nicht benötige, beziehungweise, dass es dort Falsch ist. je Zeile darf max. ein Wert bei Bronze, Silber und Gold 1 sein. sonst gern "0" oder "Null" also leer.
Abfrage alle Medallien.png
Abfrage alle Medallien.png (29.18 KiB) 993 mal betrachtet
Mit dieser Abfrage bekomme ich folgendes Ausgegeben:
Ergebnis Abfrage alle Medallien.png
Ergebnis Abfrage alle Medallien.png (16.97 KiB) 993 mal betrachtet
Ich gehe mal davon aus, dass das Ergebnis aus der Ergebnistabelle für jedes Alter Berechnet wird. Die Abfrage über die SQL-Ansicht sieht dann wie folgt aus:
Quellcode SQL.png
Quellcode SQL.png (53.4 KiB) 993 mal betrachtet
Ich gehe mal davon aus, das die "Oder"-Abfrage hier nicht sauber ausgeführt ist weil ich auch alles mit dem "Ergebnis"."Ergebnis" Berechne. Von meinem Verständnis für Logik gibt es hier das Problem, dass ich mit einem Wert alles Berechnen will. daher müsste ich hier die Ergebnistabelle in dreifacher Ausfertigung abfragen, damit ich auch mit "unterschiedlichen" Werten die richtige Anzahl an Bronze, Silber und Gold ausgegeben bekomme. Hier hätte ich dann allerdings das gleiche Problem wie bei der Zusammenführung der einzelnen Abfragen für Bronze, Silber und Gold.
Ich Frage mich jetzt, ob ich mit dieser Herangehensweise auf dem richtigen Weg bin, oder ob ich mich total in etwas verrannt habe und auch ob es so wie ich es vor habe überhaupt möglich ist.
Frage an dieser Stelle auch, ob ich über die Abfrage auch eine Tabelle über "Create Table" erzeugen kann, in der ich die einzelnen Abfragen für Bronze, Silber und Gold zusammenführen kann. Am Ende muss ich jedenfalls mit der Summe aus Bronze, Silber und Gold weiterrechnen. (Aufsummieren und bei drei mal Bronze einmal Silber und bei dreimal Silber einmal Gold, bei dreimal Gold nächster Orden, ...)

Für Anregungen wie ich den Weg sauber weiter beschreiten kann, wäre ich hier an der Stelle sehr dankbar.

(Falls jemand mit dem SQL-Code basteln, kopieren, oder was ausprobieren will:
SELECT "Schütze"."Nachname", "Schütze"."Vorname", "Ergebnis"."Datum", "Ergebnis"."Ergebnis", COUNT( "Ergebnis"."Ergebnis" ) AS "Bronze", COUNT( "Ergebnis"."Ergebnis" ) AS "Silber", COUNT( "Ergebnis"."Ergebnis" ) AS "Gold", "Ergebnis"."ErgebnisID", "Ergebnis"."SchützenID" FROM "Ergebnis", "Schütze" WHERE "Ergebnis"."SchützenID" = "Schütze"."id" AND ( YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) < 46 OR YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) > 45 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) < 57 OR YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) > 56 OR "Ergebnis"."Ergebnis" < 46 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) < 46 AND "Ergebnis"."Ergebnis" > 48 OR "Ergebnis"."Ergebnis" > 43 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) > 45 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) < 57 AND "Ergebnis"."Ergebnis" = 45 OR YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) > 56 OR YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) < 46 OR YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) > 45 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) < 57 OR YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) > 56 ) GROUP BY "Schütze"."Nachname", "Schütze"."Vorname", "Ergebnis"."Datum", "Ergebnis"."ErgebnisID", "Ergebnis"."SchützenID", "Ergebnis"."Ergebnis" HAVING ( ( "Ergebnis"."Ergebnis" < 51 AND COUNT( "Ergebnis"."Ergebnis" ) < 49 ) OR ( "Ergebnis"."Ergebnis" < 51 AND COUNT( "Ergebnis"."Ergebnis" ) < 47 ) OR ( "Ergebnis"."Ergebnis" < 51 AND COUNT( "Ergebnis"."Ergebnis" ) < 45 ) ) ORDER BY "Schütze"."Nachname" ASC, "Schütze"."Vorname" DESC, "Ergebnis"."Datum" ASC)

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

Re: Ergebnisverwaltung im Verein

Beitrag von RobertG » Fr 5. Mai 2023, 17:39

Ich gehe nicht davon aus, dass das hier irgendjemand ohne Beispieldatenbank nachvollziehen kann.

Also: Eine Datenbank ohne persönliche Daten (mit ein paar Dummyeinträgen)hier hochladen und dann sehen wir weiter.
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

Adde89
Beiträge: 4
Registriert: Sa 27. Nov 2021, 12:31

Re: Ergebnisverwaltung im Verein

Beitrag von Adde89 » Sa 13. Mai 2023, 16:33

Moin,

Bilder hochzuladen ist kein Problem. Beim Versuch die .odb Datei hochzuladen bekomme ich folgende Fehlermeldung: "Ungültige Dateierweiterung".

Kann ich die Datenbank überhaupt als .odb-Datei Hochladen?
oder soll ich davon Screenshots einstellen?

Beste Grüße,
Adde89

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

Re: Ergebnisverwaltung im Verein

Beitrag von RobertG » Sa 13. Mai 2023, 17:28

Packe die Datenbankdatei als *.zip-Datei. Es reicht auch, wenn Du die Endung einfach von *.odb nach *.zip änderst. Die (nicht unterstützte) Dateiform wird hier nur nach der Endung bestimmt - hat also keinen Sicherheitsrelevanten Wert.
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

Adde89
Beiträge: 4
Registriert: Sa 27. Nov 2021, 12:31

Re: Ergebnisverwaltung im Verein

Beitrag von Adde89 » Do 25. Mai 2023, 18:49

ich hoffe es klappt jetzt
Dateianhänge
Forum.zip
(47.95 KiB) 40-mal heruntergeladen

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

Re: Ergebnisverwaltung im Verein

Beitrag von RobertG » Sa 27. Mai 2023, 11:44

Hallo Adde,

vermutlich ist es so etwas wie in der untenstehenden Abfrage, dass Du brauchst.

Code: Alles auswählen

SELECT "a".*, "b"."Datum", "b"."Ergebnis", "b"."B/S/G", "b"."Alter" 
FROM "Schütze" AS "a" 
LEFT JOIN ( 
SELECT "Ergebnis"."Datum", 'Bronze' AS "B/S/G", "Ergebnis"."Ergebnis", YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) AS "Alter", "Ergebnis"."SchützenID" FROM "Ergebnis", "Schütze" WHERE "Ergebnis"."SchützenID" = "Schütze"."id" AND ( "Ergebnis"."Ergebnis" > 45 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) < 46 AND "Ergebnis"."Ergebnis" < 47 OR "Ergebnis"."Ergebnis" > 43 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) > 45 AND "Ergebnis"."Ergebnis" < 45 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) < 57 OR "Ergebnis"."Ergebnis" > 41 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) > 56 AND "Ergebnis"."Ergebnis" < 43 )
UNION
SELECT "Ergebnis"."Datum", 'Silber' AS "B/S/G", "Ergebnis"."Ergebnis", YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) AS "Alter", "Ergebnis"."SchützenID" FROM "Ergebnis", "Schütze" WHERE "Ergebnis"."SchützenID" = "Schütze"."id" AND ( "Ergebnis"."Ergebnis" > 46 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) < 46 AND "Ergebnis"."Ergebnis" < 49 OR "Ergebnis"."Ergebnis" > 45 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) > 45 AND "Ergebnis"."Ergebnis" < 47 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) < 57 OR "Ergebnis"."Ergebnis" > 43 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) > 56 AND "Ergebnis"."Ergebnis" < 45 )
UNION
SELECT "Ergebnis"."Datum", 'Gold' AS "B/S/G", "Ergebnis"."Ergebnis", YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) AS "Alter", "Ergebnis"."SchützenID" FROM "Ergebnis", "Schütze" WHERE "Ergebnis"."SchützenID" = "Schütze"."id" AND ( "Ergebnis"."Ergebnis" > 48 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) < 46 AND "Ergebnis"."Ergebnis" < 51 OR "Ergebnis"."Ergebnis" > 47 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) > 45 AND "Ergebnis"."Ergebnis" < 51 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) < 57 OR "Ergebnis"."Ergebnis" > 45 AND YEAR( "Ergebnis"."Datum" ) - YEAR( "Schütze"."Geburtsdatum" ) > 56 AND "Ergebnis"."Ergebnis" < 51 ) 
) AS "b" 
ON "a"."id" = "b"."SchützenID"
ORDER BY "a"."Nachname" ASC, "a"."Vorname" DESC, "Datum" ASC
Die Einfügungen mit COUNT verstehe ich nicht, da doch sowieso überall '1' steht. Da ist es doch sinnvoller, dort dann die Art der Auszeichnung aus zu geben.

Schau einmal, ob das passt. Geht nur, wenn Du die Abfrage in SQL-Ansicht erstellst und das direkte Ausführen aktivierst.

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

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