Office: (Office 2010) Liste im Kombifeld durch Tabellenbeziehungen einschränken?

Helfe beim Thema Liste im Kombifeld durch Tabellenbeziehungen einschränken? in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Guten Abend, ich bin beim Erstellen eines kleineren Datenbank-Projekts auf ein Problem gestoßen, das ich durch Eigenrecherche leider nicht gelöst... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von dermobb, 12. Mai 2020.

  1. Liste im Kombifeld durch Tabellenbeziehungen einschränken?


    Guten Abend,

    ich bin beim Erstellen eines kleineren Datenbank-Projekts auf ein Problem gestoßen, das ich durch Eigenrecherche leider nicht gelöst bekomme. Es geht um eine Datenbank zur Organisation und Dokumentation der Gesundheits-Vorsorge in einem kleineren Unternehmen.

    Verschiedene Mitarbeiter können aufgrund ihrer Tätigkeiten bzw. Gefährdungen diverse Vorsorgeuntersuchungen im Formular frm_Mitarbeiter zugeteilt / angeboten bekommen. Dies ist durch eine n:m Beziehung der Tabellen tbl_Mitarbeiter und tbl_Untersuchungen hoffentlich richtig beschrieben. In einem weiteren Formular frm_Termine können Termine für die Mitarbeiter angelegt werden, welche in der Tabelle tbl_Termine gespeichert werden.

    Hier würde ich es gern so haben, dass zuerst der Mitarbeiter über das Kombifeld ausgewählt wird. Das funktioniert bereits wie ich es mir vorstelle. Als nächstes soll bestimmt werden, welche Untersuchung an dem Termin durchgeführt wird. Das Kombifeld soll nur die Untersuchungen anzeigen, die für diesen Mitarbeiter in Frage kommen (Info aus der Zuordnungstabelle ztbl_MitarbeiterUntersuchungen). Das bekomme ich aber nicht hin, es wird immer die vollständige Liste angezeigt. Hier bitte ich euch freundlich um Rat und Hinweise.

    Da ich bisher über wenig Erfahrung in Access verfüge, möchte ich euch auch gern darum bitten, mein gewähltes Datenmodell zu überprüfen. Es gibt da nämlich eine weitere Sache, die mich unsicher macht. Über den Primärschlüssel Personalnummer steht die Tabelle tbl_Mitarbeiter in einer Beziehung zu jeweils zwei anderen Tabellen. Wenn ich die Tabelle tbl_Mitarbeiter in der Datenblattansicht öffne, werden über das kleine "+ Symbol" Beziehungen "suggeriert". Wenn ich auf das + Symbol klicke, erscheint jedoch das Fenster zum Einfügen eines Unterdatenblatts. Ich vermute, weil festgelegt werden muss, welche der beiden Beziehungen angezeigt werden soll??? Siehe Bild im Anhang.

    Ist es in meinem Fall möglich, dies als Lösung hinzubekommen:
    Mitarbeiter
    + Unterdatenblatt mit den Untersuchungen für DIESEN Mitarbeiter
    ++ Unterdatenblatt mit Terminen für DIESE Kombination Mitarbeiter / Untersuchungen

    Vielen Dank im Voraus. Die Beispiel-Datenbank mit einigen fiktiven Datensätzen ist im zip angehängt.

    :)
     
    dermobb, 12. Mai 2020
    #1
  2. siehe Anhang
     
    fredfred, 14. Mai 2020
    #2
  3. Hallo,
    Du hast eine n:m Beziehung angelegt zur Zuordnung der Untersuchungen zum Mitarbeiter. Nutze diese auch und verwende deren Primärschlüssel für die Termine.
    Ich würde daher das Datenmodell etwas anders/einfacher machen. Siehe Bild.

    Du brauchst dann die n:m Tabelle nur zu filtern auf dem MA und hast nur noch die passenden Primärschlüssel zur Auswahl welcher als einziger Fremdschlüssel bei den Terminen gespeichert wird.
    Die UntersuchungID und die Personalnummer sind in der Termintabelle nicht mehr notwendig.

    PS:
    Verwende keine Sonderzeichen (-) in Feldnamen.
    Es ist zweckmäßig, die Fremdschlüssel kenntlich zu machen. Z.B. mit _F, ist aber nur eine Empfehlung.
     
    gpswanderer, 14. Mai 2020
    #3
  4. Liste im Kombifeld durch Tabellenbeziehungen einschränken?

    Zunächst einmal vielen Dank für die Antwort!
    Ich habe das Datenmodell auf deinen Vorschlag hin abgeändert. Nun ist es möglich, die gleiche Untersuchung einem Mitarbeiter mehrfach zuzuweisen. Das ist so nicht gewollt. Habe ich etwas falsch verstanden? Deine "PS" Hinweise werde ich mir zukünftig zu Herzen nehmen. Vielen Dank!
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    dermobb, 15. Mai 2020
    #4
  5. Hallo,
    Du musst den beiden Fremdschlüsselfeldern einen eindeutigen Mehrfeldindex zuweisen, dann geht das nicht mehr.
    Das hat das gleiche Verhalten wie der zusammgesetzte Primärschlüssel.

    Und schon wieder ein PS:
    Bitte keine vollständigen Beiträge zitieren. Bei Deiner direkten Antwort wäre gar kein Zitat notwendig gewesen. Zitate verlängern die Themen und sollten sparsam eingesetzt werden.
     
    gpswanderer, 15. Mai 2020
    #5
  6. Auch dir herzlichen Dank!
    Ich teste das Folgende an deiner ungeänderten Datenbank:
    - Ich öffne das Formular für Termine
    - Ich gebe über das Kombifeld den Mitarbeiter ein
    - Dann klicke ich in das Kombifeld zur Auswahl der Untersuchung
    -- Jetzt wird mir tatsächlich eine reduzierte Auswahl im Kombifeld angezeigt, jedoch wird mir "nur" die Mitarbeiternummer und der Schlüssel der Untersuchung angezeigt, nicht der Beschreibungstext der Untersuchung. Zudem gibt mir das Kombifeld wiederholbar die Mitarbeiternummer zurück und nicht - wie notwendig - den Schlüssel für die Untersuchung.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    dermobb, 15. Mai 2020
    #6
  7. dann passe die Abfrage in den Feldern an.
    Stelle halt die U-ID an die erste Stelle der Abfrage, und die Bezeichnung an die zweite.
    Die PersID stellst du an die letzte STelle in der Abfrage.
    Ist doch reine Anordnung der Felder in der Abfrage.
    Das solltest du nach ergänzen, damit bei Datensatzwechsel die Kombi-Auswahl auch stimmt und nicht nur nach dem AfterUpdate der PersID

    Code:
    Auf ein anderes Problem wirst du aber noch stoßen, das Problem im Endlosformular mit abhängigen Kombifeldern, die Auswahlen leeren sich in den Feldern deren Feldinhalte nicht Teil der Datensatzherkunft des aktuellen Datensatzes ist.
     
    fredfred, 15. Mai 2020
    #7
  8. Liste im Kombifeld durch Tabellenbeziehungen einschränken?

    Vielen Dank nochmal, so ist das Verhalten wie gewünscht!
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    dermobb, 17. Mai 2020
    #8
  9. So, ich habe mich jetzt weitestgehend durch dieses Projekt durchgewurschtelt und habe einen Stand erreicht, mit dem ich ganz vernünftig arbeiten kann.

    Es gibt aber noch zwei Punkte, die ich möglichst gern hinzufügen möchte. Sie passen auch weiterhin zur Überschrift dieses Themas. Ich hänge das Projekt wieder an, damit Hilfswillige direkt alles nachverfolgen können. Wäre super, wenn jemand helfen kann.

    1. Im Formular Mitarbeiter können Vorsorgeuntersuchungen (in einem Unterformular) zugeteilt werden. Eine Mehrfachzuweisung ist durch die Tabellenbeziehungen ausgeschlossen. Wie kann man jedoch die Liste des Kombifelds zur Auswahl des Untersuchungstyps einschränken, so dass bereits für diesen Mitarbeiter zugeteilte Untersuchungen nicht mehr angezeigt werden?

    2. Im Formular Termine können für die Mitarbeiter Termine zu ihren zugeteilten Untersuchungstypen organisiert werden. Dafür muss zunächst oben in einem Kombifeld der Mitarbeiter ausgewählt werden, für den ein Termin angelegt werden soll. Dann soll über das Kombifeld im Detailbereich die Untersuchung ausgewählt werden. Nach der Anleitung von oben werden nur die Untersuchungen angezeigt, die dem Mitarbeiter zugeteilt wurden. Hier hätte ich jetzt noch gern die zusätzliche Einschränkung, dass offene Untersuchungen (Datumsfeld abgeschlossen ist leer), die dieser Mitarbeiter noch hat, nicht zur Auswahl im Kombifeld angezeigt werden.

    Vielen Dank!

    Datenbank bei google drive: https://drive.google.com/open?id=18j...CkWUH7DdsRO5nM
     
    dermobb, 29. Mai 2020
    #9
  10. Hallo Nils,
    Ohne die DB gesehen zu haben, daher Luftcode
    1. ergänze die WHERE-Bedingung
    Code:
    2. ergänze die WHERE-Bedingung
    Code:
    (Aliase: U = tbl_untersuchungen, T = tbl_Termine)
    Falls du nicht klarkommst, poste die SQL-Strings der Kombi-DSHerkunft.
    gruss ekkehard
     
    Beaker s.a., 30. Mai 2020
    #10
  11. Ich befürchte, ich muss auf dein freundliches Angebot zurückkommen. *rolleyes.gif*

    1) Ich bekomme es nicht ohne Syntaxfehler hin. Zudem: Wo soll EineNummer herkommen?

    Hier der Code für die bisherige Datensatzherkunft:
    Code:
    2) In der Tabelle werden die abgeschlossenen Termine gespeichert. Sobald ein oder mehrere Termine für eine Untersuchung eines Mitarbeiters abgeschlossen sind (was der Normalfall ist, wenn die Datenbank wächst), wird mit deinem Vorschlag die Liste des Kombifelds nicht mehr eingeschränkt für diese Untersuchung. Sobald ein einziger Termin offen ist, soll jedoch die Auswahl eingeschränkt werden, auch wenn es vom gleichen Untersuchungstyp abgeschlossene Termine gibt (für diesen Mitarbeiter). Deine Lösung bringt mich näher, ist aber leider noch nicht die richtige. Ich vermute ebenfalls eine Lösung mit NOT EXISTS???

    Hier der Code bis jetzt:
    Code:
    Vielen Dank!
     
    dermobb, 1. Juni 2020
    #11
Thema:

Liste im Kombifeld durch Tabellenbeziehungen einschränken?

Die Seite wird geladen...
  1. Liste im Kombifeld durch Tabellenbeziehungen einschränken? - Similar Threads - Liste Kombifeld Tabellenbeziehungen

  2. Drop Down Listen automatisch anpassen

    in Microsoft Excel Hilfe
    Drop Down Listen automatisch anpassen: Hallo Liebe Community, ich bin neu hier, deshalb verzeiht mir wenn ich eine Frage stelle, die früher vielleicht schon einmal beantwortet wurde. Einige Beiträge habe ich mir angeschaut, aber die...
  3. Excel: Liste bei erfüllter Bedingung ausgeben

    in Microsoft Excel Hilfe
    Excel: Liste bei erfüllter Bedingung ausgeben: Hallo zusammen, ich brauche mal eure Hilfe. Ich weiß nicht, wie ich das machen soll. Ich habe eine Liste, in der ich von bestimmten Ansprechpartnern die jeweiligen Kompetenzen angegeben habe....
  4. Spalten in der Liste hinzufügen

    in Microsoft Teams Hilfe
    Spalten in der Liste hinzufügen: Ich würde gerne in dieser Tabelle eine Spalte hinzufügen: [ATTACH] Neben Aufgabentitel, Zugewiesen an, Priorität und Bucket soll eine weitere Spalte eingefügt werden. Ist dies möglich?
  5. Jede Kalenderwoche andere Namen von einer Liste?

    in Microsoft Excel Hilfe
    Jede Kalenderwoche andere Namen von einer Liste?: Hello, ich bräuchte eine Excel Datei, in der mir jedes Jahr alle Kalenderwochen angezeigt werden und pro Kalenderwoche sollte Excel aus einem zweiten Sheet mit einer Namensliste, jede Woche 5...
  6. Listen die die Werte übergeben sollen

    in Microsoft Excel Hilfe
    Listen die die Werte übergeben sollen: Hallo, ich habe in Excel 2016 eine Tabelle erstellt. Aus einen zweiten Tabelle soll dann ein 2 stelliger Batch code aus einer Liste übernommen werden. >>Die Liste hat 2 Spalten in der ersten...
  7. MS Lists

    in Sonstiges
    MS Lists: Hallo zusammen, eventuell hat jemand bereits etwas ähnliches gesehen oder kann mir paar Tips zur Umsetzung geben? Integriert in MSTeams soll der Weg eines/mehrerer Produkte nachverfolgt werden...
  8. Neue Liste aus ungenauer Suche in Matrix

    in Microsoft Excel Hilfe
    Neue Liste aus ungenauer Suche in Matrix: Ich versuche schon länger aus einer Tabelle mit Daten eine neue Liste herauszufiltern mit den Einträgen, die meiner "ungenauen" Suche entsprechen. Im Beispiel Sheet würde ich gerne nach...
  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