Neuigkeiten:

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

Mobiles Hauptmenü

Mehrere Werte gleichzeitig ändern

Begonnen von Atuatuca, Februar 14, 2016, 18:23:08

⏪ vorheriges - nächstes ⏩

MaggieMay

#15
@Marmeladenglas:
Ja, dummerweise scheinen hier zwei Threads parallel zu laufen, das ist natürlich für alle Beteiligten verwirrend. Mal abwarten, was daraus wird...
Freundliche Grüße
MaggieMay

Atuatuca

Hallo Franz,

Ein Zug besteht aus 5, bzw. 6 Wagons. Diese Wagons haben namen (T1,T2 usw).
Alle Wagons kommen in jeden Zug vor. In Zug 3 sind es mehr Wagons. Insgesamt
gibt es 7 Züge

Der Wagon mit dem Namen T1 aus Zug 1 hat die Con_Nr. 0001
Der Wagon mit dem Namen T2 aus Zug 1 hat die Con_Nr. 0002
Der Wagon mit dem Namen SW aus Zug 1 hat die Con_Nr. 0003

usw....

Siehe qry_Con_Standort

Dieser Teil meiner DB sollte es ermöglichen jede Con_Nr. ein Standort zuzuweisen und
es ermöglichen alle Wagons eines Zuges einen Standort zugeben (damit man nicht alle
Wagons eines Zuges einzeln anklicken muss).

Hoffe es werde Licht  ;)

Atuatuca

Hallo Franz,

Ein Zug besteht aus 5, bzw 6 Wagons.

Die Wagons haben Bezeichnungungen (T1, T2 usw...)

Der Wagon T1 von Zug 1 hat die Con-Nr. 0001
Der Wagon T2 von Zug 2 hat die Con_Nr. 0002 usw....

Die Wagons T1, T2, SW, GW, LW kommen in jedem Zug vor,
jedoch nicht in Zug 3, da gibt es 1 Wagon mehr und haben
andere Bezeichnungen.

Der User soll die Möglichkeit haben ein Zug, bestehend aus 5, bzw. 6 Wagons
an eine anderen Standort hinzustellen oder auch jeden Wagon einzeln.

Eine gute Übersicht bietet die qry_Con_Standort

Hoffe es werde licht  ;)

Gruss
Atuatuca

DF6GL

Hallo,

naja, ein bisschen lichter ist es nun...

Zitat
Der Wagon T1 von Zug 1 hat die Con-Nr. 0001
Der Wagon T2 von Zug 2 hat die Con_Nr. 0002 usw....

Heißt das, dass "Con_Nr. 0002"  lediglich die Bezeichnung des Wagons T2 von Zug2  ist und gar kein physischer Container, der z. B. von Wagon T2 abgeladen werden kann? Ändert sich diese Nr. ,  wenn T2 von Zug2 nach Zug1  umgekoppelt wird? Wie lautet dann die Bezeichnung?

Ad Hoc würde ich solche Tabellenkonstruktion vorschlagen (und ohne Gewähr auf Vollständigkeit oder  Konsistenz):

tblWagons    enthält alle möglichen Bezeichnungen der Wagons

tblZSArten    Zusammenstellungsart zu. B. Zug, Bahnhof, Freies Gleis, etc

tblStandorte   enthält die Bezeichnungen aller möglichen "Zusammenstellungs-Plätze"

tblZüge   enthält die Bezeichnungen aller möglichen Züge

tblZSStandorte  enthält die Zusammenstellungen, die an bestimmten Standorten "stehen"

tblZusammenstellung  enthält die Wagons, die mit einer bestimmten Art (tblZSArten) zusammengestellt sind 


Alle Tabellen mit PK und entspr. FK -Feldern und in Beziehung zueinander gesetzt.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Atuatuca

Hallo Franz,

Heißt das, dass "Con_Nr. 0002"  lediglich die Bezeichnung des Wagons T2 von Zug2  ist

fast richtig, aber ich habe mich vertippt.
Zug 1, T2 = Con 0002

es sind in Prinzip Seriennummern.

Es sind reale Wagons die durch die Lande ziehen, zu 99% im Ursprünglich zusammengestelltem Verband.

Zug 1: T1, T2, SW, GW, LW
Zug 2: T1, T2, SW, GW, LW
Zug 3: TN, TS, SN, SS, GW, LW
Zug 4: T1, T2, SW, GW, LW
Zug 5: T1, T2, SW, GW, LW
Zug 6: T1, T2, SW, GW, LW
Zug 7: T1, T2, SW, GW, LW

Ich möchte eine gewisse Flexibilität haben um z.bspl. den T2 zwischen Zug 7 und Zug 1 gegeneinander austauschen zu können. Dazu müsste dann Zug 7 zum Standort von Zug 1 fahren oder umgekehrt, aber dass spielt hier keine Rolle.

Ich weiss das es nicht einfach zu verstehen ist, ich habe auch lange gebraucht diesen "Wahnsinn" zu verstehen.

Gruss
Atuatuca

PS. Es werde Licht ??

DF6GL

Hallo,

kann man das dann so ausdrücken:

Die "Con_Nr. 0002" ist die eigentliche Kennung eines ganz bestimmten Wagons und "T1..T2..SW"   sind Wagonarten?

Die DB kann hier aber nur den aktuellen und statischen Zustand erfassen und wiedergeben. D. H. wenn ein Wagon durch Hin-und Herfahren eines Zuges zwischen 2 Standorten umgestellt wird, wäre das lediglich eine Korrektur der akt. Daten in der Db.  Ansonsten bräuchte es eine Art Historie oder Fahrplan oder "Kontoführung" .

Dann nochmal meine Vorstellung von den Tabellen (minimale Felder und wieder ohne Gewähr auf Stimmigkeit):

tblZuege (ZID [PK],   Z_ZAID [FK] aus tblZArten,    Z_SID [FK] aus tblStandorte, Z_Bez [Text])
tblZugContainer ( ZCID [PK],   ZC_ZID [FK] aus tblZuege,    ZC_CID [FK] aus tblContainer,    ZC_ÄnderDat [Datum/Uhrzeit])
tblContainer (CID [PK] ,   C_Nr [Long], bzw. [Text],    C_WID [FK] aus tblWagonarten)
tblWagonarten (WID  [PK],   W_Bez [Text])
tblZArten (ZAID [PK],   ZA_Bez [Text])
tblStandorte (SID [PK],   S_Bez [Text])


tblZuege enthält auch "Dummy"-Zuege, d.h. einen imaginären Zug (tblZArten) , an dem ein einzelner Container (Wagon) hängt für die Fälle, bei denen ein Wagon separat abgestellt ist.

Bau mal eine Db danach auf und setze die Beziehungen. Erstell für jede Tabelle ein Formular,  stelle in paar Spieldaten ein und lade das Ding hier hoch.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Atuatuca

Hallo Franz,

die Züge haben feste Standort im Bundesgebiet, von denen aus Diese eingesetzt werden. Nach Ihrem Einsatz, kehren die Züge wieder an Ihrem Standort zurück. Die Einsätze der Züge sollen NICHT in der DB abgebildete werden. Nur die festen Standorte und die Verschiebungen zwischen den Festenstandort. Es kann jedoch sein, dass auch einzelne Wagons aus einem Zug rausgelöst werden und gegen ein Wagon (gleiche Bezeichnung, z.Bspl. T1 gegen T1) aus einem anderen Zug eingetauscht werden. Die feste Standort bleiben jedoch immer bestehen.

Ein Wagon kommt aus dem Herstellerwerk (z.Bspl. Leipzig) und wird dann zu Ausstattungswerk verbracht (z.Bspl. Dresden). Dann geht der Wagon zum Umschlagwerk (z.Bspl. Hamburg) wo er dann mit den anderen Wagons des gleichen Zuges verheiratet wird, sobald alle Wagons am Umschlagwerk eingetroffen sind. Dann wird der ganze Zug an seinem Standort (z.Bspl. Bremen) für seine Einsätze in Raum Bremen verbracht.

Zug 5, T1 (= Con 0022) in Leipzig => Standort Con 0022 = Leipzig
Fertiggestellt, Umzug nach Dresden => Standort Con 0022 = Dresden
Ausgestattet, Umzug nach Hamburg => Standort Con 0022 = Hamburg

Weitere Wagons (Con 0023 bis Con 0026) des Zuges Nr. 5 fertiggestellt, ausgestattet (nach o.g. Muster) nach Hamburg verbracht.

Zug 5 (T1, T2, SW, GW, LW) zieht jetzt um von Hamburg nach Bremen
Standorte von alles Wagons von Zug 5 soll geändert werden von Hamburg auf Bremen.

Ich benötige die Standorte der einzelnen Wagons um Arbeitseinsätze von Monteuren zu planen.

Gruss
Atuatuca

PS. Flutlicht brennt ?

DF6GL

Hallo,

erleuchtet auch nicht mehr  .. :P

ZitatBau mal eine Db danach auf und setze die Beziehungen. Erstell für jede Tabelle ein Formular,  stelle in paar Spieldaten ein und lade das Ding hier hoch.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Atuatuca

Hallo Franz,

hier mal eine Übersicht meiner DB-Beziehungen bzgl. Con, AOC, Zug.

Gruss
Atuatuca

DF6GL

Hallo,

das hat mit meinem Vorschlag rein gar nichts zu tun....

Wenn Du den nicht umsetzt, lohnt es sich nicht, hier weiter zu diskutieren...
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Atuatuca

Hallo Franz,

ich glaube du siehst das Thema zu komplex. Ich möchte einfache einzelne Con_Nr ein anderen Standort geben (funktioniert schon) oder 5, bzw 6 Con-Nr. (= Zug = Con-Nr mit gleiche ID_Zug) gleichzeitig ein anderen Standort geben.

Wie diese ausgewechselt werden ist mir wurst.

Ich möchte bei problemen an eine Con-Nr mein Monteur zum richtigen Ort schicken.
Ich brauche keine Historie oder wissen welche Con-Nr. gegen welche Con-Nr. ausgetauscht wurde.

Nichts desto trotz, werde ich o.g. Tabellen, Formulare und Beziehungen erstellen und die DB hier hochladen.

Gruss
Atuatuca

Atuatuca

Hallo Franz,

versuche gerade dein Vorschlag in einer Test-DB umzuwandeln.

ZitattblZuege (ZID [PK],   Z_ZAID [FK] aus tblZArten,    Z_SID [FK] aus tblStandorte, Z_Bez [Text])
tblZugContainer ( ZCID [PK],   ZC_ZID [FK] aus tblZuege,    ZC_CID [FK] aus tblContainer,    ZC_ÄnderDat [Datum/Uhrzeit])
tblContainer (CID [PK] ,   C_Nr [Long], bzw. [Text],    C_WID [FK] aus tblWagonarten)
tblWagonarten (WID  [PK],   W_Bez [Text])
tblZArten (ZAID [PK],   ZA_Bez [Text])
tblStandorte (SID [PK],   S_Bez [Text])

Es gibt 6 Züge mit 5 Wagons (=Container) und 1 Zug mit 6 Wagons, macht insgesamt 36 Wagons
In der Fertigungsphase komt jeder Wagon einzeln vom Fertigungswerk zum Ausstattungswerk. Vom Ausstattungswerk geht jeder Wagon einzeln zum Rangierbahnhof, wo die Wagons zu einem Zug zusammen gestellt werden. Mit 99,99% Wahrscheinlichkeit bleiben die Wagons dann auch immer im gleichen Zug. Ich benötige keine Historie mit Datum, Zeit und Standort. Es geht darum, in meiner Listbox 1 Zug (=5 bzw. 6 Wagons) auszuwählen und alle Wagons dieses Zuges ein neuen Standort zu geben, desweiteren würde ich gerne wissen, wie ich in Abfrage1 die ID_OPL gruppieren kann, sollen nur einmal in der Abfrage erscheinen.

tblZuege - klar
tblZugArten - unklar, gibt es so nicht
tblStandorte - klar
tblZugContainer-Klar
tblContainer - klar (könnte auch tblWagons heissen)
tblWagonarten - unklar, gibt es so nicht
tblZArten -unklar, gibt es so nicht

Anbei ein Auszug aus meiner DB mit Beispieldaten.

Gruss
Atuatuca




DF6GL

Hallo,

ZitatEs gibt 6 Züge mit 5 Wagons (=Container) und 1 Zug mit 6 Wagons, macht insgesamt 36 Wagons


Es geht nicht um die Anzahl vom Zügen oder Waggons..  (Btw: vielleicht sollte die Benamsung deutlicher werden. Entscheide Dich, ob ein solches "Ding"  entweder "Wagon" oder "Container" genannt wird.)
.
Es geht um die Struktur:

Es gibt verschiedene Züge mit unterschiedlicher Anzahl von angehängten Waggons.

D. h:

tblZüge   1:n  mit   tblZugWaggons


ZitatIn der Fertigungsphase komt jeder Wagon einzeln vom Fertigungswerk zum Ausstattungswerk. Vom Ausstattungswerk geht jeder Wagon einzeln zum Rangierbahnhof, wo die Wagons zu einem Zug zusammen gestellt werden.


Sollen jetzt diese Vorgänge als solches erfasst werden oder reduziert sich das nur auf  die reine Zusammenstellung eines Zuges ( Anhängen bestimmter Wagons (Wagonnummer, Seriennummer) an einen bestimmten Zug) bei einem bestimmten Standort?



ZitatMit 99,99% Wahrscheinlichkeit bleiben die Wagons dann auch immer im gleichen Zug.

Tja, "wahrscheinlich" ist bei einer DB so nicht abbildbar.  Entweder kann es auftreten, dann ist es in der Tabellenstruktur zu brücksichtigen, oder es tritt nicht auf (diese Situation wird ignoriert) , dann kann es auch nicht erfasst, bzw. ausgewertet werden.


ZitatIch benötige keine Historie mit Datum, Zeit und Standort.


Ok..


ZitatEs geht darum, in meiner Listbox 1 Zug (=5 bzw. 6 Wagons) auszuwählen und alle Wagons dieses Zuges ein neuen Standort zu geben,

Formulare (und damit Listboxen)  sind bis hierher völlig irrelevant. Das dient nur zur User-Bedienung der DB.

Der relevante Vorgang hier ist: Zuordnen eines neuen oder anderen Standortes zu einem bestimmten Zug.

tblStandorte  --  1:n  --  tblZüge   --  1:n  --   tblZugWaggons


Dies ist mit der einfachen Zuweisung der enstpr. Standort-ID an das Fremdschlüsselfeld in Tabelle tblZüge möglich.  (Realisierbar (später) durch ein einfaches Kombifeld, das an das Fremdschlüsselfeld gebunden ist und das seine Daten aus tblStandorte bezieht.)



Deine Beschreibung enthält aber m. E: nur die halbe Wahrheit...  Vor einiger Zeit hast Du erwähnt, dass auch einzelne Wagons (losgelöst von Zügen) standortmäßig erfasst und bearbeitet (verschoben) werden sollen...

Wenn das noch zutriftt, muss es eben mit weiteren Tabellen (und damit mit einer erweiterten Struktur) abgebildet werden., und ddas VOR der Erstellung von Formularen und Abfragen...



Zitatdesweiteren würde ich gerne wissen, wie ich in Abfrage1 die ID_OPL gruppieren kann, sollen nur einmal in der Abfrage erscheinen.

Wird wahrscheinlich eh in der Versenkung verschwinden. Habe mir aber die Beispiel-DB noch nicht angesehen.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beaker s.a.

Hallo Atuatuca,
Franz' Beispiel habe ich mir jetzt nicht angeschaut. Nehme aber fast an, dass Folgendes dort schon implementiert ist. Ansonsten hat er vielleicht deine Kernfrage nicht erkannt.
Unter der Voraussetzung eines korrekten Datenmodells macht folgende Abfrage das, was Du gerne hättest:
UPDATE tblZuege AS Z
INNER JOIN tblWagons AS W
    ON Z.ZugID = W.ZugID_F
SET W.StandortID_F = ZugNr
WHERE Z.ZugID = NeueStandortID

Diese Abfrage ändert bei allen Wagons eines Zuges die StandortID in einem Rutsch.
Tabellen- und Feld-Namen müssen natürlich angepasst werden; - Die Parameter "ZugNr" und "NeueStandortID" musst Du dir natürlich auch irgendwo (z.B. Formular) "abholen".

@Franz,
Soll keine Kritik sein, da ja alles, was Du schreibst wichtig und richtig ist. Aber vielleicht sollte man dem Fragenden, mit dem Hinweis auf eine korrektes Datenmodell, ruhig erstmal die einfache Lösung präsentieren. Das sein Datenmodell evtl. nicht stimmt, wird dann schon selber merken und nachfragen. Für mich persönlich ist es jedenfalls einfacher Erklärungen zum Weg zu verstehen, wenn ich das Ziel schon vor Augen 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)

DF6GL

Hallo,

die Diskussion geht ja schon länger, und die "einfachen" Vorschläge gab es ja auch schon genug.... Nur führten die wegen mancher grundlegenden Unzulänglichkeiten eben auch nur zu weiteren Problemen, die ohne Tricksereien nicht zu lösen sind.

Ein "einfache" Lösung bei einem inkorrekten Datenmodell entpuppt sich später in den meisten Fällen als Holz- oder Irrweg...  :)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access