Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Formular - Mehrfachauswahl

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

⏪ vorheriges - nächstes ⏩

photojo

So, ein vorerst letztes Mal. Habe alles fertig. Jetzt kann ich nach Klassen filtern im Formular.  :D

LG
Jo

Beaker s.a.

Hallo,
ZitatDas würde ich auf keinen Fall machen, Klassen und Kursleiter ist ein Personenkreis und gehört in eine Tabelle.
Das war mir nicht klar, sonst hätte ich das auch mit einer Tabelle angelegt.
In der DB des TS waren auch zwei Tabellen mit unterschiedlichen Daten.
Habe ich geändert. Außerdem noch eine Änderung in den Tabellen bezügl.
der Jahrgänge (siehe Anlage).
Formular hab ich dir auch gebaut. Das ist noch nicht vollständig. Da fehlen
noch Inkonsistenzprüfungen.
gruss ekkehard

P.S. Deine letzte Version habe ich mir nicht mehr angeschaut.
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

Guten Morgen Ekkehard,

vielen Dank für deine Arbeit. Ich schau mir das mal in Ruhe an. Auf den ersten Eindruck finde ich das Hinzufügen und Entfernen der Schüler zu/aus den Kursen sehr schön. Ich schaue mir mal die entsprechende Codes genau an.
Was meinst du genau mit Inkonsistenzprüfungen?

Gruß
Jo

Beaker s.a.

Hallo Jo,
ZitatWas meinst du genau mit Inkonsistenzprüfungen?
Z.B. kannst du jetzt (noch) einen Schüler in mehrere Klassen stecken  :-[
Dazu muss das Kombi auf die Schüler gefiltert werden, die noch keiner
Klasse zugeordnet sind. Ich hatte mich daran schon versucht, und die
entsprechende Abfrage funzt auch, aber das UFo zeigt dann die Schüler
nicht mehr an. Da muss ich nochmal dran, auch weil ich den Jahrgang
dabei nicht berücksichtigt habe.
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,

danke schon im Voraus. Wenn das natürlich noch abgefangen werden würde, dass ich einen Schüler nicht zweimal in den selben Kurs stecken kann, wäre Klasse. Der Jahrgang ist übrigens in meinem Fall völlig obsolet. Ich habe das nur wegen der Beispiel-DB, das mir hier in den Thread gelegt wurde, behalten.
Zitat
Z.B. kannst du jetzt (noch) einen Schüler in mehrere Klassen stecken  :-[
Ich denke du meinst Kurse, oder?

Gruß
Jo

Beaker s.a.

Hallo Jo,
Nein, ich meine Klassen.
Bei den Kursen kann es nicht passieren, weil dort die Filterung der Liste
greift; - einmal angemeldet wird der Schüler für diesen Kurs nicht mehr
zur Auswahl angeboten. Allerdings, wie ich gerade gesehen habe, auch
nicht für andere Kurse  >:( - das muss ich noch korrigieren.
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,

wenn ich noch eins anmerken darf: wenn ich im Register Kurse im Kombofeld den Kurs ändere, ändert sich leider nicht das Listenfeld.
Beispiel, damit ich es deutlicher erklären kann: füge ich einen Schüler zum Chor hinzu, dann wird mir der Schüler im Moment noch bei allen anderen Kursen auch als Teilnehmer angezeigt. Ich versuche gerade selbst, bei jedem Wechsel des Kurses das Teilnehmerfeld zu aktualisieren. Leider reichen da meine VBA-Kenntnisse nicht aus.

Gruß
Jo

photojo

Ich versuche auch dein VBA zu verstehen, weil ich beim Arbeiten mit deiner Variante eine Änderung benötige.
Beim Hinzufügen hast du

With Me!lstSchuelerInKlasse
       
beim Abmelden
   
    With Me.lstSchueImKurs

Also einmal mit "!" und einmal ohne. Wo ist der Unterschied?

Beaker s.a.

Hallo Jo,
ZitatAlso einmal mit "!" und einmal ohne. Wo ist der Unterschied?
Schaust du hier: http://www.donkarl.com?FAQ6.3
Verursacht IMO aber auch keine Fehler. Man sollte es aber schon
vereinheitlichen. Ich persönlich verwende bei mir normalerweise
eine andere Notation, ist mir hier aber zu viel Schreibarbeit
With Me!Controls("lstSchuelerInKlasse")

Inzwischen konnte ich auch die möglichen Inkonsistenzen vermeiden.
Allerdings ist da noch ein Bug; - im Ufo werden für die Klasse 5A die
Schüler nicht angezeigt ???. Man sieht zwar die 3 DS aber keine
Namen im Kombi, die anderen Klassen werden korrekt angezeigt.
Vielleicht ist Klaus so nett und schaut sich das mal an. Ich komme nicht
darauf, was an der Klasse bzw. den Schülern anders ist.
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

Vielen Dank für deine Mühen. Ich schau mir das in Ruhe an.

Mit besten Grüßen

Jo

Beaker s.a.

Hallo Jo,
Zitatwenn ich im Register Kurse im Kombofeld den Kurs ändere, ändert sich leider nicht das Listenfeld.
Das ist in der letzten Version korrigiert.
Der VBA-Code hat i.Ü. mit der Anzeige bis auf die Requeries nicht viel
zu tun. Der betrifft eigentlich nur die beiden Buttons und erstellt/löscht
die Zuordnungen. Das wird alles über die Abfragen, die dem UFo und
dem Kombi sowie den Listen zugrunde liegen geregelt; - die musst du dir
anschauen und verstehen. Wobei ich hier auch einschränken muss, dass
ich 1. immer noch nicht sicher bezügl. des Datenmodells bin, und ob die
Abfragen nicht auch einfacher zu formulieren wären. Und die Jahrgangs-
problematik habe ich jetzt auch aussen vor gelassen.
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

Alles klar, danke nochmals. Ich schau mir das nochmal ganz genau an und versuche es nachzuvollziehen.

Gruß
Jo

Beaker s.a.

Hallo Jo,
Böser Fehler, manchmal frage ich mich, was ich da eigentlich mache.
Die DS-Herkunft des Kombis "cboSchueler" ist falsch  >:(
Bitte ersetze diese durch

SELECT S.Schueler_id,
       [schue_Name] & ("; "+[schue_vorname]) AS Schueler
FROM tblSchueler AS S
WHERE S.Schueler_id Not In
        (SELECT SKl.Schue_idf
         FROM tblSchuelerInKlasse)

Das funzt dann wie gewollt. Allerdings nicht mehr, wenn der Jahrgang relevant wird.
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

Danke dir. Und wieder was gelernt, vor allem was die Syntax in VBA angeht.
Um Inkonsistenzen zu vermeiden habe ich in meinen Formularen mit dcount gearbeitet.

Beaker s.a.

Hallo Jo,
Geht natürlich auch, aber ich finde es eleganter Falscheingaben gar nicht
erst zuzulassen (habe ich auch erst mit der Zeit gelernt).
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)