Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: gromax am Mai 05, 2016, 23:15:38

Titel: Tabellenbeziehung
Beitrag von: gromax am Mai 05, 2016, 23:15:38
Liebe Access-Profis,

ich habe bei einer DB folgendes Problem:
Zwischen den Tabellen tbl_EINRICHTUNGEN und tbl_SCHULEN besteht eine Beziehung gemäß Verknüpfungstyp 2 ("Beinhaltet ALLE Datensätze aus 'tbl_EINRICHTUNGEN' und nur die Datensätze aus 'tbl_SCHULEN', bei denen die Inhalte der verknüpften Felder beider Tabellen gleich").
Nun gebe ich über ein Formular in der tbl_EINRICHTUNGEN eine neue Schule ein und diese Schule wird in der Tabelle tbl_SCHULEN nicht angezeigt. Dieses habe ich mehrfach versucht: Schule gelöscht und wieder neu eingegeben - die neue Schule wird nicht in der tbl_SCHULEN angezeigt.
Wo liegt denn mein Denkfehler?

Für eine Hilfe bin ich sehr dankbar!

Viele Grüße
gromax
Titel: Re: Tabellenbeziehung
Beitrag von: DF6GL am Mai 06, 2016, 09:42:06
Hallo,

ZitatNun gebe ich über ein Formular in der tbl_EINRICHTUNGEN eine neue Schule ein und diese Schule wird in der Tabelle tbl_SCHULEN nicht angezeigt.


Wie gibst Du denn da die neue Schule ein?  Und wie sollte dadurch die Schule in tbl_Schulen hinein kommen? 


Wie ist das "ein Formular" aufgebaut?


Warum benötigst Du überhaupt Left/Right-Joins?


PS:  die ganze (rot umrahmte) Beziehungskonstellation versteh ich nicht so recht..

IMHO sind Schularten einer Schule zuzuordnen und EinKategorien einer Einrichtung.....
Titel: Re: Tabellenbeziehung
Beitrag von: MaggieMay am Mai 06, 2016, 10:41:33
Hallo,
ZitatNun gebe ich über ein Formular in der tbl_EINRICHTUNGEN eine neue Schule ein
die Schule hat aber in der Einrichtung nichts verloren, sondern umgekehrt, in der tbl_Schulen gibt es einen Fremdschlüssel auf die Einrichtung. Du weist also der Schule die Einrichtung zu und nicht umgekehrt. In der tbl_Einrichtung kannst du also gar keine Schule eingeben.
Titel: Re: Tabellenbeziehung
Beitrag von: gromax am Mai 07, 2016, 21:55:29
Hallo Franz, hallo MaggieMay,
wieder mal Dank für Eure Rückmeldung.
Zur Genesis des Problems:
-   Vormals hatte ich die DB mit den Tabellen und entsprechenden Beziehungen ohne die Tabelle tbl_SCHULEN; da hatte ich die tbl_EINRICHTUNGEN und darin waren alle Kindergärten und Schulen aufgeführt (vgl. SoS_TabellenBeziehung_alt.jpg)
-   Kollegen baten mich, dass zu den jeweiligen Sonderschulen (SBBZ) auch Kategorien der Förderschwerpunkte (Geistige Behinderung 'Abt. G' – Lernbehinderung 'Abt. L' – Körperbehinderung 'Abt. K' ...) hinzugefügt werden sollten; es sollte aber eine Schule mit sog. Fachbereichen bleiben.
-   So generierte ich die Tabelle tbl_SCHULEN mit den Schulnamen und den Unterkategorien (tbl_EINKATEGORIEN) der Behinderungen (vgl. SoS_TabellenBeziehung_neu.jpg).
Warum habe ich diese Unterkategorien (tbl_EINKATEGORIEN) nicht an die tbl_EINRICHTUNGEN angehängt?
-   Ich benötige in Listenfeldern den Schulnamen mit den Förderschwerpunkten (Listenfeld 1) und in anderen Listenfeldern diesen eben ohne Förderschwerpunkte (Listenfeld 2).
Listenfeld 1                                                              Listenfeld 2
Angen SBBZ                             Abt. G                       Angen SBBZ
Angen SBBZ                             Abt. K                       Angen GHS Kindlein
Angen GHS Kindlein                                                  Angen GWRS Projekt
Angen GWRS Projekt                                                Angen RS Hardenburg
Angen RS Hardenburg                                              Angen SoS G Birgenthal
Angen SoS G Birgenthal           Abt. K                        Angen WRS Kolping
Angen SoS G Birgenthal           Abt. L                        Bingenburg FöS Am Berg
Angen WRS Kolping            
Bingenburg FöS Am Berg          Abt. L

Wenn ich die Förderschwerpunkte an die tbl_EINRICHTUNGEN anhänge, dann bekomme ich denselben Schulnahmen entsprechend der Anzahl der Förderschwerpunkte mehrfach genannt (*) und das soll natürlich nicht sein.

Listenfeld 3
Angen SBBZ*         
Angen SBBZ*         
Angen GHS Kindlein                
Angen GWRS Projekt               
Angen RS Hardenburg               
Angen SoS G Birgenthal*               
Angen SoS G Birgenthal*            
Angen WRS Kolping            
Bingenburg FöS Am Berg

-   Da ich die DB mit Backend/Frontend im Gebrauch habe, musste ich im laufenden Betrieb die Backend erweitern und habe natürlich (!?) die Fremdschlüssel EIN_FS in die tbl_SCHULEN reinkopiert und die Kategorien über das Formular zugeordnet (vgl. DB-Datei).
Jetzt wäre mir natürlich geholfen, wenn ich die DB trotz ,,unverständlicher Beziehungskonstellation" reparieren bzw. weiterverwenden könnte.
Oder muss ich die Sache wieder neu aufbauen?

Viele Grüße
gromax

p.s.: Die Schulnamen und alle hinterlegten Daten sind fiktiv.
Titel: Re: Tabellenbeziehung
Beitrag von: MaggieMay am Mai 08, 2016, 01:48:08
Hallo,

ZitatWenn ich die Förderschwerpunkte an die tbl_EINRICHTUNGEN anhänge, dann bekomme ich denselben Schulnahmen entsprechend der Anzahl der Förderschwerpunkte mehrfach genannt

das sollte sich verhindern lassen. Zeig doch bitte den SQL-Code der Abfrage dazu.

Des weiteren sollte vielleicht die Beziehung zwischen "Einrichtung" und "Schule" genauer erklärt werden, damit auch Außenstehende verstehen worum es dir geht.
Titel: Re: Tabellenbeziehung
Beitrag von: gromax am Mai 08, 2016, 11:35:20
Hallo MaggieMay,

danke für die Nachfrage.

Zur Beziehung der beiden Tabellen tbl_EINRICHTUNGEN und tbl_SCHULEN kann ich ergänzend nur noch anführen, dass in EINRICHTUNGEN vorab alle Schulen und Schulkindergärten aufgenommen wurden, in die die Kinder gehen.
Nachdem die Kollegen nun nach der Spezifikation gefragt haben, wonach die Förder- und Sonderschulen sogenannte Unterabteilungen haben, wollte ich diese Unterabteilungen an die EINRICHTUNGEN mit 1:n anbinden.
Dies hatte die Auswirkung, dass die Schule nun mehrfach genannt wurde, also habe ich den Gedanken verworfen und mir überlegt, dass ich in einer neuen Tabelle SCHULEN alle Schulen darstelle, in der diese Mehrfachnennung dann auftauchen darf; in den EINRICHTUNGEN habe ich alle Schulen mit nur einem Datensatz.
Jetzt kann ich z.B. in Listenfeldern auf EINSTELLUNGEN zugreifen, wenn ich die Auflistung der Schulen ohne Unterkategorien benötige (vgl. Listenfeld01.jpg); auf SCHULEN greife ich zu, wenn ich die Mehrfachnennungen (vgl. Listenfeld02.jpg) benötige.

Wenn Du den SQL-Code zur Anbindung von tbl_EINKATEGORIEN an die Tabelle tbl_EINRICHTUNGEN nachfragst, dann kann ich diesen nicht mehr liefern, weil ich diese Idee ja verworfen habe; da müsste ich die DB zurückbauen - das wäre eine Menge Arbeit. Diesen Weg gehe ich natürlich, wenn dies der einzige sein sollte; wenn es jedoch eine Möglichkeit gäbe, trotz der vielleicht "unverständlichen Konstellation" die Funktionalität herzustellen, die ich mir wünsche, nämlich die Eingabe neuer Schulen mittels des Formulars 'frm_EINRICHTUNGEN' und der gleichzeitigen Abbildung in tbl_SCHULEN, wäre ich natürlich sehr dankbar.

Viele Grüße
gromax
Titel: Re: Tabellenbeziehung
Beitrag von: Beaker s.a. am Mai 08, 2016, 21:43:00
Hallo Gromax,
Zitatwonach die Förder- und Sonderschulen sogenannte Unterabteilungen haben, wollte ich diese Unterabteilungen an die EINRICHTUNGEN mit 1:n anbinden.
Warum? Das ist doch eine Eigenschaft der Schule, nicht der Einrichtung.
Und da mehrere Schulen (aber nicht alle) mehrere Kategorien haben
können, gehört diese Beziehung IMO in eine Zwischentabelle (n:m).

gruss von ekkehard aus dem sonnigen London.

P.S.: Anmerkung zur tbl_Schueler:
Wenn die mehrere Adressen haben können gehören die ausgelagert in
eine entsprechende Tabelle (tbl_Adressen). Ausserdem solltest du das
Nachschlagefeld Sus_Ablage entfernen, und auch dazu eine Extratabelle
anlegen (Auswahl dann über Kombi im Formular).
Titel: Re: Tabellenbeziehung
Beitrag von: gromax am Mai 09, 2016, 19:31:28
Hallo Ekkehard,

vielen Dank für Deine Rückmeldung; aber lass Dich bitte nicht von den Namen (SCHULEN od. EINRICHTUNGEN) leiten; eigentlich ist die Tabelle EINRICHTUNGEN die erstrangige und die Tabelle SCHULEN die zweitrangige - EINRICHTUNGEN deshalb, weil darin auch Kindergärten abgelegt sind. Die Tabelle SCHULEN bekommt deshalb die nachgeordnete Tabelle EINKATEGORIEN, weil diese bei der Anbindung an die ursprüngliche Tabelle EINRICHTUNGEN darin die mehrfache Nennung in der Spalte 'Ein_NameOrt' zur Folge hätte (vgl. Mail von gestern) und die wollte ich dort doch nicht haben - wohl aber bei der Tabelle SCHULEN.

Danke trotzden!

Der Hinweis bzgl. SuS_Ablage ist korrekt; dieses Feld kann ich komplett weglassen, ich brauche es nicht mal auslagern, weil ich es zur Gänze nicht mehr brauche.

Vielen Dank!

Alles Gute
gromax
Titel: Re: Tabellenbeziehung
Beitrag von: Beaker s.a. am Mai 09, 2016, 22:51:52
Hallo Gromax,
Würde gerne noch was dazu schreiben, bekomme es aber hier gerade
nicht auf die Reihe.
Würde mir aber , wenn ich wieder zu Hause bin, und in der Zwischenzeit
sich kein anderer Regular damit beschäftigt, nochmal darüber Gedanken
machen. Ich denke da liegt im Datenmodell noch einiges im Argen.
gruss ekkehard
Titel: Re: Tabellenbeziehung
Beitrag von: gromax am Mai 10, 2016, 05:46:39
Hallo Ekkehard,

danke vorab!
Mach Dir keinen Stress - es geht, wenn es geht!

Viele Grüße
gromax