Liebe Access-Profis,
jetzt habe ich die Merkmale von Mehrfachbehinderungen der Schüler in einem mehrwertigen Feld [SOP_MFS] eingepflegt und kann diese auch entsprechend in einem Bericht ausgeben; ein anderes – wohl nicht kleines – Problem beschäftigt mich aber weiterhin:
In meinem mehrwertigen Feld [SOP_MFS] werden zwei oder drei Merkmale von Behinderungsarten (KB, LB, GB,...) abgelegt. In einem Bericht sollen z.B. jetzt alle Schüler mit Mehrfach-Behinderungen gezählt werden:
=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"))
das klappt mit obiger Formel.
Jetzt möchte ich aber auch die Schüler mit nur einer Behinderung zählen, also z.B. alle körperbehinderten Kinder. Wie kann ich in einer Abfrage nur die KB-Schüler auslesen, die eine Einfach-Behinderung in eben diesem mehrwertigen Feld hinterlegt haben; eine Wenn-Dann-Bedingung wird mit dem Hinweis
"Das Mehrfachwertfeld '[SOP_MFS]' ist im 'IIf([qry_STAT_LandkreiseUmsetzungen2Test].[AnzahlvonSOP_MFS]>1,"MFB",[SOP_MFS])'-Ausdruck nicht gültig.
zurückgewiesen. Gibt es dazu einen andere Vorgehensweise? Eine analoge Formel wie zur Mehrfach-Behinderung im Bericht funktioniert auch nicht!
Für Eure Unterstützung bin ich immer dankbar.
Hi,
Zitateine Wenn-Dann-Bedingung wird mit dem Hinweis
Zitat"Das Mehrfachwertfeld '[SOP_MFS]' ist im 'IIf([qry_STAT_LandkreiseUmsetzungen2Test].[AnzahlvonSOP_MFS]>1,"MFB",[SOP_MFS])'-Ausdruck nicht gültig.
zurückgewiesen.
zeige bitte - in Zukunft bitte sofort und ohne Nachfrage - den diesbezüglichen SQL-Code.
Wie sonst könnten wir diese "Wenn-Dann-Bedingung" einschätzen bzw. beurteilen?!
PS:
Warum setzt du hier eigentlich nicht die NZ-Funktion ein?
Der Code könnte dann so aussehen:
=NZ(DomAnzahl("AnzahlvonSOP_MFS";"qry_STAT_LandkreiseUmsetzungen2";"[AnzahlvonSOP_MFS]>1 And [BEA_SchjBeginn]='" & [BEA_SchjBeginn] & "' AND [LKR_FS]=1");0;)
Hallo MaggieMay,
ich weiß wohl, dass es aus Eurer Sicht mühsam ist, den Unbedarften helfen zu wollen; es liegt mir aber fern, meine Anliegen nicht mit ausreichender Information zu formulieren. Diese Information gebe ich so gut ich kann und hintergründig weiß - deshalb mag es wieder vorkommen, dass ich irgendeine erhellende Info nicht mitliefere; sorry dafür!
In der Hoffnung und mit der Bitte um Hilfestellung habe ich dieser Antwort folgende Informationen beigegeben:
- SQL-Code von allen drei benutzten Abfragen (SQL_Codes III.doc)
- Screenshots zu allen drei Abfragen
Vorab vielen Dank
gromax
Hallo,
als kleiner tip, setzte den SQL code immer in code tags.
Hallo HB9876,
den Tipp nehme ich gerne auf - ich dachte nur, es wäre so übersichtlicher:
SQL_Code I:
SELECT qry_STAT_LandkreiseUmsetzungen2Test.UMS_Art_lang, qry_STAT_LandkreiseUmsetzungen2Test.AnzahlvonLKR_NameKurz, qry_STAT_LandkreiseUmsetzungen2Test.LKR_FS, qry_STAT_LandkreiseUmsetzungen2Test.BEA_SchjBeginn, qry_STAT_LandkreiseUmsetzungen2Test.EIN_Name, qry_STAT_LandkreiseUmsetzungen2Test.SCM_SchulartKurz, qry_STAT_LandkreiseUmsetzungen2Test.NAT_Landname_lang, qry_STAT_LandkreiseUmsetzungen2Test.BEA_Schulbegleitung, qry_STAT_LandkreiseUmsetzungen2Test.UMS_FS, qry_STAT_LandkreiseUmsetzungen2Test.SOP_MFS, qry_STAT_LandkreiseUmsetzungen2Test.AnzahlvonSOP_MFS
FROM qry_STAT_Lkr_UMS3_A RIGHT JOIN qry_STAT_LandkreiseUmsetzungen2Test ON qry_STAT_Lkr_UMS3_A.LKR_FS = qry_STAT_LandkreiseUmsetzungen2Test.LKR_FS;
SQL_Code II:
SELECT tbl_LANDKREISE.LKR_NameKurz, tbl_UMSETZUNGEN.UMS_Art_lang, tbl_BEARBEITUNG_SCH_VER.UMS_FS, Count(tbl_LANDKREISE.LKR_NameKurz) AS AnzahlvonLKR_NameKurz, tbl_EINRICHTUNGEN.LKR_FS, tbl_BEARBEITUNG_SCH_VER.BEA_SchjBeginn, tbl_EINRICHTUNGEN.EIN_Name, tbl_SCHULARTEN.SCM_SchulartKurz, tbl_NATIONEN.NAT_Landname_lang, tbl_BEARBEITUNG_SCH_VER.BEA_Schulbegleitung, tbl_BEARBEITUNG_SCH_VER.SOP_MFS, Count(tbl_BEARBEITUNG_SCH_VER.SOP_MFS) AS AnzahlvonSOP_MFS
FROM tbl_UMSETZUNGEN INNER JOIN (tbl_SCHULARTEN INNER JOIN ((tbl_NATIONEN INNER JOIN tbl_SCHUELER ON tbl_NATIONEN.NAT_PS = tbl_SCHUELER.NAT_FS) INNER JOIN (tbl_KOSTENTRAEGER RIGHT JOIN ((tbl_LANDKREISE INNER JOIN tbl_EINRICHTUNGEN ON tbl_LANDKREISE.LKR_PS = tbl_EINRICHTUNGEN.LKR_FS) INNER JOIN tbl_BEARBEITUNG_SCH_VER ON tbl_EINRICHTUNGEN.EIN_PS = tbl_BEARBEITUNG_SCH_VER.EIN_FS) ON tbl_KOSTENTRAEGER.KOS_PS = tbl_BEARBEITUNG_SCH_VER.KOS_FS) ON tbl_SCHUELER.SuS_PS = tbl_BEARBEITUNG_SCH_VER.SuS_FS) ON tbl_SCHULARTEN.SCM_PS = tbl_EINRICHTUNGEN.SCM_FS) ON tbl_UMSETZUNGEN.UMS_PS = tbl_BEARBEITUNG_SCH_VER.UMS_FS
GROUP BY tbl_LANDKREISE.LKR_NameKurz, tbl_UMSETZUNGEN.UMS_Art_lang, tbl_BEARBEITUNG_SCH_VER.UMS_FS, tbl_EINRICHTUNGEN.LKR_FS, tbl_BEARBEITUNG_SCH_VER.BEA_SchjBeginn, tbl_EINRICHTUNGEN.EIN_Name, tbl_SCHULARTEN.SCM_SchulartKurz, tbl_NATIONEN.NAT_Landname_lang, tbl_BEARBEITUNG_SCH_VER.BEA_Schulbegleitung
HAVING (((tbl_BEARBEITUNG_SCH_VER.UMS_FS)<>11) AND ((tbl_SCHULARTEN.SCM_SchulartKurz)<>"KiGa"));
SQL_Code III:
SELECT tbl_KOSTENTRAEGER.KOS_PS, tbl_BEARBEITUNG_SCH_VER.BEA_PS, tbl_KOSTENTRAEGER.LKR_FS, tbl_KOSTENTRAEGER.KOS_AbteilungLang, tbl_KOSTENTRAEGER.KOS_AbteilungKurz
FROM tbl_KOSTENTRAEGER INNER JOIN tbl_BEARBEITUNG_SCH_VER ON tbl_KOSTENTRAEGER.KOS_PS = tbl_BEARBEITUNG_SCH_VER.KOS_FS;
Viele Grüße
gromax
Hi,
Zitat"Das Mehrfachwertfeld '[SOP_MFS]' ist im 'IIf([qry_STAT_LandkreiseUmsetzungen2Test].[AnzahlvonSOP_MFS]>1,"MFB",[SOP_MFS])'-Ausdruck nicht gültig.
in den gezeigten Abfragen ist nirgendwo ein "IIF" zu finden.
Hallo MaggieMay,
den Ansinnen eine Gasse, der Schludrigkeit eine Autobahn!
Ich habe diese nicht funktionierende Wenn-Dann-Bedingung jetzt eingepflegt:
SELECT qry_STAT_LandkreiseUmsetzungen2Test.UMS_Art_lang, qry_STAT_LandkreiseUmsetzungen2Test.AnzahlvonLKR_NameKurz, qry_STAT_LandkreiseUmsetzungen2Test.LKR_FS, qry_STAT_LandkreiseUmsetzungen2Test.BEA_SchjBeginn, qry_STAT_LandkreiseUmsetzungen2Test.EIN_Name, qry_STAT_LandkreiseUmsetzungen2Test.SCM_SchulartKurz, qry_STAT_LandkreiseUmsetzungen2Test.NAT_Landname_lang, qry_STAT_LandkreiseUmsetzungen2Test.BEA_Schulbegleitung, qry_STAT_LandkreiseUmsetzungen2Test.UMS_FS, qry_STAT_LandkreiseUmsetzungen2Test.SOP_MFS, qry_STAT_LandkreiseUmsetzungen2Test.AnzahlvonSOP_MFS, IIf([AnzahlvonSOP_MFS]>1,"MFB",[SOP_MFS]) AS Vergleich
FROM qry_STAT_Lkr_UMS3_A RIGHT JOIN qry_STAT_LandkreiseUmsetzungen2Test ON qry_STAT_Lkr_UMS3_A.LKR_FS = qry_STAT_LandkreiseUmsetzungen2Test.LKR_FS;
Viele Grüße
gromax
Hi,
aus deinem letzten Thread (http://www.access-o-mania.de/forum/index.php?topic=20390.0) bist du ja leider kommentarlos ausgestiegen, dabei hättest du dort schon lernen können, wie auf die Werte eines Mehrwertfeldes zugegriffen werden kann, nämlich über die Value-Eigenschaft.
Hallo MaggieMay,
es mag sein, dass ich das eine oder andere - oder auch vieles - in MS Access nicht verstehe, aber dass ich die Beiträge von Dir oder auch den anderen Supportern nicht wertschätze oder auch nur kommentarlos stehen lassen würde, liegt nun wahrlich nicht in meinem Sinn. Dazu habe ich die vergangenen Monate viel zu viel von Euch profitiert - mit großem Dank und Respekt profitiert!!
Den letzten Thread habe mit Dankesworten und dem Setzen des "grünen Hakens" abgeschlossen und die beiden nachfolgenden Beiträge von Dir und Franz nicht mehr zur Kenntnis genommen. Das ist zugegebener Weise nicht in Ordnung, aber ich habe mit dem neuen Problem in diesem Thread den anderen einfach nicht mehr beachtet - er war ja in meiner Wahrnehmung mit der gewünschten Darstellung des mehrwertigen Feldes im Bericht "abgeschlossen".
Jetzt weiß ich allerdings immer noch nicht, wie ich eine Darstellung mit der Wenn-Dann-Bedingung herstellen kann und ob dieses überhaupt funktioniert.
Deinen Hinweis mit der Value-Eigenschaft habe ich aufgegriffen und in den verschiedensten Variationen in meine Abfrage eingepflegt, aber weitergekommen bin ich leider nicht.
SELECT qry_STAT_LandkreiseUmsetzungen2Test.UMS_Art_lang, qry_STAT_LandkreiseUmsetzungen2Test.AnzahlvonLKR_NameKurz, qry_STAT_LandkreiseUmsetzungen2Test.LKR_FS, qry_STAT_LandkreiseUmsetzungen2Test.BEA_SchjBeginn, qry_STAT_LandkreiseUmsetzungen2Test.EIN_Name, qry_STAT_LandkreiseUmsetzungen2Test.SCM_SchulartKurz, qry_STAT_LandkreiseUmsetzungen2Test.NAT_Landname_lang, qry_STAT_LandkreiseUmsetzungen2Test.BEA_Schulbegleitung, qry_STAT_LandkreiseUmsetzungen2Test.UMS_FS, qry_STAT_LandkreiseUmsetzungen2Test.SOP_MFS, qry_STAT_LandkreiseUmsetzungen2Test.AnzahlvonSOP_MFS, IIf([SOP_MFS.Value]>1,"MFB",[SOP_MFS]) AS Vergleich
FROM qry_STAT_Lkr_UMS3_A RIGHT JOIN qry_STAT_LandkreiseUmsetzungen2Test ON qry_STAT_Lkr_UMS3_A.LKR_FS = qry_STAT_LandkreiseUmsetzungen2Test.LKR_FS;
(vgl. Abfrage_SOP_MFS03.jpg)
Für Hilfen in welcher Form auch immer bin ich sehr dankbar; und wenn es dann so aussieht wie in meiner Visualisierung, dann komme ich weiter (vgl. Abfrage_SOP_MFS04.jpg)
Bei allen Bedenken gegenüber den Mehrwert-Feldern, die ich überall lese und zur Kenntnis bekomme:
Es hilft mir auch, wenn man mir sagt, dass ich mich in eine Sackgasse hineinbegebe und dass es in Access dafür keine Lösung gibt; ich bräuchte nun mal die Funktionalität zum Ankreuzen von mehreren Arten der Behinderung (vgl. Abfrage_SOP_MFS05.jpg). Mit dem Mehrwertfeld klappt dies sowohl im Formular wie auch im Bericht bestens; nur wenn ich die anfallenden Behinderungen in einem anderen Bericht mit einer DOM-Funktion zählen möchte, dann klappt dies nicht, weil ich das FELDXY in der Abfrage (s.o.) nicht formuliert bekomme.
Meine DOM-Funktion lautet:
=Wenn(IstNull(DomSumme("AnzahlvonLKR_NameKurz";"qry_STAT_LandkreiseUmsetzungen2";"[FELDXY]='GB' And [BEA_SchjBeginn]='" & [BEA_SchjBeginn] & "' AND [LKR_FS]=1"));0;DomSumme("AnzahlvonLKR_NameKurz";"qry_STAT_LandkreiseUmsetzungen2";"[ FELDXY]='GB' And [BEA_SchjBeginn]='" & [BEA_SchjBeginn] & "' AND [LKR_FS]=1"))
Viele Grüße
gromax
Hallo,
mit z. B.:
Select BEA_PS,.... ,Dcount("SOP_MFS.Value","tbl_Bearbeitung_Sch_Ver","BEA_PS = " & [BEA_PS]) from tbl_Bearbeitung_Sch_Ver ...
kann die Anzahl der Einträge des Mehrwertfeldes pro DS ermittelt werden...
Andererseits versteh ich aber nicht genau, was erreicht werden soll:
ZitatJetzt möchte ich aber auch die Schüler mit nur einer Behinderung zählen, also z.B. alle körperbehinderten Kinder. Wie kann ich in einer Abfrage nur die KB-Schüler auslesen, die eine Einfach-Behinderung in eben diesem mehrwertigen Feld hinterlegt haben
Soll hier nur nach der Anzahl von Behinderungen (in diesem Fall 1) gesucht werden oder nach einer bestimmten Behinderung.
Schüler, die nur eine Behinderung haben:
Select BEA_PS, .... ,
Dcount("SOP_MFS.Value","tbl_Bearbeitung_Sch_Ver","BEA_PS = " & [BEA_PS]) from tbl_Bearbeitung_Sch_Ver
Where
Dcount("SOP_MFS.Value","tbl_Bearbeitung_Sch_Ver","BEA_PS = " & [BEA_PS]) =1
Schüler, die nur eine einzige und bestimmte Behinderung haben:
Select BEA_PS, .... ,
Dcount("SOP_MFS.Value","tbl_Bearbeitung_Sch_Ver","BEA_PS = " & [BEA_PS]) from tbl_Bearbeitung_Sch_Ver
Where
Dcount("SOP_MFS.Value","tbl_Bearbeitung_Sch_Ver","BEA_PS = " & [BEA_PS]) =1
And
SOP_MFS.Value = "Körperbehinderung"
Hallo Franz,
vielen Dank für Deine Hilfe!
Ich kann mein Anliegen nur sehr unzureichend kommunizieren; ich probier es trotzdem nochmal:
- In einer Abfrage habe ich das Mehrwertefeld [SOP_MFS], das bei mehreren Behinderungsarten verschiedene long-Werte aufnehmen kann.
- In der gleichen Abfrage kann ich diese Einträge in einem Feld [AnzahlvonSOP_MFS] auch zählen lassen; das klappt.
- In einem Bericht möchte ich aber eine statistische Auswertung vornehmen und die Anzahlen für die Mehrfachbehinderungen und für die verschiedenen Einfachbehinderungen ausgeben; das klappt nicht.
- Nun dachte ich, man kann mit einer WENN-DANN-Bedingung in der Abfrage eine weitere Spalte einpflegen, die bei Mehrfachbehinderungen das Kürzel "MFB" oder auch eine Zahl - ([SOP_MFS] ist ja ein Long-Werte-Feld) - ausweist und bei einer Einfach-Behinderung den entsprechenden Wert aus dem Mehrwerte-Feld ausgibt.
- Dann kann ich über die DomAnzahl-Funktion die entsprechenden Statistik-Werte auslesen.
Wenn dies ginge, wäre das toll!
Im jetzigen Status meiner DB kann ich wohl die Mehrfachbehinderung auslesen:
=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"))
eine analoge Funktion für die Körperbehinderung (SOP_MFS=3) funktioniert aber nicht (vgl. Anlage):
=Wenn(IstNull(DomAnzahl("AnzahlvonSOP_MFS";"qry_STAT_LandkreiseUmsetzungen2";"[AnzahlvonSOP_MFS]=1 And [BEA_SchjBeginn]='" & [BEA_SchjBeginn] & "' AND [SOP_MFS]=3 AND [LKR_FS]=1"));0;DomAnzahl("AnzahlvonSOP_MFS";"qry_STAT_LandkreiseUmsetzungen2";"[AnzahlvonSOP_MFS]=1 And [BEA_SchjBeginn]='" & [BEA_SchjBeginn] & "' AND [SOP_MFS]=3 AND [LKR_FS]=1"))
Gibt es da einen Weg?
Einen guten Start in die Woche
gromax
Hi,
ich glaube ich hatte es schon mal erwähnt, wenn du auf einen einzelnen Wert zugreifen willst, musst du die Value-Eigenschaft des mehrwertigen Datenfeldes ansprechen.
Anstelle der vielen Bilder hättest du evtl. eine Beispiel-DB hochladen sollen, um schneller ans Ziel zu kommen.
Hallo MaggieMay,
anbei eine Beispiel-DB mit den 3 Abfragen und dem dazu gehörenden Bericht; hier werden die Summen korrekt dargestellt nur bei der Zeile für die Behinderungsart "Körperbehinderung" wird 'Fehler' ausgewiesen. Hier liegt mein Problem.
Einen Zugriff über die Value-Eigenschaft des Mehrwertfeldes habe ich stundenlang (!) in allen Variationen versucht - durchgehend erfolglos!
Für Deine Unterstützung vielen Dank
gromax
Hallo,
die Ausdrücke in den Steuerelementinhalten der Felder für "GB", "HB", ... folgen doch der selben Struktur...(die ich im Einzelnen jetzt nicht analysiert habe). Wenn ein solcher Ausdruck stimmig ist, dann sollte es auch für "Körperbehinderung" funktionieren.
Kopiere den Ausdruck von z. B. "HB" (Text222), setze ihn bei "KB" (Text223) ein und ändere dort bei den Kriterien "HB" in "KB" um.
Hi,
der Haken daran ist, dass der Code für die anderen Felder zwar keinen Fehler wirft aber trotzdem falsch ist. ;-)
Die Abfrage "qry_STAT_LandkreiseUmsetzungen2" ist für die Auswertung nicht geeignet, du brauchst die Details der mehrwertigen Felder.
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.
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.
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
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.
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
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.
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
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.
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
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.
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
Hallo,
zu den Mehrwertfeldern kann ich Dir mangels Erfahrung nicht helfen. Ich habe je keine neueres Access und in Access2003 sind die nicht enthalten.
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.