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. 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...
  3. Liste nach Datum filtern zerstört auflistung

    in Microsoft Excel Hilfe
    Liste nach Datum filtern zerstört auflistung: Guten Tag, Wir haben eine Liste welche alle Bestellungen beinhaltet. Ich hätte diese Liste gerne auf einem zweiten Blatt gefiltert das nur diesen Monat anzeigt. Leider stimmt dann aber die...
  4. Access Formular aktualisieren durch Dropdown-Liste

    in Microsoft Access Hilfe
    Access Formular aktualisieren durch Dropdown-Liste: Hallo, ich bin ein absoluter Neuling in Access, und bin gerade dabei aus dienstlichen Gründen ein Nachschlagewerk in Access zu erstellen. Ziel des im Screenshot angehängten Formulars soll es...
  5. Text Liste sortieren

    in Microsoft Excel Hilfe
    Text Liste sortieren: Hallo, ich bräuchte dringend eure Hilfe. Ich möchte gerne meine Video-Bibliothek so um ändern das diese für Kodi geeignet ist. Ich habe dafür schon eine passende Excel Tabelle erstellt. Jedoch...
  6. Excel: Namen aus Liste in Tabellenblätter Gruppieren

    in Microsoft Excel Hilfe
    Excel: Namen aus Liste in Tabellenblätter Gruppieren: Guten Tag Ich erhalte jede Woche eine Excel Namensliste mit Projektarbeitsstunden. Ich habe 4 Arbeitsblätter erstellt (Gruppe 1 - 4). Bolti: Gruppe 4 Escher: Gruppe 3 Fassers: Gruppe 1...
  7. Daten aus Datenbank mit einer Liste abgleichen

    in Microsoft Excel Hilfe
    Daten aus Datenbank mit einer Liste abgleichen: Hallo, bin noch Excelneuling und bräuchte mal Hilfe. Bin dabei für die Firma was zu basteln. Eine Art Erlaubnisschein für Fremdfirmen. Bin schon so weit das die Erlaubnisscheine in eine...
  8. Liste der Permutationen (ohne VBA)

    in Microsoft Excel Tutorials
    Liste der Permutationen (ohne VBA): Inhalt 1. Vorgeschichte mit elaborierter Excelformeln.de-Lösung 2. Schnell und schmutzig mit ARRAY.SHAKE (LAMBDA-Fkt. ab Excel 365) __________ 1. Vorgeschichte mit elaborierter...
  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