Neuigkeiten:

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

Mobiles Hauptmenü

Historische Daten bei Maschinenverlagerung erhalten

Begonnen von MJFischer, November 10, 2016, 12:05:29

⏪ vorheriges - nächstes ⏩

MJFischer

Datenbank soll alle Maschinen von allen Werken weltweit aufführen. Bei einer Maschinenverlagerung von Werk 1 in Werk 2 soll für die Maschine später ersichtlich sein, wo sie genutzt wurde. Von ... bis in Werk 1 und ab ... in Werk 2
Tabellen: Maschinen, Werke
In der Tabelle Maschine ist ein Nachschlagefeld für das jeweilige Werk enthalten. Bei Verlagerung der Maschine würde das Werk z.b. von 1 auf 2 geändert. Allerdings gibt es dann kein Angabe mehr zu dem ursprünglichen Werk

Wer kann mir hier helfen, wie ich am besten vorgehe?

Lachtaube

Du brauchst zusätzlich eine Tabelle für die Maschineninstallation (o.ä.), die jeweils einen Fremdschlüssel auf eine Maschine und ein Werk aufweist. Zuätzlich enthält diese Tabelle zwei Datumsfelder. Eines, welches den Anfang und eines, welches das Ende einer Aufstellphase kennzeichnet. Dort, wo das Enddatum Null ist, ist die Maschine zum aktuellen Zeitpunkt. Verfeinern kann man das ganze, wenn noch zwischen Rampup-, Rampdown-, Produktions-, Versandzeiten etc. der Maschine unterschieden werden soll. Dieses könnte durch ein weiteres Schlüsselfeld in dieser Tabelle auf eine Tabelle mit den besagten Zeitarten geschehen.

PS: die Nachschlagefelder würde ich spätestens nach Abschluß vom Formulardesign entfernen. Sie sorgen nicht nur für Verwirrung, sondern machen eine Datenbank auch langsamer. Gleiches gilt auch für Unterdatenblätter im Tabellenentwurf.
Grüße von der (⌒▽⌒)

crystal

Hallo,
das ist eigentlich recht einfach. Du musst nur deine Tabelle in zwei Tabellen aufteilen:
tblMaschinen mit Bezeichnung, Hersteller etc. und MaschinenId als Primärschlüssel
tblStandort mit MaschinenRef (Referenz auf MaschinenId), Werk, Datum von, Datum bis und einem Autowert als Primärschlüssel.

Damit hast du eine 1:n-Beziehung erstellt: EINE Maschine hat EINEN oder MEHRERE Standorte über die Zeit.

In einem Formular mit Maschinen-Stammdaten aus tblMaschinen fügst du dann ein Unterformular ein, das die zugehörigen Daten aus tblStandort (verknüpft über MaschinenID bzw. MaschinenRef) darstellt.

Dann siehst du sofort, wo die Maschine schon war und kannst im Unterformular einfach einen neuen Datensatz mit neuem Standort anfügen.

Gruß (besonders auch an alle anderen Mitglieder, die denken, ich wisse nicht, was Normalisierung, Relation oder 1. bis 6. Normalform bedeuten)

crystal

PS: Lachtaube war etwas scheller.
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

MJFischer

Hallo "Lachtaube"

vielen Dank für diese schnelle Antwort. Ich bin noch absoluter Anfänger mit Access und deshalb noch sehr "unbeholfen". Eine ähnliche Lösung wurde mir im Training bereits empfohlen, aber mir fehlte dann der richtige Ansatz. Deine Lösung werde ich gleich mal ausprobieren. Und dass mit den Nachschlagefeldern probiere ich dann auch mit umzusetzen. Mal schauen, wie weit mich dass dann bringt.

Vielen Dank noch einmal

Lachtaube

Zur Entwicklungszeit können Nachschlagefelder durchaus vorteilhaft sein - Kombifelder werden halt schneller im Formularentwurf erstellt. Nur in einer fertigen Datenbank (, die dann ja auch noch in Front- und Backend geteilt werden sollte), haben die Dinger wirklich nichts mehr verloren.
Grüße von der (⌒▽⌒)