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. Pivot Gruppe basierend auf Liste

    in Microsoft Excel Hilfe
    Pivot Gruppe basierend auf Liste: Hallo. Ist es möglich eine Gruppierung in einer Pivot-Tabelle nicht manuell sondern basierend auf einer hinterlegten Liste zu erstellen? Zur Erklärung: ich habe einen Kundenstamm A und einen B...
  3. zu jedem Eintrag einer drop & down Liste ein bestimmter Betrag in der Nebenspalte

    in Microsoft Excel Hilfe
    zu jedem Eintrag einer drop & down Liste ein bestimmter Betrag in der Nebenspalte: Hallo Zusammen, ich bräuchte bitte Hilfe, steh total an und finde keine Lösung.... ich habe eine kleine einfache drop & down Liste mit 4 Einträgen, je nachdem welchen Eintrag man auswählt, soll in...
  4. Benutzerdefiniertes Sortieren nach eigener Liste funktioniert nicht

    in Microsoft Excel Hilfe
    Benutzerdefiniertes Sortieren nach eigener Liste funktioniert nicht: Hallo zusammen, ich erstelle eine etymologische Datenbank zu einer Sprachgruppe in Nigeria. Die Spalte "SORTIEREN" soll dabei nach dem unten angegebenen Muster benutzerdefiniert sortiert werden....
  5. Wert einer Zelle neben einer anderen Zelle automatisch anzeigen

    in Microsoft Excel Hilfe
    Wert einer Zelle neben einer anderen Zelle automatisch anzeigen: Hallo! Ich stehe vor einer Herausforderung und hoffe auf deine Unterstützung: Mein Excel-Problem sieht folgendermaßen aus: In meiner Datei habe ich zwei Registerkarten, R1 und R2. Auf R1...
  6. Geburtstag Liste

    in Microsoft Excel Hilfe
    Geburtstag Liste: Ich habe eine Tabelle wo die Geburtstage drin stehen Dann möchte ich mir die top 5 der nächsten Geburtstage anzeigen lassen das klappt auch alles gut nur wenn 2 Leute am selben Tag Geburtstag...
  7. Sortierung einer "Basisliste" und drei neue Listen erstellen

    in Microsoft Excel Hilfe
    Sortierung einer "Basisliste" und drei neue Listen erstellen: Liebe Forenmitglieder, ich brauche Eure Unterstützung. Vorweg - ich nutze Office 365. Leider habe ich auch mit Google nicht die passende Lösung gefunden. Ich habe eine Liste mit vielen...
  8. Liste aus verschiedenen Listen ohne Duplikate

    in Microsoft Excel Hilfe
    Liste aus verschiedenen Listen ohne Duplikate: Hallo zusammen, ich habe eine Datei in der mehrere Listen mit Produktnamen vorhanden sind. Ich möchte diese Listen in einer Übersichtsliste ohne Duplikate zusammenfassen. Um es besser zu...
  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