27.12.2012, 11:42
Hallo,
langsam bereue ich es, die Sache mit der Oberstufe überhaupt angefangen zu haben. Erstmal zum Sachverhalt:
In der Q12 wurden in der Tat für jeden Schüler in jedem Kurs ein neuer Notendatensatz angelegt, so dass alle Schüler jetzt doppelt in den Kursen sind. Das ist aber zunächst einmal kein Programmfehler im Notenmanager, die Ursache liegt vielmehr in der WinQD. Dort haben nämlich alle Notendatensätze seit dem ersten Datenimport anfang dieses Schuljahres eine neue DatensatzID erhalten!
Hier sind wir jetzt an einem Punkt wo ich nicht mehr weiter weiß (auch mangels Insiderwissen über die WinQD). Normalerweise ist es so, dass ein Datensatz seine ID für immer und ewig behält (ist z. B. in der WinSD und im Notenmanager auch so). D. h. wenn der Notendatensatz für den Schüler XY im Kurs 2d2 (oder was auch immer) die ID "1234" besitzt, dann ändert die sich nicht, solange der Schüler in diesem Kurs ist.
Beim Programmieren des Datenimports bin ich davon ausgegangen, dass das eben auch in der WinQD so ist. In letzter Zeit häufen sich aber die Fälle, dass diese Regel gebrochen wird. Manchmal für einzelnen Schüler/Kurse, bei euch eben für alle Schüler in allen Kursen.
Woran das liegt kann ich nicht sagen. Ob es sich um einen "Designfehler" im Programm handelt (die WinQD-Programmierer haben ja keinen Grund, auf andere Programme Rücksicht zu nehmen), ob es sich um eine Fehlbedienung handelt oder was auch immer, ich weiß es einfach nicht. Habt ihr möglicherweise auch zwei WinQD-Installationen, eine für Q11 und eine für Q12, und spielt dann die Daten ab und zu zusammen? Das könnte dann eine Ursache sein und ihr müsstet versuchen, die Daten dann immer aus der gleichen Installation zu importieren.
Wie auch immer: offensichtlich sind die Datensatz IDs in der WinQD für den Datenaustausch nicht zuverlässig genug. Ob ich angesichts der lauernden ASV das aber noch einmal umprogrammiere kann ich nicht sagen.
Zur Lösung: Ich habe in NMAdmin (Update kommt demnächst) eine Funktion eingebaut, die die doppelten Datensätze löscht. Dabei werden bevorzugt die Datensätze ohne Noten gelöscht um Datenverluste zu vermeiden. Sind in beiden Datensätzen Noten drin, dann kann es natürlich passieren, dass der "falsche" Datensatz gelöscht wird. Bevor du dann diese Funktion aufrufst solltet ihr in allen Kursen eine Gesamtnotenliste drucken lassen (und natürlich eine Datenbanksicherung machen).
Anschließend musst du dann ebenfalls über NMAdmin die WinQD-Indizes reparieren lassen. Nur so werden dann die Noten zum Halbjahr in die richtigen Datensätze der WinQD zurückgespielt.
Gruß
Stephan
langsam bereue ich es, die Sache mit der Oberstufe überhaupt angefangen zu haben. Erstmal zum Sachverhalt:
In der Q12 wurden in der Tat für jeden Schüler in jedem Kurs ein neuer Notendatensatz angelegt, so dass alle Schüler jetzt doppelt in den Kursen sind. Das ist aber zunächst einmal kein Programmfehler im Notenmanager, die Ursache liegt vielmehr in der WinQD. Dort haben nämlich alle Notendatensätze seit dem ersten Datenimport anfang dieses Schuljahres eine neue DatensatzID erhalten!
Hier sind wir jetzt an einem Punkt wo ich nicht mehr weiter weiß (auch mangels Insiderwissen über die WinQD). Normalerweise ist es so, dass ein Datensatz seine ID für immer und ewig behält (ist z. B. in der WinSD und im Notenmanager auch so). D. h. wenn der Notendatensatz für den Schüler XY im Kurs 2d2 (oder was auch immer) die ID "1234" besitzt, dann ändert die sich nicht, solange der Schüler in diesem Kurs ist.
Beim Programmieren des Datenimports bin ich davon ausgegangen, dass das eben auch in der WinQD so ist. In letzter Zeit häufen sich aber die Fälle, dass diese Regel gebrochen wird. Manchmal für einzelnen Schüler/Kurse, bei euch eben für alle Schüler in allen Kursen.
Woran das liegt kann ich nicht sagen. Ob es sich um einen "Designfehler" im Programm handelt (die WinQD-Programmierer haben ja keinen Grund, auf andere Programme Rücksicht zu nehmen), ob es sich um eine Fehlbedienung handelt oder was auch immer, ich weiß es einfach nicht. Habt ihr möglicherweise auch zwei WinQD-Installationen, eine für Q11 und eine für Q12, und spielt dann die Daten ab und zu zusammen? Das könnte dann eine Ursache sein und ihr müsstet versuchen, die Daten dann immer aus der gleichen Installation zu importieren.
Wie auch immer: offensichtlich sind die Datensatz IDs in der WinQD für den Datenaustausch nicht zuverlässig genug. Ob ich angesichts der lauernden ASV das aber noch einmal umprogrammiere kann ich nicht sagen.
Zur Lösung: Ich habe in NMAdmin (Update kommt demnächst) eine Funktion eingebaut, die die doppelten Datensätze löscht. Dabei werden bevorzugt die Datensätze ohne Noten gelöscht um Datenverluste zu vermeiden. Sind in beiden Datensätzen Noten drin, dann kann es natürlich passieren, dass der "falsche" Datensatz gelöscht wird. Bevor du dann diese Funktion aufrufst solltet ihr in allen Kursen eine Gesamtnotenliste drucken lassen (und natürlich eine Datenbanksicherung machen).
Anschließend musst du dann ebenfalls über NMAdmin die WinQD-Indizes reparieren lassen. Nur so werden dann die Noten zum Halbjahr in die richtigen Datensätze der WinQD zurückgespielt.
Gruß
Stephan
RSS-Feed mit aktuellen Informationen über Updates, Änderungen in der Programmbedienung und anderen wichtigen Mitteilungen unter http://www.notenmanager.net/feeds/Notenmanager.xml