Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Formular - Mehrfachauswahl

Begonnen von photojo, September 12, 2017, 15:36:37

⏪ vorheriges - nächstes ⏩

photojo

Hallo,

ich bin neu hier und habe folgendes Problem:
Ich habe
- eine Tabelle Schüler: tblschueler [sid,name,vorname,klasse]
- eine Tabelle Klassen: tblklassen [kid,bezeichnung]
Die Verknüpfung der Tabellen sollte passen. 

Wie kann ich nun in einem Formular mehreren Schülern gleizeitig eine Klasse zuweisen?
Besten Dank!

Gruß
Jo

Lachtaube

Wenn die Datenbank nicht nur für einen Schuljahrgang gut sein ist, sollten kid und sid als Fremdschlüssel für ein Schuljahr in einer weiteren Tabelle erfasst werden.

Zur Mehrfachauswahl bietet sich ein Listenfeld mit der gleichnamigen Eigenschaft an, in der Du die Schüler für eine Klasse auswählst und anderweitig (z. Bsp. in einem Kombifeld) eine Klasse auswählst. Mittels Knopf kannst Du dann entweder in einem Recordset in einer Schleife allen ausgewählten Schülern die kid zuweisen. Man könnte auch aus der Auswahl ein Kriterium zurechtbasteln, das dann für eine Aktualisierungsabfrage genutzt wird

Lange Rede kurzer Sinn - ich habe das vereinfacht im angehängten Beispiel realisiert.
Grüße von der (⌒▽⌒)

photojo

Danke, ich versuche das mal umzusetzen.

photojo

Sorry, habe zu schnell abgeschickt.

Ganz unabhängig von deinem Anhang habe ich folgendes gemacht:
In der Tabelle Schüler tbl_schueler habe ich u. a. ein Feld wf für die Wahlfächer. Beim Anlegen der Tabelle habe ich angegeben, dass die "Liste" der Wahlfächer aus der Tabelle Wahlfächer tbl_wahlfächer kommen und "Mehrere Wert zulassen" habe ich auf ja gestellt.

Die tbl_schueler hat nun z.B. folgenden Datensatz
sid, name, vorname, klasse, wf
14, müller, peter, 7B, Chor;Fußball;Klavier

Das ist für meine Zwecke schon mal sehr gut! Aber wie bekomme ich nun mit "wenig Aufwand" eine Liste alle Schüler, die z.B. Chor haben. Wie kann also das ";"-sparierte Feld "auftröseln". Ich meiner tbl_wahlfach habe ich ca. 25 Fächer drin.

Gruß
Jo

Beaker s.a.

Hallo Jo,
ZitatAber wie bekomme ich nun mit "wenig Aufwand" eine Liste alle Schüler, die z.B. Chor haben. Wie kann also das ";"-sparierte Feld "auftröseln". Ich meiner tbl_wahlfach habe ich ca. 25 Fächer drin.
Indem du das Mehrwerte-Feld aus der Tabelle rausschmeisst und statt
dessen eine n:m-Tabelle mit den Zuordnungen erstellst.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

photojo

#5
Hallo Ekkehard,

das leuchtet ein.
Ich erläutere aber nochmal kurz die Aufgabenstellung.
Ich habe 1000 Schüler verteilt auf 40 Klassen. Jede Klassen hat einen Klassenleiter.
Desweiteren werden 20 Kurse angeboten. Das sind die Kursleiter. Jeder Schüler kann theoretisch unendlich viele Kurse besuchen.
Am Ende soll es "nur" folgende Berichte geben.
- jeder Kursleiter eine Liste der angemeldeten Schüler
- jeder Klassenleiter eine Liste, welcher Schüler welchen Kurs besucht

Irgendwie stelle ich mich zu blöd an. Geht das ohne VB? Wie lange bräuchte ein geübter Accessler ohne "Styling" der Formulare etc.?

Gruß
Jo

photojo

Bitte gebt mir noch ein winziges Beispiel, wie ich in einem Formular in zwei Listenfeldern je einen Wert auswähle und diese Werte als neuen Datensatz in einer Tabelle hinzufüge.
Danke.

Lachtaube

Schön, dass Du Dich jetzt einem anderen Forum mit dem selben Thema zuwendest.
Grüße von der (⌒▽⌒)

photojo

#8
Mag sein, dass das nicht die feine englische Art ist, aber allein die Tatsache, dass ich dafür sogar zahlen würde, unterstreicht doch nur, dass es mir einfach unter den Nägeln brennt. Sorry.

Lachtaube

Wenn es Dir unter den Nägeln brennt, dann lade doch bitte eine Beispiel-DB mit einigen anonymen Spieldaten und besagtem Formular hoch und beschreibe exakt den gewünschten Handlungsablauf.
Grüße von der (⌒▽⌒)

photojo

Zunächst mal herzlichen Dank, für dein Angebot.
Ich lade mal meine Beispiel-DB mit ein paar Musterdatensätzen hoch.
Die Formulare habe ich mal bewusst weggelassen um keine unnötige Verwirrung zu stiften.
Das Ziele wäre folgendes:
Eingabe der Daten
- die Schüler klassenweise ausgeben lassen und sie dann den einzelnen Kursen zuweisen

Ausgabe der Daten in zwei Varianten
- Kurs und Kursleiter mit den entsprechenden Schülern
- Klasse mit Klassenleiter mit einer Übersicht welcher Schüler welchen Kurs besucht
Wobei ich mal "frech" behaupte, dass ich diese beiden Berichte selbst hinbekomme.
Vielen Dank!

Für das Crossposting entschuldige mich an dieser Stelle nochmals!

LG

Jo

MzKlMu

Hallo,
das ist so unvollständig.
Zwischen Klassen und Schüler bedarf es ebenfalls einer Verbindungstabelle analog zu Schueler_Kurs. Klasse_id und kurs_id in der Schülertabelle ist zu löschen.
Für Klassenleiter und Kursleiter ist auch eine Tabelle anzulegen und in Kurse und Klassen jeweils nur ein Fremdschlüssel zum Leiter.

PS:
Praktischer Tipp am Rande:
Verwende wenigstens 1 Großbuchstabe in den Feld und Objektnamen.
Gruß Klaus

photojo

Hallo Klaus,

danke für deine Nachricht. Ich habe deine Ratschläge beherzigt, außer das mit den Großbuchstaben. Ich hoffe, dass ich die DB mit ihren Tabellen und Verknüpfungen korrekt angelegt habe und mir nun jemand bei der Erstellung der "komfortablen" Zuweisung helfen kann. Ich bin echt etwas am Verzweifeln und ziemlich unter (Zeit-)Druck. Ja, ich weiß, das sind wir alle irgendwie.

Liebe Grüße
Jo

Beaker s.a.

Hallo Jo,
Zitatziemlich unter (Zeit-)Druck
Und der wird immer größer wenn du mit Formularen anfängst bevor
die Tabellenstruktur (Datenmodell) nicht korrekt ist.
Ich habe mal was zusammen gestrickt (siehe Anhang). Ohne Anspruch
auf Fehlerfreiheit und Vollständigkeit, - ein Klassenleiterwechsel ist z.B.
nicht berücksichtigt.
Um den anderen Regulars die Möglichkeit zu Korrektur/Vervollständigung
zu geben ist die DB auch als .mdb enthalten.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

photojo

Hallo Ekkehard,

herzlichen Dank. Vielleicht mag es unverschämt klingen, aber kannst du mir bitte noch sagen/zeigen wie ich nun weitermache? Wie erwähnt, würde ich auch dafür etwas Geld in die Hand nehmen. Ich habe nämlich die Befürchtung, dass es mich selbst Stunden/Tage kosten wird, wenn ich es überhaupt hinkriege, ein Formular zu erstellen, das mir klassenweise die Schüler auflistet die ich dann in einzelnen Kurse "schiebe".

Gruß
Jo