Office: (Office 2007) Eine Frage zum weitergeben von Werten einer n:m

Helfe beim Thema Eine Frage zum weitergeben von Werten einer n:m in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Guten Abend, ich habe seit August im Rahmen einer Fortbildung mit Access zu tun, aktuell arbeite ich an einer Datenbank welche folgendes können soll:... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von TimTee87, 13. Dezember 2020.

  1. Eine Frage zum weitergeben von Werten einer n:m


    Guten Abend,

    ich habe seit August im Rahmen einer Fortbildung mit Access zu tun, aktuell arbeite ich an einer Datenbank welche folgendes können soll:

    Es sollen 2 Phasen abgebildet werden:

    1.Produktion
    • Produktionsphasen mit einem Produkt welches in mehreren Chargen produziert wird
    • Jede Charge soll eine Qualitätsprüfung durchlaufen
    • es dürfen nicht mehr als 20 Chargen pro Phase Produziert werden
    • es gibt einen verantwortlichen MA ...
    • am Ende der Phase sollen alle Produkte Summiert werden

    2.Wartung
    • Jede Wartungsphase besteht aus einem Programm
    • Jede Jedes Programm aus mehreren Schritten
    • während der Wartungsphase soll ein Programm ausgewählt werden können, die Schritte sind anzuzeigen
    • jeder Schritt soll einen Status (Erledigt und offen) und einen durchführenden MA bekommen...

    Die Produktion war einfach, bei der Wartung habe ich aber noch ein Problem und zwar:
    habe eine tbl für Wartungsprogramme , eine für die Schritte und eine "Konfig" um eine n:m umzusetzen, dass funktioniert auch super.
    Was aber nicht geht, ist dass ich in der Wartungsphase (Formular mit Unterformular) das Wartungsprogramm mit den dazugehörigen Schritten angezeigt bekomme.
    Dropdown MA geht, Dropdown Status geht und wird auch in meiner dokumentations Tabelle gespeichert, aber die Schritte bekomme ich hier nicht rein (entweder alle oder keinen) .

    Aufbau wie folgt:
    tblSchritte 1:n tblKofig, tblkonfig n:1 tblProgramm, tblProgramm 1:n tblWartungsphasen, tblWartungsphasen 1:n tbldoku.

    Meine Frage ist jetzt:
    wie kann ich die Daten eines konfigurierten Programms aus Konfig in die Schrittdoku bekommen, so dass ich z.B eine "Reinigung" mehrfach durchführen kann?
    Da VBA für mich aktuell noch Neuland ist und ich es über eine Abfrage nicht hinbekomme, blöderweise auch nirgendwo auf ein ähnliches Problem gestoßen bin hoffe ich das mir hier jemand weiter helfen kann (vielleicht versuhce ich es ja auch nur mit dem falschen Suchbegriff).

    um das vorab klarzustellen, ich möchte hier keinen fertigen VBA Code abgreifen, sondern benötige lediglich ein paar Tipps um mir selber weiter helfen zu können (werde parallel weitersuchen).

    Vielen Dank vorab und viele Grüße

    Tim

    :)
     
    TimTee87, 13. Dezember 2020
    #1
  2. Hallo
    zeige mal ein Bild des Beziehungsfensters, die verbale Beschreibung ist zu abstrakt.
     
    gpswanderer, 15. Dezember 2020
    #2
  3. Moin, kannst du bitte die Screenshots direkt hier im Forum hochladen, der Link funktioniert nicht.
    maike
     
  4. Das solltest Du schon aus Sicherheitsgründen tun.
    Ich wäre ja mit dem Klammerbeutel gepudert, wenn ich auf irgendeinen Link im Internet einfach so draufklicken würde ...
     
    hcscherzer, 17. Dezember 2020
    #6
  5. Sorry, hab nicht gesehen das es eine möglich dazu gibt.

    *wink.gif* bin eigentlich nicht so häufig in Foren unterwegs
     
    TimTee87, 17. Dezember 2020
    #7
  6. Eine Frage zum weitergeben von Werten einer n:m

    Also vielleicht nochmal zum Verständnis, kann ein Wartungsprogramm kann ich erstellen.

    Es fehlt mir nur der Schritt das ganze in die "Wartung" zu übernehemen
     
    TimTee87, 17. Dezember 2020
    #8
  7. Ein paar Fragen habe ich allerdings:

    1. Was wird eigentlich gewartet?
    Ich hätte erwartet, dass es sich um ein produziertes Produkt handelt ...
    Da fehlt aber eine Relation zwischen Wartung und Produkt.

    2. Der MA ist mit Doku und mit Phase verbunden
    Eigentlich müsste doch eins von beiden reichen und die andere Verbindung würde sich indirekt erschliessen

    3. Für den Status brauchst Du nicht wirklich eine 1:n Relation
    Wenn es nur zwei Status gibt, reicht doch ein Ja/Nein Feld in der tblWartungsschritt

    4. In der Beschreibung ist ein grundsätzlicher Widerspruch.
    Im Screenshot hat jedes Programm mehrere Phasen.
    Wenn pro Phase eins (von mehreren) Programmen ausgewählt werden soll, dann müsste diese Relation genau anders herum definiert sein.

    Oder eine grundsätzliche Tabelle fehlt auch noch: die Wartungen.

    Jedes Produkt wird gewartet.
    Code:
    Eine Wartung läuft in mehreren Phasen
    Code:
    In jeder Phase wird genau ein Programm abgearbeitet.
    Code:
    Jedes Programm besteht aus mehreren Schritten.
    Diese sind pro Programm festgelegt.
    Code:
    Es fehlt da vielleicht noch ein Feld in der Konfig, welches die Reihenfolge der Schritte festlegt ?

    5. Letztlich muss die Doku-Tabelle nicht mit der Wartungsphase sondern mit dem Verweis auf tblWartungsPrKonfig.IDWartung versehen sein.
     
    hcscherzer, 21. Dezember 2020
    #9
  8. Hi,

    Danke erstmal für deine ausführliche Antwort und sorry wenn ich jetzt gleich etwas weiter aushole *Smilie.

    zu1.
    Es handelt sich um eine Schulaufgabe mit sehr viel interpretationsspielraum.

    Aufgabe: Es soll Wartungs- und Produktionsphasen geben.

    Ich gehe hier davon aus das ein Produkt produziert und in der Wartungsphase die produzierende Maschine gewartet werden soll.

    Dementsprechend sage ich: "okay Produkt 1 wird hergestellt, Maschine wird gewartet (z.B.: Reinigung, Instandsetzung oder Werkzeugwechsel) Produkt 2 wird erzeugt usw...."

    zu 2.
    Mitarbeiter habe ich mit beiden tbl in Beziehung gesetzt da es einen "Schichtleiter" geben soll der die Phase freigibt und ausführende MA die jeden Schritt einzeln bearbeiten sollen. (wie gesagt bin Anfänger und so hat es funktioniert)
     
  9. Moin Tim.

    Nur zu ...

    Aha, das war nicht klar.
    Dann fehlt aber eine Tabelle für die Maschine ... falls es mehrere gibt.
    Und es fehlt eine Beziehung (oder eine Abgleichsmöglichkeit) zwischen Wartung und Produktion, denn beides kann ja nicht gleichzeitig stattfinden.

    Und dann wäre - in meinem jetzigen Verständnis - Produktion eben auch eines der Programme, welches in einer beliebigen Phase gefahren wird.

    Gedanklich solltest Du unterscheiden zwischen Stamm- und Bewegungsdaten. Was es alles gibt und was nicht oder nur sehr selten verändert wird, ist Stamm. Also nicht nur physikalisch sondern auch die Konfiguration des Ablaufs (Was ist prinzipiell erforderlich und möglich).
    In den Bewegungsdaten wird gespeichert, was dann tatsächlich gemacht wird, wann, von wem und mit welchem Erfolg.

    Es gibt also eigentlich nur Phasen (keine WPhasen oder PPhasen) als Entitäten. Ob eine Phase W oder P ist, wird in den Bewegungsdaten (und das ist die tblPhasen) festgelegt.

    Wenn das frei wählbar ist, dann braucht es keine festen Nummern. Ich hatte mir das so vorgestellt, dass es bei bestimmten Abläufen eine festgelegte Reihenfolge gibt. Du kannst eine Maschine ja nur reinigen, wenn sie vorher ausgeräumt ist. Ausräumen darfst Du sie erst, wenn sie heruntergefahren ist. Oder: die Produktion kann nur beginnen, wenn die Maschine hochgefahren ist, eine bestimmte Temperatur erreicht ist und alle Vorratsbehälter befüllt sind.

    Was ich in #9 schrieb, war teilweise falsch. Richtig ist:
    In jeder Phase wird genau ein Programm abgearbeitet.
    Code:
    Das Programm ist die grundsätzliche Beschreibung dessen, was gemacht werden muss. Mit erforderlichen Schritten. Stammdaten.

    Die Phase ist der Master-Teil der Bewegungsdaten
    Welches Programm wird wann und von wem gefahren?

    Und davon abhängig ergeben sich die möglichen Schritte.

    Code:
    Die Doku-Detail-Sätze müssen ja nun den Schritt auch speichern.

    Das bedeutet: in der tblSchrittDoku muss ein Fremdschlüssel zum Schritt hinein. Zumal ja die Reihenfolge frei wählbar sein soll. Das hatte ich in #9 unter 5. eigentlich gemeint aber falsch geschrieben.

    Ach ja:
    Da will ich Deinem Lehrer nicht ins Handwerk pfuschen. Ich hoffe, es gibt die erforderlichen Diskussionen zwischen Euch.
     
    hcscherzer, 21. Dezember 2020
    #11
  10. Wir diskutieren tatsächlich recht viel *rolleyes.gif* ,aber auf die nette und konstruktive Art , bin ja auch froh was neues zu lernen *Smilie

    Alles in allem ist die Aufgabe auch nicht ganz realitätsnah, es geht sich wahrscheinlich eher darum mal ein paar Funktionen von Access kennen zu lernen.

    sehe ich genau so, ist aber im ersten schritt nicht gewollt, es soll lediglich die Möglichkeit geben zwischen beiden Phasen zu wählen.

    ich gehe also davon aus das ich, während ich in der Wartung bin keine Produktion Parallel laufen habe und somit es auch nur eine Maschine gibt.


    in der Produktion wird ein Produkt in mehreren Chargen Produziert, die Anzahl der Chargen pro Phase ist auf 20 begrenzt.... hab ich hinbekommen, gibt es keinen Handlungsbedarf mehr

    Ich hatte es so umgesetzt das in einer Prod.Phase mit 0 Chargen gestartet wird und ich dann Chargen einzeln öffne um die Anzahl die Q Freigabe etc. zu geben.

    Mein Verständnis war das Programme und Produkte Stammdaten sind da diese immer wieder ausgeführt werden.

    lediglich die Zahl der Schritte / Chargen ist von Prog bzw Prod unterschiedlich (Bewegungsdaten)

    Hatte es mir so hergeleitet:
    Produkt = Programm
    Charge = Wartungsschritt

    Ich musste gerade lachen, die beiden Tabellen sind tatsächlich gleich, ist mir so bis eben nicht aufgefallen

    Im Prinzip hast du auch hier recht, die Anforderungen sind gleich, da habe ich die Aufgabe wohl zu kleinlich gelesen und es aufgesplittet, das sollte ich bei der nächsten DB beachten (habe das ER Diagramm bereits als 1sten Teil der Aufgabe abgeben müssen deshalb würde ich es jetzt ungern ändern)

    Das ist richtig, mein Gedanke war das die feste Reihenfolge durch den Programmkonfigurator vorgegeben wird, in meinem Gewerk ist das z.B.: ein Arbeitsvorbereiter der eine Checkliste erstellt die von oben nach unten abzuarbeiten ist.

    Komme aus der Automobilindustrie und mache dort Analyse, Testing und Homologation. wenn ich einen meiner MA rausschicke bekommen die sowas von mir mit damit die meist zeitkritischen Themen schneller abgearbeitet werden.

    Sind dann aber eher Diagnose- oder Bedienungsanleitungen für Spezielle Hard oder Software.

    also im Grunde war ich richtig bis auf das du nur eine Phasen tbl hättest anstatt 2 richtig ?


    Die Doku-Detail-Sätze müssen ja nun den Schritt auch speichern.

    Das bedeutet: in der tblSchrittDoku muss ein Fremdschlüssel zum Schritt hinein. Zumal ja die Reihenfolge frei wählbar sein soll. Das hatte ich in #9 unter 5. eigentlich gemeint aber falsch geschrieben.

    hier wird es jetzt für den konkreten Fall sehr interessant *Smilie genau das ist es nämlich was noch nicht funktioniert.

    die einzelschritte werden aktuell nicht nur nicht richtig dargestellt sondern auch nicht in Wartungsschrittdoku gespeichert, das mit dem Fremdschlüssel hat ich gar nicht auf dem Schirm da ich immer versucht habe mir über das Programm direkt die Schritte zu holen...

    Freiwählbar sollen diese in der Phase aber nicht mehr sein sondern nur im Konfigurator, also ich konfiguriere ein Programm, lade es in die Wartungsphase und Arbeite mich dann von oben nach unten durch.


    Ich versuch es mal wie du es beschrieben hast sobald Sohnemann in der Falle ist ...

    Danke schonmal für den Support *Smilie
     
  11. Eine Frage zum weitergeben von Werten einer n:m

    Nö. Das sind auch Stammdaten.

    Veränderlich sind die Phasen bzw. die Programme, die in den einzelnen Phasen gefahren werden.
    Und darunter die Reihenfolge der Schritte.

    Aha. Dann gibt es also doch eine festgelegte und einzuhaltende Reihenfolge der Schritte. Wenn Du in der tblKonf keinen Indikator für die Reihenfolge hast, wird es Dir schwerfallen, dort einen Schritt nachträglich für ein bestimmtes Programm einzufügen.

    Fast. Der fehlende Fremdschlüssel zum Schritt in der tblDoku.
     
    hcscherzer, 22. Dezember 2020
    #13
  12. Ah gut dann Speicher ich mir das mal so

    Wie bereits gesagt:
    es wird im Konfigurator ein Programm erstellt welches ich in der Phase via Dropdown auswähle.
    Dort wird einen Schritt nach dem anderen abgearbeitet.

    die Reihenfolge der Schritte für ein Programm ist somit die in der ich die Schritte im Konfigurator ausgewählt habe

    Das diese Reihenfolge Sinn machen sollte ist mir klar (da es sich hier um ein fiktives Unternehmen handelt habe ich zugesehen künstlerischen Spielraum und Sage das vorher eine Liste von einem Arbeitsvorbereiter erstellt wird.)

    Was ich meine:

    z.B.:

    Prog:
    Reinigung
    Schr.1 Maschine anhalten
    Schr 2 Absperren
    Schr 3 Reinigen
    Schr 4 Absperrung Entfernen
    Schr 5 Maschine Starten

    Ende

    Prog:
    Instandsetzung (mechanisch)
    Schr.1 Maschine anhalten
    Schr 2 Absperren
    Schr 3 Freischalten
    Schr 4 Teil austauschen
    Schr 5 Reinigen
    Schr 6 Absperrung entfernen
    Schr 7 Maschine Starten

    Ende

    Die gleichen Schritte kommen mit anderen Schrittnummern in verschiedenen Wartungsprog. zur Verwendung, darum lasse ich die Nr weg oder würde diese Optional händisch eintragen

    Das eigentliche Problem liegt aktuell halt nur darin die Schritte die über die Konfig einem Programm zugeordnet sind über ein Listenfeld in der Phase richtig anzuzeigen , zu bearbeiten und in der WSDoku abzuspeichern.

    Na gut, da arbeite ich aktuell dran, leider will es immer noch nicht so ganz klappen.

    Wie gesagt bin mit VBA und Access und co noch nicht ganz so bewandert
    Den Code den du mir geschickt hast müsste ich doch rein theoretisch über die Datensatzquelle im Listenfeld eintragen um ein gewünschtes Ergebnis zu haben(natürlich mit den korrekten Bezeichnungen).

    zudem habe ich die konfig mit der doku über die WartungsID auf int Wartungschritt (der jetzt ZweitSchlüssel ist) in Beziehung gesetzt... bin mir da aber nicht so ganz sicher da ich ja bei einem Wartungsprogramm mit z.B. 4 Schritten folgendes Problem habe:

    ID Prog Schr
    1 1 1
    2 1 2
    3 1 3
    4 1 4

    Die ID würde ja durch Autowert immer weiter zählen obwohl wir ja eigentlich bei Prog. 1 sind ......

    ich Probiere nochmal ein wenig rum, habe ja Urlaub

    schönen Abend und Danke bis hier hin nochmal.
     
  13. Moin,
    der Wert der ID ist egal, wichtig ist ein Unique Index auf das Pärchen Programm & Schritt. Die Abfrage für ein Programm würde dann lauten

    Select * from T
    where FS_ Prog = [parameter]
    order by Schritt
     
    drambeldier, 22. Dezember 2020
    #15
Thema:

Eine Frage zum weitergeben von Werten einer n:m

Die Seite wird geladen...
  1. Eine Frage zum weitergeben von Werten einer n:m - Similar Threads - Frage weitergeben Werten

  2. FRAGE: Wenn(oder ; Wenns

    in Microsoft Excel Hilfe
    FRAGE: Wenn(oder ; Wenns: Hallo liebe Excel Legenden. Ich zerbreche mir jetzt schon seit Stunden den Kopf. Folgende Situation: Spalte A Tätigkeit Spalte B Anzahl Max Spalte C Anzahl Min Wenn ich jetzt bei Tätigkeit in...
  3. Frage zu Wenn Formel

    in Microsoft Excel Hilfe
    Frage zu Wenn Formel: Hallo, ich habe eine Liste bei der ich, wenn in einer Zelle die Meldung Net Price steht, dann nicht gerechnet werden soll. Allerdings ist bei mir diese Zeile nicht die eigentliche in der...
  4. Doofe Frage zu Power Query

    in Microsoft Excel Hilfe
    Doofe Frage zu Power Query: Hallo zusammen, habe ein doofe Frage. Ich habe über den Weg -Daten-Daten abrufen-aus Datei-aus Arbeitsmappe eine Tabelle in eine andere Mappe importiert. Wenn ich nun in der Quelldatei was ändere...
  5. Office 365 family / Outlook Fragen

    in Microsoft Outlook Hilfe
    Office 365 family / Outlook Fragen: Hallo habe alles neu gemacht am computer jetzt habe ich Win 10 64 bit also Outlook - das was bei Start PRogramme ist öffnet nicht Auf der MS Tastatur ist ein Knopf E-Mail der immer ging es öffnet...
  6. Frage zu CheckBox - TripleState =True

    in Microsoft Excel Hilfe
    Frage zu CheckBox - TripleState =True: Hallo zusammen, ich arbeite an einer kleinen Tabelle und bin beim Erstellen einer UserForm über CheckBoxen gestolpert. In den Eigenschaften gibt es den Triple State, den ich gerne nutzen würde....
  7. Sortierung der Emails/Frage

    in Microsoft Outlook Hilfe
    Sortierung der Emails/Frage: guten morgen, Bei Gmail (z.B.) kommen ankommende Emails stets der Reihe nach,also oben hin stehn, bei Outlook Mail hingegen kommen ankommende Emails mal mittig,mal unten hin,also kreuz und quer.....
  8. Frage zu Formularen

    in Microsoft Outlook Hilfe
    Frage zu Formularen: Hallo, ich habe eine kleine Frage. Und zwar habe ich in einem Kalender ein Formular erstellt, was auch prinzipiell funktioniert. Dort habe ich über den Skript-Editor auch etwas im Skript stehen....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden