Neuigkeiten:

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

Mobiles Hauptmenü

Notenverwaltung von Schülern, schwierige Abfrage über mehrer Tabellen (Crosspost

Begonnen von luler, Januar 22, 2014, 17:41:48

⏪ vorheriges - nächstes ⏩

luler

Liebe Gemeinde,

ich experimentiere nun schon lange mit Access und konnte mir vieles denke ich gut aneignen. Nun habe ich aber ein Problem, zu dem ich seit geraumer Zeit keine Lösung finde.
Ich arbeite an einer Schuldatenbank, hier sollen Stammdaten der Schüler, aber auch Fehlzeiten und Noten verwaltet werden.
Nun möchte ich ein Formular (am liebsten als UFO zum HF Schüler) erstellen, in dem ich die Noten der Schüler in den einzelnen LZKs (=Lernzielkontrollen heißt das bei uns) sehen und eintragen kann. Das heißt ich klicke auf einen Schüler, das Ufo öffnet sich, ich sehe eine Liste mit allen LZKs, die für diese Klasse angelegt sind, und kann dort die Note eintragen.
Nun ist es aber so, dass ich beim besten Willen (und 2 Wochen des Rumexperimentierens) keine Vernünftige Abfrage für so ein Formular hinbekomme. Denn entweder werden nur die Datensätze angezeigt, in die schon Noten eingetragen sind und die anderen nicht (so dass man also keine Möglichkeit hätte neue Noten einzutragen), oder die Abfrage ist so komplex und über so viele Tabellen verteilt, dass die Aktualisierung nicht konsistent ist.
Ich habe hier mal die grundlegende Struktur der Tabellen und Beziehungen:


https://www.dropbox.com/s/8x9x23dfgacveof/DatenmodellSV.jpg


Meine Frage/ Bitte an euch ist nun: Ist dieses Datenmodell so überhaupt zu gebrauchen? Vielleicht fangen da ja die Probleme schon an.
Und: Wie bekomme ich dieses Formular hin? Was muss ich wie miteinander verknüpfen??
Danke für eure Mithilfe!!

MzKlMu

Hallo,
mit Grosspostings erreicht Du genau das Gegenteil, niemand antwortet, weil es keiner will.
Hier und in dem anderen Forum ist ausdrücklich unerwünscht, lies die Regeln.

Zitat von:  den Regeln•Crossposting, d.h. das Posten der gleichen Frage in mehreren Foren zur gleichen Zeit, ist unerwünscht

Wo sind die Tabellen für die Fachrichtung, Jahrgang usw. ?
Die ID beim Schuljahr ist überflüssig, das das Jahr ein Zahl ist, eindeutig ist und somit selbst als PS und ID taugt.
Die IDs sollten sprechende Namen bekommen damit Du diese auseinander halten kannst.

Für das Eintragen der Noten benötigst Du gar keine Abfrage. Es genügt die Tabelle "Noten" als Datenherkunft für das Ufo. Die lkz_id wird per Kombifeld gewählt. Die schüler_id wird automatisch gefüllt.
Das Hafo benötigt als Datenquelle nur die Tabelle mit den Schülern.
Es ist aber trotzdem zweckmäßig Abfragen anzulegen, aber halt nur mit jeweils der einen Tabelle.

Was beinhaltet die Tabelle AGB?

Gruß Klaus

luler

Ok, ich werde es mit den Crosspostings in ZUkunft vermeiden, ich bin wirklich kein routinierter Forenbenutzer.
Ich habe hier mal die kompletten Beziehungen, die für die Beziehungen mit den Noten und LZKs von Bedeutung sein könnten:

https://www.dropbox.com/sc/yjnhorhqsusm7x9/K9Va5LpfKZ#lh:1-DMSV2.jpg

weiterhin habe ich hier ein Beispiel für das Formular, in das ich die Noten eingebe. Wie man sieht, habe ich es bis jetzt mit Unterformularen geregelt. Aber die Noteneingabe ist ein gesondertes Unterformular (also ein Unter-unterformular), das heisst man sieht die Note nicht auf den ersten Blick. Ich möchte aber gerne, dass die Note im selben Unterformular wie ds mit den LZKs erscheint, also direkt neben der Bezeichnung der LZK. Und genau das bekomme ich nicht hin!


https://www.dropbox.com/s/i3uesyt4rnjwahs/Beispielformular.jpg

MzKlMu

Hallo,
hast Du meinen Hinweis zur Noteneingabe gelesen?
Im Hafo die Schüler und im Ufo die Noten mit Fremdschlüssel zu LZKs.
Hier werden nur Abfragen mit je einer Tabelle benötigt.
Gruß Klaus

luler

Hallo, ja habe ich gelesen, abernoch nicht umgesetzt, es hatte sich für mich so angehört, als ob ich den Schüler dann per Dropdownbox auswählen müsste, genau das will ich ja nicht, (oder ich verstehe es gerade falsch), ich will die Lösung mit EINEM Unterformular zum HF Schüler. Werde deine Lösung aber gleich mal probieren und schauen ob das eine Lösung für mich wäre!

MzKlMu

Hallo,
Zitatals ob ich den Schüler dann per Dropdownbox auswählen müsste,
wenn Du richtig liest, habe ich genau das Gegenteil geschrieben.

Zitat von: MzKlMuDie schüler_id wird automatisch gefüllt.
Gruß Klaus

luler

ja sie LZK muss ausgewäjlt werden - aber ich will die ja nicht auswählen, sondern ich möchte dass sie bei der Auswahl eines Schülers aus dem HF beeits erscheint - auch wenn noch keine Note eingegeben worden ist. Mir geht es darum, dass ich zu einem Schüler auf einen Blick alle LZKs mit allen Noten sehe!

MzKlMu

Hallo,
das geht nicht. Wenn Du das willst, musst Du vor der Notenvergabe erst mit einer Anfügeabfrage alle LZKs an die Tabelle Noten anfügen. Es gibt da keine andere Möglichkeit.

Es gibt aber keinen Zusammenhang zwischen Schüler und LZKs, das heißt es werden immer alle LZK angefügt.
Gruß Klaus

luler

hm ich habe mir shocn fast gedacht, das es nicht möglich ist. Wäre denn ein anderes Datenmodell denkbar?
MIch wunedert es einfach, dass es über Unterformulare geht, da werden die Daten ja auch miteinander verknüpft, aber eben nicht mit einer Abfrage. Schade eigentlich... hätte es gerne anders gehabt

MzKlMu

Hallo,
sorry, das ist doch logisch, dass das nicht geht. Das hat auch mit dem Datenmodell nichts zu tun. Wenn Du in die Tabelle Noten eintragen willst, benötigst Du doch Datensätze, wo sollen die herkommen, die müssen doch erzeugt werden, oder wie stellst Du Dir das anders vor?
Wenn Du für einen Schüler 10 LZKs hast, benötigt diese Tabelle 10 Datensätze um die Noten einzutragen. Und die müssen entweder manuell (per Kombi) oder automatisch per Anfügeabfrage angelegt werden. Hast Du 10 Schüler mit 10 LZKs entstehen in der Tabelle 100 DS.

Das hat mit der Unterformulargeschichte nichts, absolut nichts zu tun. Ein Unterformular kann nur darstellen was es gibt. Aber die LKZs zum Schüler gibt es ja zunächst nicht.
Gruß Klaus

luler

aber eine Anfügeabfrage müsste jedesmal manuell durchgeführt werden oder?
Bitte beschreibe die Möglichkeit mit der Anfügeabfrage noch ein bisschen genauer. Also aus welchen Tabellen bsteht die, und verstehe ich das richtig, dass diese Anfügeabfrage dann mein eigentlicher Speicherort für die Schüler mit ihren LZKs und Noten ist?

MzKlMu

Hallo,
Zitataber eine Anfügeabfrage müsste jedesmal manuell durchgeführt werden oder?
ja, aber das lässt sich an bestimmte Ereignisse knüpfen, das merkst Du nicht.
ZitatAlso aus welchen Tabellen bsteht die,
Die besteht aus einer einzigen Tabelel, nämlich der LZKs Tabelle und fügt deren  Datensätze an die Notentabelle an. Dabei muss neben den LZK_ID auch die Schülerid aus dem Hauptformular übertragen werden.
Zitatund verstehe ich das richtig, dass diese Anfügeabfrage dann mein eigentlicher Speicherort für die Schüler mit ihren LZKs und Noten ist?
Nein, eine Anfügeabfrage ist eine Aktionsabfrage und kann keine Daten speichern.
Die Speicherung der Noten übernimmt die Notentabelle nachdem über die Anfügeabfrage die Datensätze angefügt wurden.

Du solltest Dich dringend mit den Grundlagen zu Access beschäftigen, das sind Basics die man in einem Forum nicht so ohne weiteres vermitteln kann.
Gruß Klaus