Neuigkeiten:

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

Mobiles Hauptmenü

Checkbox-Option synchronisieren

Begonnen von ritzenflitzer, Oktober 24, 2017, 10:09:20

⏪ vorheriges - nächstes ⏩

ritzenflitzer

Hallo Community

ich erfasse über ein Endlosformular Materialnutzungszeiten für unterschiedliche Fahrräder. Es gibt hierfür für den eindeutigen Materialstamm jeweils die Checkboxen "Material stillgelegt" und "Material ausgemustert". Wenn keine der Optionsboxen den Wert Wahr hat, dann ist es aktuell im Gebrauch.

Ein Materialstamm kann also mehrere Nutzungszeiträume haben, die auch zu unterscheidlichen Fahrrädern gebucht wurden. Nun sollte es so funktionieren, dass wenn ich ein aktuelles Material stilllege und entsprechend im Formular die Cb "Material stillgelegt" markiere, per VBA bei alle vorhergehenden Nutzungszeiträumen für dieses Material ebenfalls diese Cb auf wahr gesetzt wird (gilt natürlich auch für die Option Material ausgemustert). Das möglichst auch für diejenigen Nutzungszeiträume, die auf andere Fahrräder anfallen.

Wie lautet da der Code und an welchem Ereignis hänge ich den auf? Wäre toll, wenn ich zumindest mal gute Ansätze hätte.

Danke
Michael

DF6GL

Hallo,

der beste Ansatz wäre, die Tabelle (DB) zu normalisieren.  Siehe u. st. Links 1 und 1a.


Die Checkboxen(-Werte) gehören in eine separate Tabelle ("tblMatStatus"  "aktiv", "stillgelegt", "ausgemustert"). Diese Tabelle wird dann mit tblMaterial in Beziehung gesetzt. (Denkbar wäre auch anstelle eine Tabelle "tblNutzungsarten" ("Nutzungsstart", "Nutzungsende","stillgelegt", "ausgemustert") , die dann mit "tblRadNutzungen" in Beziehung gesetzt würde.)

Eine Anpassung der Felder  in der gezeigten Tabelle ist in beiden Fällen erforderlich.

Hier sollte allgemein das Konzept überdacht werden.


Beaker s.a.

Hallo,
Davon ausgehend, dass es sich um drei Termine handelt, die
nacheinander erreicht werden (Stillegung und Ausmusterung
können natürlich auch gleichzeitig stattfinden), halte ich eine zusätzl.
Tabelle hier für überflüssig. Ich würde auf die beiden Booleanfelder
verzichten und dafür ein weiteres Datumsfeld einrichten
(AusgemustertAm) und das Feld Nutzungsende umbenennen in
StillgelegtAm.
Dann gilt
aktiv = StillgelegtAm und AusgemustertAm sind NULL
stillgelegt = StillgelegtAm ist belegt und AusgemustertAm ist NULL
ausgemustert = alle drei Felder sind belegt

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)

ritzenflitzer

Hallo

danke erstmal für die Tipps. Muss mir den Aufwand anschauen. EIne weitere Normalisierung ist wohl die sauberste und akademische Variante.

Grüße