Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: gromax am Mai 14, 2015, 17:13:53

Titel: Mehrwertiges Feld im Bericht
Beitrag von: gromax am Mai 14, 2015, 17:13:53
Liebe Access-Profis,

in meiner DB habe ich zur Verwaltung von Schülern mit Behinderungen bei den Behinderungsarten ein mehrwertiges Feld [SOP_MFS] eingepflegt. Hier sollen die Anwender bei Mehrfachbehinderungen mehrere Optionen anklicken können. Im Formular klappt die Anzeige der Bezeichnungen [Geistige Behinderung; Körperbehinderung;...] prima und nach entsprechender Option wird das auch korrekt gespeichert. In der entsprechenden Abfrage als Grundlage für einen Bericht funktioniert auch die Anzeige der Kurzbezeichnungen [GBP; KBP;...]; im Bericht selbst werden aber die ID-Nummern der Behinderungsarten [1;2;...] statt der entsprechenden Kurz-Bezeichnungen (GBP;HBP;...) ausgewiesen.
Wie kann ich dies denn korrigieren?

Für Eure Hilfe bedanke ich mich vorab!

Viele Grüße
gromax
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: MaggieMay am Mai 14, 2015, 17:25:09
Hallo,

nimm die Tabelle mit den Kurztexten mit in die Abfrage hinein.
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: gromax am Mai 15, 2015, 00:48:39
Hallo MaggieMay,

das habe ich getan, es hat aber keinen Einfluss auf die Darstellung des Feldes im Bericht. Dort werden die beiden richtigen ID-Nummern durch Strichpunkt getrennt angezeigt und eben nicht die passenden Kurzbezeichnungen?!

Was mache ich dabei falsch?

Viele Grüße
gromax
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: MzKlMu am Mai 15, 2015, 08:36:59
Hallo,
ZitatWas mache ich dabei falsch?
das Mhrwertige Feld ist bereits vom Grundsatz her der falsche Weg. Solche Felder verhindern den sauberen Aufbau einer DB. Ein klassischer Aufbau mit 3 Tabellen (n:m Beziehung) wäre der bessere Weg. Es ist ziemlich aufwendig aus den Mehrwertfeldern den passenden Text zu ermitteln, eine Lösung dazu habe ich nicht parat.

Ich würde die DB umstrukturieren. In allen Foren wird eindringlich von Mehrwertfeldern (und Nachschlagefeldern) abgeraten.
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: MaggieMay am Mai 15, 2015, 10:25:25
Hallo,
ZitatWas mache ich dabei falsch?
zeig doch bitte mal den SQL-Code der Abfrage.

BTW:
Zitatdas Mhrwertige Feld ist bereits vom Grundsatz her der falsche Weg.
Ich hatte es für falsch, die neuen Features von Access grundsätzlich zu verteufeln, man muss nur lernen, richtig damit umzugehen. Intern wird es vermutlich nicht viel anders als bisher umgesetzt, nur die Bedienung ist leichter geworden. Warum also sollte man sich das nicht zu nutze machen?

Und was das betrifft:
ZitatIn allen Foren wird eindringlich von Mehrwertfeldern (und Nachschlagefeldern) abgeraten.
das sind doch ehrlich gesagt immer dieselben Leute. ;-)

Dies hier ist lediglich meine persönliche, unqualifizierte Meinung und sollte nicht als Anlass für Grundsatzdiskussionen gesehen werden.
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: gromax am Mai 15, 2015, 18:37:15
Hallo MaggieMay,

anbei mein SQL_Code der Abfrage, in der die Bezeichnungen in einem Feld in Kurzform korrekt angezeigt werden:

SELECT tbl_BEARBEITUNG_SCH_VER.EIN_FS, tbl_BEARBEITUNG_SCH_VER.UMS_FS, tbl_SONDERPAEDAGOGIK.SOP_PS, tbl_BEARBEITUNG_SCH_VER.BEA_BescheidDatum, tbl_BEARBEITUNG_SCH_VER.BEA_SchjBeginn, tbl_BEARBEITUNG_SCH_VER.VER_FS, tbl_EINRICHTUNGEN.EIN_Name, tbl_EINRICHTUNGEN.EIN_Straße, tbl_EINRICHTUNGEN.EIN_PLZ, tbl_EINRICHTUNGEN.EIN_Ort, tbl_EINRICHTUNGEN.EIN_Telefon1, tbl_EINRICHTUNGEN.EIN_Mail, tbl_EINRICHTUNGEN.EIN_Leitung, tbl_VERWALTUNGEN.VER_Name, tbl_SCHUELER.SuS_Name, tbl_UMSETZUNGEN.UMS_Art_lang, tbl_SCHUELER.SuS_VaterNameGanz, tbl_SCHUELER.SuS_MutterNameGanz, tbl_SCHUELER.SuS_GebDat, tbl_SCHUELER.SuS_Erstkontakt, tbl_SCHUELER.SuS_Straße, tbl_SCHUELER.SuS_PLZ, tbl_SCHUELER.SUS_Wohnort, tbl_SCHUELER.SuS_Tel1, tbl_SCHUELER.SuS_Tel2, tbl_BEARBEITUNG_SCH_VER.BEA_Schulbegleitung, tbl_SCHUELER.NAT_FS, tbl_BEARBEITUNG_SCH_VER.SOP_MFS, tbl_SONDERPAEDAGOGIK.[SOP_Feststellung (lang)], tbl_SONDERPAEDAGOGIK.[SOP_Feststellung (kurz)]
FROM tbl_VERWALTUNGEN INNER JOIN (tbl_UMSETZUNGEN INNER JOIN (tbl_SONDERPAEDAGOGIK INNER JOIN (tbl_SCHUELER INNER JOIN (tbl_EINRICHTUNGEN INNER JOIN tbl_BEARBEITUNG_SCH_VER ON tbl_EINRICHTUNGEN.EIN_PS = tbl_BEARBEITUNG_SCH_VER.EIN_FS) ON tbl_SCHUELER.SuS_PS = tbl_BEARBEITUNG_SCH_VER.SuS_FS) ON tbl_SONDERPAEDAGOGIK.SOP_PS = tbl_BEARBEITUNG_SCH_VER.SOP_FS) ON tbl_UMSETZUNGEN.UMS_PS = tbl_BEARBEITUNG_SCH_VER.UMS_FS) ON tbl_VERWALTUNGEN.VER_PS = tbl_BEARBEITUNG_SCH_VER.VER_FS;



Viele Grüße
gromax
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: MaggieMay am Mai 15, 2015, 18:43:45
Hi,

die Abfrage ist nicht gerade "übersichtlich", da solltest du bitte noch die Feld- und Tabellennamen dazu nennen, um die es geht.

Ich schätze, die Tabelle die dem Mehrwert-Nachschlagefeld zugrunde liegt ist hier immer noch nicht dabei, oder?
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: gromax am Mai 15, 2015, 19:12:16
Hallo MaggieMay,

ich wusste dass Du die Übersichtlichkeit der Abfrage monierst - aber habe Nachsicht!

Die Stammdaten-Tabelle zu den Behinderungsarten heißt tbl_SONDERPAEDAGOGIK hat die Feldnamen [SOP_PS], [SOP_Feststellung (lang)] und [SOP_Feststellung (kurz)].
Diese Tabelle ist mit der Tabelle tbl_BEARBEITUNG_SCH_VER über die Beziehung [SOP_PS]-[SOP_MFS] verbunden; das Feld [SOP_MFS] ist das Fremdschlüsselfeld in der tbl_BEARBEITUNG_SCH_VER und zugleich auch das mehrwertige Feld. Diese Tabelle ist eine m:n-Tabelle, an der auch die tbl_SCHUELER angebunden ist.

Das mehrwertige Feld ist also das Feld [SOP_MFS] und war in der obigen Abfrage bzw. im SQL-Code bereits enthalten.

Gruß
gromax
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: MaggieMay am Mai 16, 2015, 00:45:59
ZitatDiese Tabelle ist mit der Tabelle tbl_BEARBEITUNG_SCH_VER über die Beziehung [SOP_PS]-[SOP_MFS] verbunden; das Feld [SOP_MFS] ist das Fremdschlüsselfeld in der tbl_BEARBEITUNG_SCH_VER und zugleich auch das mehrwertige Feld.
Ich kann in der Abfrage keine Verknüpfung mit SOP-MFS entdecken.

Erstelle doch zur Vereinfachung der Angelegenheit einfach mal eine Abfrage, die lediglich auf den beiden Tabellen basiert um die es hier geht und zeige uns den daraus resultierenden SQL-Code.
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: DF6GL am Mai 16, 2015, 08:41:48
Hallo,

ein Screenshot des Beziehungsfensters könnte hilfreich sein.
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: gromax am Mai 16, 2015, 12:48:11
Hallo MaggieMay, hallo Franz,

danke für Eure Unterstützung; anbei habe ich die Dateien eingefügt, die vielleicht weiterhelfen.
Folgend der SQL-Code zur "kleinen" Abfrage:

SELECT tbl_SCHUELER.SuS_Name, tbl_SONDERPAEDAGOGIK.[SOP_Feststellung (kurz)], tbl_BEARBEITUNG_SCH_VER.SOP_MFS
FROM tbl_SONDERPAEDAGOGIK INNER JOIN (tbl_SCHUELER INNER JOIN tbl_BEARBEITUNG_SCH_VER ON tbl_SCHUELER.SuS_PS = tbl_BEARBEITUNG_SCH_VER.SuS_FS) ON tbl_SONDERPAEDAGOGIK.SOP_PS = tbl_BEARBEITUNG_SCH_VER.SOP_FS;


Viele Grüße Euch beiden
gromax
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: DF6GL am Mai 16, 2015, 12:52:25
Hallo,


das Feld "SOP_MFS.Value"  hat ja auch keine Beziehung zu einer anderen Tabelle...

Ist für dieses Mehrwertfeld überhaupt eine Tabelle benutzt worden oder ist das nur eine Wertliste des zugehörenden Listenfeldes ?
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: gromax am Mai 16, 2015, 13:30:39
Hallo Franz,

ist das Feld SOP_MFS.Value nicht das interne, "unsichtbare" Unter-Feld eines mehrwertigen Feldes?
Eigentlich habe ich in der m:n-Tabelle 'tbl_BEARBEITUNG_SCH_VER' das Fremdschlüsselfeld SOP_FS durch ein mehrwertiges Feld SOP_MFS ergänzt, so dass der Anwender jetzt mehr Werte bei Vorliegen einer 'Mehrfach-Behinderung' auswählen kann.

Muss ich denn bei einem mehrwertigen Feld einer Tabelle noch einer weitere Tabelle zur Aufnahme der Optionen erstellen? Wie sollte denn eine solche Tabelle aussehen?

Viele Grüße
gromax
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: DF6GL am Mai 16, 2015, 13:54:08
Hallo,

die weitere Tabelle sieht genau so aus wie alle anderen 1-Tabellen auch:

Primärschlüsselfeld
Eigenschaftenfeld1
Eigenschaftenfeld2
..


Das "Unter-Feld eines mehrwertigen Feldes"  (xxx.Value)  fungiert hier selbst als
"n-Tabelle" (VBA-Objekttyp DAO.Recordset2 ) mit nur dem entspr. Fremdschlüsselwert zwecks  Relation zu einer  1-Tabelle, die hier aber nicht angegeben ist.


Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: gromax am Mai 16, 2015, 14:16:46
Hallo Franz,

sorry - aber das verstehe ich nicht.
Ich habe doch die Schüler in einer Tabelle (tbl_SCHUELER), in einer anderen Tabelle habe ich die sonderpädagogischen Maßnahmen (tbl_SONDERPAEDAGOGIK) und beide treffen sich in der m:n-Tabelle tbl_BEARBEITUNG_SCH_VER. Nun werden in dieser m:n-Tabelle auch in korrekter Weise die Mehrfachbehinderungen im Feld SOP_MFS gespeichert, nämlich 'GBP', 'KBP' für eine zweifache Behinderung wie eine 'Geistige Behinderung' und eine 'Lernbehinderung'.
Was soll ich denn inhaltlich in dieser neuen Tabelle abspeichern? Ich habe gar keine Idee, warum ich das Feld SOP_MFS.Value in eine Relation setzen soll. Mit welchen Inhalten soll dies denn generiert werden?

Schiebe mich bitte in die richtige Spur!

Viele Grüße
gromax
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: DF6GL am Mai 16, 2015, 14:41:38
Hallo,

ZitatIch habe doch die Schüler in einer Tabelle (tbl_SCHUELER), in einer anderen Tabelle habe ich die sonderpädagogischen Maßnahmen (tbl_SONDERPAEDAGOGIK) und beide treffen sich in der m:n-Tabelle tbl_BEARBEITUNG_SCH_VER.

Das ist ja ok und ganz normaler Standard. Hat aber mit SOP_MFS  nichts zu tun.


ZitatNun werden in dieser m:n-Tabelle auch in korrekter Weise die Mehrfachbehinderungen im Feld SOP_MFS gespeichert, nämlich 'GBP', 'KBP' für eine zweifache Behinderung wie eine 'Geistige Behinderung' und eine 'Lernbehinderung'.

Woher kommen denn die Benennungen für die Mehrfachbehinderung ('GBP', 'KBP' )? In welcher Tabelle stehen die?


Möglicherweise:
ZitatDie Stammdaten-Tabelle zu den Behinderungsarten heißt tbl_SONDERPAEDAGOGIK

Warum heißt die nicht sinnvollerweise tbl_Behinderungsarten?



Ich gehe dabei vom ursprünglichen Problem aus:

Zitatim Bericht selbst werden aber die ID-Nummern der Behinderungsarten [1;2;...]


Wenn beim Erstellen des Mehrwertfeldes keine externe Tabelle angegeben wurde, aus der die Daten kommen sollen, sondern nur die Text-Daten in die Liste direkt eingetragen wurden, dann sollten im Bericht keine Zahlen (Fremdschlüsselwerte) auftauchen.


ZitatEigentlich habe ich in der m:n-Tabelle 'tbl_BEARBEITUNG_SCH_VER' das Fremdschlüsselfeld SOP_FS durch ein mehrwertiges Feld SOP_MFS ergänzt
Welchen Steuerelementinhalt hat das  Feld SOP_MFS ?
Sorry , ist quatsch an dieser Stelle...

Ich habe gar keine Idee, warum ich das Feld SOP_MFS.Value in eine Relation setzen soll


Setz das mal mit tbl_SonderPaedagogik.SOP_PS  in Relation.

Zudem solltest Du noch versuchen, im Beziehungsfenster ALLE Tabellen anzuzeigen.
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: gromax am Mai 16, 2015, 15:23:19
Hallo Franz,

Du machst Dir richtig Mühe - vielen Dank dafür!

Folgend versuche ich die aufgeworfenen Fragen zu beantworten:
1. Die Benennungen kommen aus der Tabelle tbl_SONDERPAEDAGOGIK [3 Felder mit Feldnamen: SOP_PS - SOP_Feststellung (lang) - SOP_Feststellung (kurz)]
2. Die Benennung dieser Tabelle habe ich nach den Sonder- und Förderschularten und den dabei hinterlegten Studienrichtungen gewählt; tbl_BEHINDERUNGSARTEN wäre genauso möglich gewesen.
3. Die externe Tabelle des mehrwertigen Feldes, das in der m:n-Tabelle tbl_BEARBEITUNG_SCH_VER eingepflegt wurde, ist die Tabelle tbl_SONDERPAEDAGOGIK  ("Datensatzherkunft").
4. Das ist spannend; das muss ich noch ausprobieren, nicht wissend, in welcher Weise dies auf meine Berichte durchschlägt. Aber dieser Spur gehe ich noch nach!
5. Das Fremdschlüsselfeld SOP_MFS hat sich selbst als Steuereleméntinhalt.
6. Das habe ich schon probiert; das ändert nichts an der Diskrepanz der Darstellung in der Tabelle und Abfrage zu der im Bericht.

Ich tüftle gerade an einem Ansatz, den Du vielleicht noch bewerten könntest:
Kann man denn die korrekte Darstellung in der Tabelle oder in der Abfrage nicht mittels eines Ereignis-Codes per VBA in den Bericht übernehmen? Meine Versuche dazu hatten allerdings noch keine brauchbaren Ergebnisse, aber das ist auch meiner fehlenden VBA-Kompetenz zuzuschreiben.

Viele Grüße an den Bodensee
gromax
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: DF6GL am Mai 16, 2015, 16:34:20
Hi,

6)

Damit meinte ich implizit auch das (nochmalige) Hinzufügen der Pädagogik-Tabelle und ziehen einer Verknüpfungslinie im Abfrageentwurf.
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: gromax am Mai 16, 2015, 19:21:49
Hallo Franz.

das funktioniert nicht; ich erhalte dann die Meldung: "Die Eigenschaftseinstellung kann nicht größer als 2 KB sein!"
Was immer das bedeutet?

Viele Grüße
gromax

Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: DF6GL am Mai 16, 2015, 22:15:07
Hallo,

kannst Du die DB (gezippt und komprimiert/repariert) hier hochladen?
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: MaggieMay am Mai 16, 2015, 22:29:31
Hi,

sofern es immer noch um das Datenfeld SOP-MFS geht, so zeige doch bitte einfach mal was bei den Eigenschaften im Register "Nachschlagen" im Tabellenentwurf dort zu sehen ist.

PS:
Der Screenshot vom Beziehungsfenster ist insofern untauglich, dass die Linien sich teilweise überlagern und die Berziehungen somit nicht eindeutig erkannt werden können.
Offensichtlich ist allerdings, dass es keine Beziehung zum Datenfeld SOP_MFS.Value gibt, was ja bereits bemerkt wurde, wodurch sich bzgl. der notwendigen Erweiterung der Abfrage für uns nichts ableiten lässt.
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: gromax am Mai 17, 2015, 02:26:38
Hallo Franz, hallo MaggieMay,

gerne sende ich Dir meine DB; alle Daten sind fiktive Daten. Es gibt das Schulamt nicht, ebenso sind die Schulen und auch die Schüler der Phantasie entsprungen.
Zum Vorgang:
Mit dem Formular "frm_AuswahlRptEinzeln" werden die Berichte zu den Schülern aufgerufen; wähle den Bericht zum erstgenannten Schüler "Aach, Alfons" aus und Du erkennst die beiden ID-Nummern zu den Behinderungsarten in diesem Bericht.
Im Bericht "rpt_SCHUELER_Einzeln" sollten die Kurzbezeichnungen aufgeführt werden gleich wie in der m:n-Tabelle "tbl_BEARBEITUNG_SCH_VER" bzw. in der Abfrage "qry_BEARBEITUNG_SCH_VER_EIN_Bericht_Alle".
Die Eingaben werden im BEARBEITUNGS-Dialog "frm_SCHUELER03" vorgenommen.
Ich bin gespannt und freue mich!

Viele Grüße
gromax
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: DF6GL am Mai 17, 2015, 08:53:09
Guten Morgen,

ändere das Textfeld "SOP_Feststellung (kurz)"  im Bericht in ein Kombifeld mit den gleichen Einstellungen wie das Nachschlagefeld in der Tabelle "tbl_BEARBEITUNG_SCH_VER" ...
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: gromax am Mai 17, 2015, 15:11:16
Hallo Franz,

ich bin begeistert! Das klappt bestens.

Vielen Dank und morgen einen guten Start in die Woche!

Viele Grüße an den Bodensee
gromax
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: MaggieMay am Mai 18, 2015, 00:08:05
Hallo,

ich halte die Lösung für keine so gute Idee, weil Kombifelder in Berichten eigentlich nichts zu suchen haben - muss aber feststellen, dass hiermit die gewünschte Funktionalität erreicht wird.

Allerdings...
Bei Ansicht der Tabelle "tbl_BEARBEITUNG_SCH_VER" fällt auf, dass sowohl "SOP_FS" als auch "SOP_MFS" in unkoordinierter Weise an die Tabelle "tbl_SONDERPAEDAGOGIK" gebunden sind.
Hier gibt es also erstmal noch Klärungsbedarf...
Titel: Re: Mehrwertiges Feld im Bericht
Beitrag von: DF6GL am Mai 18, 2015, 07:59:34
Hallo,

das eigentliche Problem liegt an der gruppierenden Berichtsabfrage...

Ansonsten halte ich (auch) von diesen Mehrwertfeldern gar nichts, die Verkomplizieren die Sachlage unnötig und "versauen" die Transparenz der DB.

Weitere Info:

https://support.office.com/de-ch/article/Verwenden-von-mehrwertigen-Feldern-in-Abfragen-6f64f92d-659f-411c-9503-b6624e1e323a


Auf die Doppelbeziehung der besagten Tabelle will ich jetzt nicht eingehen...