Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Mehrwertiges Feld in einer Abfrage

Begonnen von gromax, Mai 25, 2015, 19:41:49

⏪ vorheriges - nächstes ⏩

DF6GL

Hallo,

dann soll er halt mal die Lösung mit den Dlookup-Funktion in der Abfrage versuchen. Vermutlich scheitert es aber dann auch an der Gruppierung der Abfrage.  Alternativ wäre ja auch der direkte Aufruf der Dlookup-Funktion im Steuerelementinhalt mit direkten Zugriff auf die Tabelle förderlich.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MzKlMu

Hallo,
mit leichter Schadenfreude verfolge ich das Thema. Im Grunde wurde meine negative Meinung zu diesen Mehrwertfeldern in den beiden Themen von gromax geradezu bestätigt. Mit einer klassischen n:m Beziehung wäre der Käse schon längst gegessen.  :P
Man darf auch nicht außer Acht lassen, dass diese Felder sehr Access spezifisch sind. Sollte es eines Tages notwendig sein aus (Daten) Sicherheitsgründen auf ein anderes DBMS umzusteigen so wird das wahrscheinlich nicht gehen, weil diese Mehrwertfelder von einem andern System eventuell nicht unterstützt werden. N:m geht aber immer und überall. ;D
Zitatich bräuchte nun mal die Funktionalität zum Ankreuzen von mehreren Arten der Behinderung
auch dieses ließe sich dann realisieren.
Und das Zählen wird zum Kinderspiel.

Wollte ich nur mal gesagt haben.
Gruß Klaus

gromax

Hallo Franz, hallo MaggieMay, hallo Klaus,

sorry für die späte Rückmeldung, aber ich war bis heute nicht am PC.

Zu Franz vom 02. Juni:

Die Analogie mit den anderen Feldern habe ich probiert; die scheitert aber daran, dass die anderen Felder und die darin hinterlegten Formeln des Berichts noch von der Version ohne das Mehrwert-Feld [SOP-MFS] her stammt. Da hatte ich in der Abfrage noch das Einfach-Feld [SOP_FS] hinterlegt und die Abfrage beinhaltete das Feld [SOP_Feststellung (kurz)]="HB". Jetzt habe ich stattdessen das Feld [SOP_MFS] mit den kumulierten Werten [1;2;4] und möchte gerne darauf zugreifen.
Mit der Formel

=Wenn(IstNull(DomAnzahl("AnzahlvonSOP_MFS";"qry_STAT_LandkreiseUmsetzungen2";"[AnzahlvonSOP_MFS]>1 And [BEA_SchjBeginn]='" & [BEA_SchjBeginn] & "' AND [LKR_FS]=1"));0;DomAnzahl("AnzahlvonSOP_MFS";"qry_STAT_LandkreiseUmsetzungen2";"[AnzahlvonSOP_MFS]>1 And [BEA_SchjBeginn]='" & [BEA_SchjBeginn] & "' AND [LKR_FS]=1"))

kann ich die korrekte Anzahl der Mehrfach-Behinderungen auslesen. Wenn ich diese Formel im Bericht analog für die Einfach-Behinderung 'Körperbehinderung' analog aufbaue, melder der Bericht "Fehler" zurück:

=Wenn(IstNull(DomAnzahl("AnzahlvonSOP_MFS";"qry_STAT_LandkreiseUmsetzungen2";"[AnzahlvonSOP_MFS]=1 And [BEA_SchjBeginn]='" & [BEA_SchjBeginn] & "' AND [LKR_FS]=1 AND [SOP_MFS]=3"));0;DomAnzahl("AnzahlvonSOP_MFS";"qry_STAT_LandkreiseUmsetzungen2";"[AnzahlvonSOP_MFS]=1 And [BEA_SchjBeginn]='" & [BEA_SchjBeginn] & "' AND [LKR_FS]=1 AND [SOP_MFS]=3"))

Warum das so ist, kann ich nicht nachvollziehen.
Die Version

=Anzahl(DomWert("SOP_MFS.Value";"qry_STAT_LandkreiseUmsetzungen2";"AnzahlvonSOP_MFS.Value=1 And BEA_SchjBeginn='" & [BEA_SchjBeginn] & "' AND LKR_FS=1 AND SOP_MFS.Value=3"))

zeigt zwar keinen 'Fehler", zählt aber auch nicht korrekt: Statt der Anzahl "2" steht hier die Anzahl "0"?!

Zu MaggieMay vom 02.Juni:
Das habe ich gemacht; ich habe statt des Feldes [SOP_MFS] das Feld [SOP_MFS.Value] eingepflegt; dann zählt der Bericht die ausgewiesenen Mehrfachbehinderung falsch (statt 1 x Mehrfachbehinderung 20 x Mehrfachbehinderung). Auch die Gesamtanzahl der Bescheide für das Schuljahr 2014/15 wird mit 6 statt 3 Bescheiden falsch addiert. Dies liegt wahrscheinlich an der eingegebenen Formel innerhalb des Berichts. Wie die dann korrekt formuliert werden müsste, weiß ich nicht.

Zu Klaus vom 02.Juni
Danke für Deine Beteiligung; hier muss ich aber noch in mich gehen und die m:n-Tabelle korrekt gestalten.

Vorab aber Dank an Euch alle!

Viele Grüße
gromax

MzKlMu

#18
Hallo,
Zitatund die m:n-Tabelle korrekt gestalten.
nicht nur gestalten, sondern neu anlegen.
Eine n:m Beziehung benötigt 3 Tabellen.

1- Person
2- Behinderung
3- BehinderungPerson

In der 3. Tabelle wird die ID der Person, die ID der Behinderung jeweils als Fremdschlüssel gespeichert. Man könnte dann zu jeder Person alle Behinderungen anlegen und nur die Zutreffenden anhaken. Oder (wie üblich) nur die Zutreffenden per Kombi auswählen. Das Hakenfeld würde dann entfallen.
In jedem Fall ist aber das Zählen sehr einfach, denn Du musst nur die personenbezogene Anzahl der Behinderungen in Tabelle 3 zählen.
Gruß Klaus

gromax

Hallo Klaus,

vielen Dank für Deinen "Wegweiser"; schade, dass der Zugriff auf die mehrwertigen Felder von Microsoft so problematisch gestaltet wurde. Das wäre schon schön gewesen!
Ich habe jetzt diese neue m:n-Tabelle (tbl_FESTSTELLUNGEN) mit den beiden Fremdschlüsseln erstellt und in die Beziehungen eingebaut. Die vormalig "konkurrienden" Beziehungen habe ich natürlich entfernt.
Auch habe ich die Dateneingabe in diese Tabelle in mein Formular als Unterformular eingebaut; hier schaffe ich es aber nur, dass das Formular als Kombinationsfeld vorhanden ist. Das Anhäkeln ähnlich der Abbildung (Mehrwertfeld.jpg) - das war das Mehrwertfeld - klappt dabei nicht, weil ich ja gar keine Option habe, mehrer Werte anzuklicken (Unterformular.jpg). Wie gehe ich denn dabei vor?

Für eine neue Spur bin ich dankbar.

Viele Grüße
gromax

MzKlMu

Hallo,
Ich sehe da kein Unterformular für die Behinderungen.
Du benötigst zur Darstellung von Mehrfachbehinderungen ein extra Unterformular.
In diesem Ufo wird per Kombi für je einen Datensatz eine Behinderung gewählt.
Hat die Person 2 Behinderungen, sind das 2 DS im Ufo. In diesm fall benötigst Du das Hakenfeld gar nicht.

Zeige mal ein Bild der neuen Beziehung (n:m) zwischen Person und Behinderung.

PS:
Hoffentlich ist das keine reale Person, die da im Bild gezeigt wird.
Gruß Klaus

gromax

Hallo Klaus,

vorab, das sind alles fiktive Daten; weder Schule noch Schulamt und Schüler existieren!
Danke für die schnelle Antwort!
In meinen Bilddateien siehst du das Hauptformular, in dem das Unterformular 1 und darin wiederum das Unterformular 2 eingebettet ist. Letzteres ist natürlich auf das gleiche Äußere wie auch die übrigen Kombinationsfelder formatiert; deshalb ist es auch kaum als solches erkennbar.
Zu den Beziehungen:
Die m:n-Beziehung bezieht sich auf die Bescheide (tbl_BEARBEITUNG_SCH_VER) und die Behinderungsarten (tbl_SONDERPAEDAGOGIK); jeder Förderbescheid, den unser Amt erstellt, basiert auf einer Behinderung bzw. einer Mehrfachbehinderung. Personen behalten nicht immer dieselbe Behinderung; davon dann abhängig werden die Fördermöglichkeit beschieden.

Viele Grüße
gromax

MzKlMu

Hallo,
ich vermag immer noch kein Ufo zu erkennen. Das Ufo muss als Datenquelle die Tabelle "tbl_FESTSTELLUNGEN" haben und über die Schlüsselfelder (BEA_FS > BEA_PS) verknüpft sein.  Im Ufo ist ein Kombi gebunden an SOP_FS Datenquelle "tbl_SONDERPÄDAGOKIG".
Das Ufo muss mehrere Zeilen darstellen können, denn jede SOP Art erfordert eine Zeile.
Gruß Klaus

gromax

Hallo Klaus,

ich habe jetzt das "abgespeckte" Formular in der DB mitgeschickt; darin erkennst Du mein Ufo (>>frm_Schueler_ufoBearbeitung03a<<). Dieses habe ich gemäß Deiner Unterstützung angelegt. Jetzt kann ich zwar eine Behinderung auswählen, aber eben keine zwei. Schön wäre es, wenn es zumindest optisch dem Kombifeld eines Mehrwert-Feldes nahekommt - ich meine die Auswahl-Kästchen und die OK- und Abbrechen-Schaltfläche. Hierzu habe ich keine Vorstellung zuf Formatierung?

Danke vorab!

Viele Grüße
gromax

MzKlMu

Hallo,
ZitatJetzt kann ich zwar eine Behinderung auswählen, aber eben keine zwei.
wenn das richtig gemacht ist, kannst Du mehrere Behinderungen auswählen in je einem Datensatz. Vermutlich ist das Ufo einfach nicht hoch genug.
Mit den Auswahlkästchen geht es so nicht mehr. Nur mit einem Kombi zur Auswahl.

Ich habe nur Access2003 (MDB) kann daher leider keine ACCDB's ansehen.
Entweder konvertieren, oder warten auf jemand anders.
Gruß Klaus

gromax

Hallo Klaus,

danke trotzdem! Jetzt warte ich halt; wiewohl ich immer noch nicht ganz von dem Mehrwert-Feld wegkomme. Ich werde diese DB ja nie auf einem SQL-Server einsetzen; eigentlich scheiterte das ganze an der fehlenden Lösung des Zugriffs darauf!? In der Darstellung innerhalb des Formulars und eines Berichtes klappte das ganz gut!

Eine gute Woche für Dich!
gromax

MzKlMu

Hallo,
zu den Mehrwertfeldern kann ich Dir mangels Erfahrung nicht helfen. Ich habe je keine neueres Access und in Access2003 sind die nicht enthalten.
Gruß Klaus

MaggieMay

Hi,
Zitatwiewohl ich immer noch nicht ganz von dem Mehrwert-Feld wegkomme
das ist ja auch gar nicht nötig, wie man an diversen anderen quasi zeitgleich laufenden Threads sehen kann.

Wie bereits gesagt, man muss einfach nur lernen und verstehen, wie damit umzugehen ist.
Freundliche Grüße
MaggieMay