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

Listenauswertung

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
frank4740
Beiträge: 6
Registriert: So 7. Mai 2023, 12:21

Listenauswertung

Beitrag von frank4740 » So 21. Mai 2023, 21:58

Ich habe eine Teilnehmer Tabelle die Listenfelder enthält. Eins kennzeichnet den Verein des Teilnehmers. In einer Hilfstabelle gibt es dafür für jeden Verein eine eindeutige Nummer. Es geht jetzt darum folgendes auszuwerten: Welcher Verein stellt die meisten Teilnehmer ? Was ich hinkriege ist eine Suchabfrage auf eine feste Vereinsnummer und darüber dann ein COUNT. Wie bekomme ich es hin, dass z.B. in der Vereinshilfstabelle in einer dritten Spalte die Teilnehmer des jeweiligen Vereins (aus der Hauptliste) berechnet werden ? Und dann am besten noch sortiert.

Und eine andere Frage: Die Listenfeldern enthalten sehr viele Vereine. Bei der Suche wäre es sehr hilfreich wenn man den Namen tippen könnte. Es funktioniert aber mit dem ersten Buchstaben. Ich möchte aber auch Teile im Namen finden können. Verein heißt z.B. RSV Stromberg 1890. Ich möchte dieses mit dem eintippen von „Stromberg“ finden können.

Ich greife auf eine MySql Datenbank zu, die in einer virtuellen Maschine läuft.

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

Re: Listenauswertung

Beitrag von RobertG » Mo 22. Mai 2023, 07:54

Nach bestimmten Kriterien zählen kannst Du, wenn Du die entsprechende andere Spalte als Gruppierungsspalte nimmst. Also so etwas wie

Code: Alles auswählen

SELECT COUNT("ID"), "Verein" FROM "Tabelle" GROUP BY "Verein"
Wenn Du den Verein nicht direkt in der Tabelle mit drin hast musst Du natürlich die Abfrage erst einmal so gestalten, dass der Verein statt der Fremdschlüsselnummer erscheint.

Welche Suche Du nutzt weiß ich nicht. Hier eine Parameterabfrage

Code: Alles auswählen

SELECT * FROM "Tabelle" WHERE UPPER("Verein") LIKE UPPER(CONCAT('%', :eingabe , '%'))
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

frank4740
Beiträge: 6
Registriert: So 7. Mai 2023, 12:21

Re: Listenauswertung

Beitrag von frank4740 » Mo 22. Mai 2023, 22:28

Hallo Robert,

vielen, vielen Dank für deine Hilfe. Ich habe es tatsächlich hinbekommen. Ich habe in meiner Haupttabelle die Texte aus den Hilfstabellen eingefügt:

Code: Alles auswählen

SELECT `tblTeilnehmer`.`TNr`, `tblVerein`.`VereinsName` FROM `tblTeilnehmer` LEFT JOIN `tblVerein` ON `tblTeilnehmer`.`VereinsNr` = `tblVerein`.`VereinsNr`
Und darüber dann den Count. Ganz verstanden habe ich es noch nicht. Aber es ist genau das was ich brauchte. Da wäre ich selber nicht drauf gekommen.

Code: Alles auswählen

SELECT COUNT( `TNr` ) AS `VereinsAnzahl`, `VereinsName` FROM `AbfrageTeilnehmerMitVereinsname` GROUP BY `VereinsName` ORDER BY `VereinsAnzahl` DESC 
Für die anderen Statistiken Firmen und Strecken genauso. Dann habe ich folgende Ausgabe:
StatistikScreenshot.jpg
StatistikScreenshot.jpg (98.89 KiB) 851 mal betrachtet
Kleine Zusatzfrage: Da es mehrere Anmeldeplätze gibt, gibt es die Möglichkeit die Statistik zyklisch/automatisch zu aktualisieren ?

Jetzt nochmal zu dem Suchproblem. Meine Teilnehmerliste sieht so aus:
AnmeldungScreenshotVereine.jpg
AnmeldungScreenshotVereine.jpg (290.5 KiB) 851 mal betrachtet
Aktuell habe ich die Liste mit den Vereinsnamen (ca. 150) schon vorbereitet. Bei der Auswahl möchte ich schnell den Namen finden. Wenn ich bei der geöffneten Liste einen Buschstaben eintippe geht die Auswahl nur zu dem jeweiligen Anfangsbuchstaben.

Das Allerletzte zu meinem Glück ist noch folgende Funktion. Ich habe separate Listen mit vorangemeldeten Namen von Firmen. Dann brauche ich eine Funktion um diese Namen einzeln in meine Hauptliste zu übertragen. Stelle mir es so vor, dass es eine Ansicht gibt mit einer neuen Spalte, die einen "Übernahmeknopf" enthält. Evtl. noch eine binäres Feld "Erschienen"=ja.

Ich weiß, dass ist jetzt sehr viel gefragt. Aber vielleicht bekomme ich das Feintuning ja auch noch hin. Vielen Dank nochmal !!

VG Frank

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

Re: Listenauswertung

Beitrag von RobertG » Di 23. Mai 2023, 15:32

Hallo Frank,

zur Aktualisierung der Anzeige: Das geht normalerweise über das Neueinlesen des Formulars. So etwas kannst Du händisch machen, wenn Du die Formulare als Unterformulare irgendwo eingebaut hast. So wie das bei Dir aussieht scheinen das aber Formulare zu sein, die nebeneinander liegen, also nicht voneinander abhängig sind. Da bräuchte jedes Formular den Befehl zum Neueinlesen. Theoretisch geht so etwas über einen Timer. Kann über ein Makro laufen, habe ich bisher aber nie gemacht. Zumindest die Aktualisierung verschiedener Formulare kannst Du über ein Makro bündeln, so dass Du nur einen Button zu drücken brauchst.

Auch bei der Verbesserung der Auswahl aus Listenfeldern würde ich mit Makros arbeiten. Geht aber nicht, wenn Du die Listenfelder innerhalb eines Tabellenkontrollfeldes anordnest. Da beeinflusst ein Listenfeld das andere und es kann Dir passieren, dass Du zwischendurch bereits eingegebene Werte nicht mehr siehst, wenn das Listenfeld in seinem Inhalt beschränkt wird. Schau einmal im Handbuch unter der Überschrift "Listenfelder durch Eingabe von Anfangsbuchstaben einschränken" nach.

Vielleicht wäre es insgesamt einfacher, wenn Du die Grundkonstruktion der Datenbank einmal hier hoch lädst - ohne die persönlichen Daten. Das wäre der SQL-Code zum Erstellen der Tabellenkonstruktion und die bisher vorhandene Datenbankdatei.

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

frank4740
Beiträge: 6
Registriert: So 7. Mai 2023, 12:21

Re: Listenauswertung

Beitrag von frank4740 » Di 23. Mai 2023, 17:00

Hallo Robert,

ich habe mal die Datenbank exportiert "rtf_teilnehmer.zip" (User "root", Passwort "root"). Weiterhin noch die ODB Datei mit den Abfragen und Formularen "rtf_teilnehmer_virtualBox.zip". DANKE !!

Viele Grüße
Frank
Dateianhänge
rtf_teilnehmer_virtualBox.zip
(17.3 KiB) 36-mal heruntergeladen
rtf_teilnehmer.zip
(4.12 KiB) 37-mal heruntergeladen

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

Re: Listenauswertung

Beitrag von RobertG » Mi 24. Mai 2023, 09:41

Hallo Frank,

wie ist das mit dem Eintragen der Vereine. Bekommst Du da eine Sammelmeldung, so dass es sich anbieten würde, zuerst den Verein auszuwählen und dann die Liste der Namen zu übernehmen?

Wie ist es mit den Firmen. Da ist ja so eine Sammelmeldung. Bekommst Du da auch die Vereinszugehörigkeit? Sieht nach den Screenshots so aus.

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

frank4740
Beiträge: 6
Registriert: So 7. Mai 2023, 12:21

Re: Listenauswertung

Beitrag von frank4740 » Mi 24. Mai 2023, 10:00

Hallo Robert,

vorab bekomme ich Voranmeldelisten mit Namen von Firmenfahrern. Von Vereinsfahrern nicht. Bei der Anmeldung wird dann gefragt ob es sich einen Firmen- oder Vereinsfahrer handelt. Beim Firmenfahrer: Existiert für diese Firma eine Voranmeldeliste ? Wenn ja gehe zur Voranmeldeliste, suche Namen und kopiere diesen in die Hauptteilnehmerliste (Firma dann natürlich schon ausgewählt). Dann muss ich nur noch die geplante Strecke auswählen und fertig. Handelt es sich um einen Vereinsfahrer wird dieser normal eingetragen und der Verein wird aus der Auswahlliste ausgewählt. Die aktuelle Liste mit möglichen Vereinen ist eigentlich viel zu groß. Habe ich automatisch generiert. Eventuell ist es übersichtlicher die Liste mit den Vereinsnamen bei der Anmeldung zu erstellen (also den jetzigen Inhalt wieder löschen). D.h. findet man bei der Anmeldung nicht den Vereinsnamen in der Auswahlliste muss ich diesen zuerst in der Vereinsliste ergänzen. Aber das ist wohl doch umständlicher. Wenn ich in der aktuellen (großen) Auswahlliste nach z.B. Stadtnamen suchen könnte wäre wohl am besten.

Viele Grüße

Frank

frank4740
Beiträge: 6
Registriert: So 7. Mai 2023, 12:21

Re: Listenauswertung

Beitrag von frank4740 » Mi 24. Mai 2023, 10:57

Ich habe noch etwas vergessen. Nachdem alle ihre Strecke gefahren sind, melden sie sich wieder zurück. Dafür habe ich in der Tabelle das "Zurück" Häkchen. Wenn jemand seine StartNr dann nicht weiß muss ich nach seinem Namen suchen können. Cool wäre noch wenn ich noch eine Anzeige habe wie viel noch unterwegs sind (also ohne Zurück Haken) und evtl. wenn die Zeilen dann anders eingefärbt wären.

Grüße

Frank

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

Re: Listenauswertung

Beitrag von RobertG » Mi 24. Mai 2023, 15:53

Hallo Frank,

ich habe an der Datenbankdatei so einiges verändert. Allerdings hat meine Datenbank den Namen "test". Außerdem habe ich darin eine Tabelle erstellt, die den Namen "tblFilter" trägt. Die Tabelle enthält 4 Integer-Felder: ID, VereinsNr, FirmenNr und TNr. Die Tabelle sollte erstellt sein, bevor die Makros aktiviert werden. Taucht irgendwo der Fehler auf, dass die Tabelle in der Datenbank nicht gefunden werden kann, so liegt das an der Datenbankbezeichnung. Da musst Du händisch umstellen.

Maile mir einfach privat. Das können wir hier nicht komplett im Forum klären. Ich habe Dir eine private Nachricht dazu gesandt.

Gruß

Robert
Dateianhänge
rtf_teilnehmer_virtualBox.zip
(28.2 KiB) 35-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

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