Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: KaffeeBereiter am Januar 21, 2025, 10:08:57

Titel: m:n Beziehung
Beitrag von: KaffeeBereiter am Januar 21, 2025, 10:08:57
Hallo zusammen,

in Access bin ich noch ein kompletter Anfänger, habe mir zu dem Thema in der vergangenen Woche versucht über Google und YouTube was beizubringen, doch der Feinschliff in meiner Datenbank fehlt mir noch. Die m:n Beziehung und wie ich das in einem Formular ausgebe. Leider sind Forenbeiträge oft mit Abkürzungen und Fachbegriffen übersäht, dass ich erst einmal die Googeln muss ums zu verstehen. Wo bei der Suche der Fachbegriffe ich auf andere stoße, das ist ein Teufelskreis.  :'(

Database6 v4.zip
Jetzt aber mal zu dem was ich machen möchte:
Ich möchte eine Datenbank erstellen in der ich jedem Mitarbeiter zuordnen kann wann er/sie welche Unterweisung erhalten hat. Doch scheitert es bei mir an den Beziehungen (glaube ich jedenfalls).
Was ich bereits habe:
(das mit den Umlauten muss ich noch korrigieren)

Bislang habe ich versucht:
Den Datensatz Mitarbeiter.MID als Primärschlüssel mit dem Datensatz Zusammenführung.MID und entsprechend den Datensatz Unterweisung.UID als Primärschlüssel mit dem Datensatz Zusammenführung.UID in Beziehung zu setzen.
Ebenfalls habe ich versucht die Datensätze Zusammenführung.MID und Zusammenführung.UID zusätzlich als Primärschlüssel zu setzen, was aber auch nicht geholfen hat.

Meine Probleme:


Über Hilfe würde ich mich sehr freuen.
Grüße
Lucas
Titel: Re: m:n Beziehung
Beitrag von: MzKlMu am Januar 21, 2025, 12:05:43
Hallo,
da gibt es jede Menge Fehler.
- Grundsätzlich ist referentielle Integrität in den Beziehungen einzustellen
- Du verwendest MID in der Zusammenführung die es gar nicht gibt
- ebenso bei der UID
- Verknüpfung von Hafo und Ufo erfolgt über die Schlüsselfelder, nicht über den Nachnamen. Beim 2.Müller hättest Du ein Problem.
- Das Kombi im Ufo braucht 2 Spalten und hat als Steuerelementinhat natürlich die UID_F
- Die Spalte 1 mit der UID_F wird mit 0cm ausgeblendet, dadurch wird die Bezeichnung der Unterw. angezeigt.
- Der Bericht mit den Formularen ist Unsinn, ein Bericht ist ein eigenständiges Objekt, das mit Formularen nichts zu hat. Auch ein Bericht muss wie ein Formular entworfen und gestaltet werden, vollkommen unabhängig von Formularen.

Anbei die geänderte Version.
Bitte alles verstehen und bei Bedarf nachfragen.
Titel: Re: m:n Beziehung
Beitrag von: KaffeeBereiter am Januar 21, 2025, 12:47:07
Vielen Dank erstmal für die schnelle Antwort.


Soweit ich konnte habe ich die Änderungen versucht umzusetzen. Jetzt haben einige Felder in meinem Formular eine grüne Ecke oben links und ich kann keine Unterweisungsbezeichnungen mehr auswählen  :-\
Titel: Re: m:n Beziehung
Beitrag von: MzKlMu am Januar 21, 2025, 14:40:10
Hallo,
ZitatMit Hafo und Ufo sind Haupt- und Unterformular gemeint, oder?
Ja, so ist es.
ZitatMit zwei Spalten meinst du die Abfrage hinter der Eigenschaft "Datensatzherkunft"?
Nein, 2 Spalten sind die Eigenschft des Kombifeldes zur Auswahl der Unterweisung im Ufo. Und dort gibt es auch die Eigenschaft "Spaltenbreiten". Dort steht dann 0cm;5cm
Berichte werden zum Drucken verwendet.
Lade die DB erneut hoch. Aber mit neuer Versionsnummer (v7).
Titel: Re: m:n Beziehung
Beitrag von: KaffeeBereiter am Januar 22, 2025, 07:44:48
Sorry, konnte Gestern nicht mehr Antworten.
Das mit den zwei Spalten habe ich jetzt Gefunden und die Spaltenbreite eingestellt :)
Leider sind immer noch die grünen Ecken da und ich kann nichts auswählen :/
Hier die Datenbank noch mal: Database6 v7.zip
Titel: Re: m:n Beziehung
Beitrag von: MzKlMu am Januar 22, 2025, 09:19:09
Hallo,
Du hast da jede Menge grober Fehler.

- Das Hafo braucht die Mitarbeitertabelle als Datenquelle
- Das Ufo muss die Zusammenführungstabelle als Datenquelle haben.
- Du hast die Schlüsselfelder verwechselt. Um das zu erkennen, hänge ich an die Fremdschlüsselfelder ein _F an. Hast Du nicht gemacht
- Das Kombi zur Auswahl der Unterweisung hat die falsche Spaltenreihenfolge
- Der Bericht ist so unbrauchbar, den habe ich gelöscht.

Das sind alles Fehler, die Du bei sorfältigem Verleich mit meiner DB in #1 hättest erkennen müss

Hier noch ein Link für ein Tutorial.

https://www.access-tutorial.de/
Titel: Re: m:n Beziehung
Beitrag von: KaffeeBereiter am Januar 22, 2025, 11:02:54
Komisch, nachdem ich die ersten zwei Punkte von deiner Liste abgearbeitet habe (Hafo mit Herkunftsobjekt tblMitarbeiter und Ufo mit Datensatzquelle tblZusammenführung), werden mir im Hauptformular die Datensätze der Mitarbeiter angezeigt und nicht mehr die Unterweisungsbezeichnungen
Links Meine - Rechts Deine
v7.PNG
Die Schlüsselfelder UID und MID habe ich in der Tabelle Zusammenführung jetzt mit einem "_F" erweitert. Aber wo ich die verwechselt haben soll weiß ich nicht. In der Abfrage, dem Ufo und dem Hafo sind die alle gleich wie in deiner Version.
Titel: Re: m:n Beziehung
Beitrag von: MzKlMu am Januar 22, 2025, 12:11:23
Hallo,
Zitatwerden mir im Hauptformular die Datensätze der Mitarbeiter angezeigt und nicht mehr die Unterweisungsbezeichnungen
Das ist ja auch richtig so, im Hafo haben die Unterweisungsbezeichnungen nichts zu suchen. Alles was mit Unterweisung zu tun hat, kommt nur in das Ufo. Und in das Ufo kommen keine Daten der mitarbeiter.

Daten der Mitarbeiter. Ich kann im Moment nicht nachvollziehen was Du da machst, Du musst doch nur Abkucken, meine Version funktioniert ja.
ZitatHafo mit Herkunftsobjekt tblMitarbeiter und Ufo mit Datensatzquelle tblZusammenführung),
Das ist richtig, hast Du aber nicht gemacht, sonst wäre in Deiner Version (linkes Bild) keine Mitarbeiterdaten im Ufo.

ZitatAber wo ich die verwechselt haben soll weiß ich
Bei verknüpfen von/nach hast Du die verwechelt.Außerdem auch die Spaltenreihenfolge vertauscht.

Lade die DB noch mal hoch.
Titel: Re: m:n Beziehung
Beitrag von: KaffeeBereiter am Januar 22, 2025, 15:37:07
Hier die DB Database6 v9_Hochlad.zip

Nach einigem Suchen hab ich jetzt auch die Verknüpfung "Von/Nach" im Eigenschaftenfeld des Hafo gefunden. Jedoch kann ich da nicht auswählen was du in deiner Version ausgewählt hast.
Bei dir steht drin: "'tblZusammenführung' für jeden Datensatz in 'abfUnterweisung' mit 'MID_F' anzeigen"
Bei mir steht drin: "'tblMitarbeiter' für jeden Datensatz in 'abfUnterweisung' mit 'MID_F' anzeigen"
Titel: Re: m:n Beziehung
Beitrag von: MzKlMu am Januar 22, 2025, 16:29:58
Hallo,
Du hast immer noch ganz grobe Fehler drin, die bei sorgfältigem Vergleich mit meinen Versionen auffallen müssten.
Die Datensatzquelle für das Hafo ist falsch, das muss wie bereits gesagt die Mitarbeitertabelle sein und nicht die Abfrage abfUnterweisung. Diese Abfrage kannst Du dann löschen wenn die Mitarbeitertabelle verwendet wird.

ZitatBei mir steht drin: "'tblMitarbeiter' für jeden Datensatz in 'abfUnterweisung' mit 'MID_F' anzeigen"
Kein Wunder, das Herkunftsobjekt des Ufos ist ja auch falsch, das muss das Formular abfUnterweisung-Unterformular sein, Du hast da die Tabelle direkt drin stehen.

Ich würde Dir dringend raten, Dir die Grundlagen zu erarbeiten, sonst wird das nichts. Hast Du Dir das Tutorial mal angesehen?

Angepasste DB anbei.

Nebenbei:
In der Entwicklungsphase einer DB ist regelmäßig das Access Tool "Komprimieren/reparieren" zu benutzen. Erst dann werden gelöschte Objekte und Daten wirklich aus der DB entfernt. Erst dann zippen und hier hochladen.

Du hast 240 KB hochgeladen, bei mir sind es gerade mal 38 KB.