Hallo, liebe Access-Gemeinde,
auf dem Weg zu einer Datenbank stehe ich vor einem Problem, das ich auch mittels des Internets und der Bücher nicht gelöst bekam; vielleicht auch, weil die zahlreichen Hinweise nicht funktioniert haben bzw. ich diese auch nicht umsetzen konnte.
Mein Bericht gruppiert Bescheide getrennt für 2 Landkreise (hier ,MOB' und ,WOM') im Detailbereich; nun möchte ich im Gruppenfuß weitere Additionen darstellen und weiß nicht, wie die passende Eingabe dazu heißt:
Mein Inhalt im betreffenden Steuerelement lautet
=DomWert("[AnzahlvonLKR_NameKurz]";"[qry_STAT_LandkreiseUmsetzungen3]";"[UMS_Art_lang]='gemeinsame Beschulung'" Und "[LRK_NameKurz]"="[qry_STAT_LandkreiseUmsetzungen3]![LRK_NameKurz]")
Verständlicher wird mein Problem vielleicht anhand der beiliegenden .pdf-Datei.
Für eine Hilfe wäre ich sehr dankbar!
Wohlgemerkt ich bin ein Newbie.
Gromax
Hallo,
Versuch mal so:
[size=10pt]=DomWert("[AnzahlvonLKR_NameKurz]";"[qry_STAT_LandkreiseUmsetzungen3]";"[UMS_Art_lang]='gemeinsame Beschulung' Und [LRK_NameKurz]=" & Me.LRK_NameKurz)[/size]
Die Einschränkung auf [LRK_NameKurz] muss sich auf das Feld im Gruppen-Kopfbereich beziehen und nicht auf die Abfrage sonst passt das mit der Gruppierung nicht zusammen bzw. liefert ein wirres Ergebnis.
Hallo,
vermutlich noch zusätzlich:
=DomWert("[AnzahlvonLKR_NameKurz]";"[qry_STAT_LandkreiseUmsetzungen3]";"[UMS_Art_lang]='gemeinsame Beschulung' [color=red] And [/color][LRK_NameKurz]=" &[color=red] [[/color]LRK_NameKurz[color=red]][/color])
Hallo Peter, hallo Franz,
vielen Dank für Euere Antworten, leider führen sie nicht zum, Ziel; ich erhalte immer die Rückgabe 'Fehler'. Könntet Ihr Euch des Problems nochmals annehmen - ich wäre Euch sehr dankbar.
Viele Grüße
Max
Hallo,
probier mal:
=DomWert("[AnzahlvonLKR_NameKurz]";"[qry_STAT_LandkreiseUmsetzungen3]";"[UMS_Art_lang]='gemeinsame Beschulung' And [LRK_NameKurz]='" & [LRK_NameKurz] &"'")
wenn "LRK_NameKurz" den Datentyp Text in der Tabelle hat.
Hallo Franz,
danke für die umgehende Antwort; wenn ich Deine Formel eingebe, öffnet beim Umschalten in die Berichtsansicht der Parameter-Dialog und fragt nach einer Eingabe für das Feld [LRK_NameKurz]; beim Weiterklicken wird erneut 'Fehler' zurückgegeben.
Ich weiß nicht, ob es relevant ist - ich glaube nicht, weil die Domänenaggregatsfunktionen ja auf alle Tabellen/Abfragen zugreifen sollen - , aber ich möchte noch anführen, dass die übrigen Steuerelementinhalte aus der Abfrage "qry_STAT_LandkreiseUmsetzungen2" lediglich die Summationen aus "qry_STAT_LandkreiseUmsetzungen3" geliefert werden (vgl. Anlage).
Vielleicht findet Ihr ja noch eine Lösung oder auch einen Ansatz.
Danke vorab!
Gromax
Hallo,
Zitataber ich möchte noch anführen, dass die übrigen Steuerelementinhalte aus der Abfrage "qry_STAT_LandkreiseUmsetzungen2" ...
Wenn du einen Vergleich/Einschränkung auf das Feld LRK_NameKurz in der WHERE-Klausel der Funktion verwendest, MUSS dieses Feld auch Bestandteil der abgefragten Domäne sein (in dem Fall von qry_STAT_LandkreiseUmsetzungen3)!
Hallo Peter,
vorab danke für Deinen Vorschlag.
Nachdem ich diesen "=DomWert("[AnzahlvonLKR_NameKurz]";"[qry_STAT_LandkreiseUmsetzungen3]";"[UMS_Art_lang]='gemeinsame Beschulung' Und [LRK_NameKurz]=" & Me.LRK_NameKurz)" in das Steuerelementinhaltfeld eingegeben habe und dieses verlassen habe, passt Access die Eingabe automatisch in "=DomWert("[AnzahlvonLKR_NameKurz]";"[qry_STAT_LandkreiseUmsetzungen3]";"[UMS_Art_lang]='gemeinsame Beschulung' Und [LRK_NameKurz]=" & [Me].[LRK_NameKurz])" ab und verlangt anschließend eine Parameter-Eingabe für [Me].
Ich habe nun Deinen 2. Vorschlag aufgegriffen und mit meinem Halbwissen versucht, diesen umzusetzen: "=DomWert("[AnzahlvonLKR_NameKurz]";"[qry_STAT_LandkreiseUmsetzungen3]";"[UMS_Art_lang]='gemeinsame Beschulung' Und [qry_STAT_LandkreiseUmsetzungen3].[LRK_NameKurz]=" & '[Me].[LRK_NameKurz]')" - nicht wissend, was dabei falsch oder gar unlogisch ist, denn es wird wieder "Fehler" zurückgegeben.
Was kann ich denn machen, dass ich diese Summen generieren kann? Ist denn Access so komplex, dass dies derartige Kompetenzen verlangt? Ich war der Meinung, dass dies eine gängige Problemstellung ist, die doch häufig vorkommen muss; sollte ich da zuviel verlangen, gebt mir einfach Rückmeldung - ich möchte kein Dauerthema daraus machen.
Vielen Dank trotzdem.
Gromax
Hallo,
ZitatHallo Franz,
danke für die umgehende Antwort; wenn ich Deine Formel eingebe, öffnet beim Umschalten in die Berichtsansicht der Parameter-Dialog und fragt nach einer Eingabe für das Feld [LRK_NameKurz]
LRK_NameKurz muss der Name eines Textfeldes im Bericht sein (nur als Bestandteil der Datenherkunft bringt Probleme mit sich, zumindest beim Bericht hab ich das schon erlebt). Das "Me" ist in einem Steuerelementausdruck nicht verwendbar, nur als VBA-Code in einem Formular-/Berichts-Klassenmodul.
ZitatIst denn Access so komplex, dass dies derartige Kompetenzen verlangt?
Das ist relativ.. Man sollte sich nur über die Bedeutung und Verwendung der einzelnen "Schnittstellen" ( (Ausdrücke in) Access-Objekten, VBA-Code, SQL, etc. ) im Klaren sein. ;)
Hallo Franz,
lass mich ein letztes Mal fragen, ob sich auf meine Frage eine Antwort finden lässt; ich verstehe ja, dass man die Bedeutung und Verwendung der einzelnen Bezüge, Steuerelemente und Objekte kennen muss und habe deshalb mein Anliegen mit Hilfe der Anlagen (Screenshots) versucht, transparent darzustellen. Dennoch bin ich armer Tor, nun so klug wie eh zuvor; was gebe ich denn nun ein? Kannst Du mich denn zumindest in eine Richtung lenken, dass ich weiß, wie ich weitermachen soll?
Danke für Deine Auseinandersetzung mit meinem Problem!
Gromax
Hallo,
naja , wie vorher beschrieben..
Zitat=DomWert("[AnzahlvonLKR_NameKurz]";"[qry_STAT_LandkreiseUmsetzungen3]";"[UMS_Art_lang]='gemeinsame Beschulung' And [LRK_NameKurz]='" & [LRK_NameKurz] &"'")
wobei
LRK_NameKurz das Feld in der Abfrage
qry_STAT_LandkreiseUmsetzungen3 ist und den Datentyp
TEXT besitzen muss.
LRK_NameKurz das an das Tabellen/Abfrage-Feld
LRK_NameKurz aus der Datenherkunft des Berichtes gebundene Berichtstextfeld ist.
(Soweit ich das im Bild erkennen kann, ist das doch so..)
Hallo Franz,
das ist so, wie Du das farblich markiert hast; wenn ich Deine Formel übernehme, eintrage und in die Berichtsansicht umschalte, erhalte ich die Parameter-Abfrage das Feld [LRK_NameKurz] betreffend. Ich gebe dann in Deine Formel die roten Apostrophen ein:
=DomWert("[AnzahlvonLKR_NameKurz]";"[qry_STAT_LandkreiseUmsetzungen3]";"[UMS_Art_lang]='gemeinsame Beschulung' And [LRK_NameKurz]='" & '[LRK_NameKurz]' & "'"), dann kann ich ohne Parameterabfrage umschalten. Vielleicht hilft diese Info ja weiter?
Wenn ich nun versuche, die von Dir farblich dargestellten unterschiedlichen Bezüge in die Formel einzuarbeiten, sieht dies nach meiner Logik entsprechend aus:
=DomWert("[AnzahlvonLKR_NameKurz]";"[qry_STAT_LandkreiseUmsetzungen3]";"[UMS_Art_lang]='gemeinsame Beschulung' And [qry_STAT_LandkreiseUmsetzungen3]![LKR_NameKurz]='" & '[qry_STAT_LandkreiseUmsetzungen2]![LKR_NameKurz]' & "'").
Das Ergebnis ist nun beidesmal 'Fehler'!
Wo liegt denn mein logischer Fehler? Oder sollte ich ganz anders ansetzen?
Grüße am Sonntag
Gromax
Hallo,
Zitaterhalte ich die Parameter-Abfrage das Feld [LRK_NameKurz] betreffend.
dann gibt es das Feld nicht, entweder in der Abfrage oder als Berichts-Textfeld oder vielleicht sogar beides...
ZitatAnd [qry_STAT_LandkreiseUmsetzungen3]![LKR_NameKurz]='" & '[qry_STAT_LandkreiseUmsetzungen2]![LKR_NameKurz]' &
ist Quatsch.
Poste mal die SQL-Strings der Abfragen
qry_STAT_LandkreiseUmsetzungen2
qry_STAT_LandkreiseUmsetzungen3
und, falls diese auf weiteren Abfragen basieren, auch diese dann..
Verifiziere nochmal, ob es ein Berichtstextfeld mit Namen
LRK_NameKurz (Datentyp TEXT) gibt und das an das Datenherkunfts-Feld
LRK_NameKurz gebunden ist (Steuerelementinhalt!).
Hallo Franz,
anbei die SQL-Strings:
SQL-String aus ,qry_STAT_LandkreiseUmsetzungen2':
SELECT tbl_LANDKREISE.LKR_NameKurz, tbl_UMSETZUNGEN.UMS_Art_lang, Count(tbl_LANDKREISE.LKR_NameKurz) AS AnzahlvonLKR_NameKurz, tbl_EINRICHTUNGEN.LKR_FS, tbl_LANDKREISE.LKR_PS, tbl_BEARBEITUNG_SCH_VER.BEA_SchjBeginn, tbl_KOSTENTRAEGER.KOS_AbteilungLang, tbl_EINRICHTUNGEN.EIN_Name, tbl_SCHULARTEN.SCM_SchulartKurz, tbl_NATIONEN.NAT_Landname_lang, tbl_BEARBEITUNG_SCH_VER.BEA_Schulbegleitung, tbl_BEARBEITUNG_SCH_VER.UMS_FS, tbl_SONDERPAEDAGOGIK.[SOP_Feststellung (kurz)]
FROM tbl_UMSETZUNGEN INNER JOIN (tbl_SONDERPAEDAGOGIK INNER JOIN (tbl_SCHULARTEN INNER JOIN ((tbl_NATIONEN INNER JOIN tbl_SCHUELER ON tbl_NATIONEN.NAT_PS = tbl_SCHUELER.NAT_FS) INNER JOIN (tbl_LANDKREISE INNER JOIN (tbl_KOSTENTRAEGER RIGHT JOIN (tbl_EINRICHTUNGEN 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_LANDKREISE.LKR_PS = tbl_EINRICHTUNGEN.LKR_FS) ON tbl_SCHUELER.SuS_PS = tbl_BEARBEITUNG_SCH_VER.SuS_FS) ON tbl_SCHULARTEN.SCM_PS = tbl_EINRICHTUNGEN.SCM_FS) ON tbl_SONDERPAEDAGOGIK.SOP_PS = tbl_BEARBEITUNG_SCH_VER.SOP_FS) ON tbl_UMSETZUNGEN.UMS_PS = tbl_BEARBEITUNG_SCH_VER.UMS_FS
GROUP BY tbl_LANDKREISE.LKR_NameKurz, tbl_UMSETZUNGEN.UMS_Art_lang, tbl_EINRICHTUNGEN.LKR_FS, tbl_LANDKREISE.LKR_PS, tbl_BEARBEITUNG_SCH_VER.BEA_SchjBeginn, tbl_KOSTENTRAEGER.KOS_AbteilungLang, tbl_EINRICHTUNGEN.EIN_Name, tbl_SCHULARTEN.SCM_SchulartKurz, tbl_NATIONEN.NAT_Landname_lang, tbl_BEARBEITUNG_SCH_VER.BEA_Schulbegleitung, tbl_BEARBEITUNG_SCH_VER.UMS_FS, tbl_SONDERPAEDAGOGIK.[SOP_Feststellung (kurz)];
SQL-String aus ,qry_STAT_LandkreiseUmsetzungen3':
SELECT tbl_LANDKREISE.LKR_NameKurz, tbl_UMSETZUNGEN.UMS_Art_lang, Count(tbl_LANDKREISE.LKR_NameKurz) AS AnzahlvonLKR_NameKurz
FROM tbl_UMSETZUNGEN INNER JOIN (tbl_SONDERPAEDAGOGIK INNER JOIN (tbl_SCHULARTEN INNER JOIN ((tbl_NATIONEN INNER JOIN tbl_SCHUELER ON tbl_NATIONEN.NAT_PS = tbl_SCHUELER.NAT_FS) INNER JOIN (tbl_LANDKREISE INNER JOIN (tbl_KOSTENTRAEGER RIGHT JOIN (tbl_EINRICHTUNGEN 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_LANDKREISE.LKR_PS = tbl_EINRICHTUNGEN.LKR_FS) ON tbl_SCHUELER.SuS_PS = tbl_BEARBEITUNG_SCH_VER.SuS_FS) ON tbl_SCHULARTEN.SCM_PS = tbl_EINRICHTUNGEN.SCM_FS) ON tbl_SONDERPAEDAGOGIK.SOP_PS = tbl_BEARBEITUNG_SCH_VER.SOP_FS) ON tbl_UMSETZUNGEN.UMS_PS = tbl_BEARBEITUNG_SCH_VER.UMS_FS
GROUP BY tbl_LANDKREISE.LKR_NameKurz, tbl_UMSETZUNGEN.UMS_Art_lang;
In der Anlage findest Du die Verifikation des Feldes [LKR_NameKurz].
Danke für Dein Engagement
Gromax
Hallo,
wenn eine der Abfragen für die Datenherkunft des Berichtes dienen soll, so ist von einer Gruppierung in der Abfrage abzuraten und die Gruppierung(en) im Bericht selber vorzunehmen.
Versuch mal:
=DomWert("[AnzahlvonLKR_NameKurz]";"[qry_STAT_LandkreiseUmsetzungen3]";"[UMS_Art_lang]='gemeinsame Beschulung' And [color=red]tbl_LANDKREISE.[/color][LRK_NameKurz]='" & [LRK_NameKurz] &"'")
Hallo Franz,
es tut meir leid, aber ich habe den Bericht jetzt ohne die Gruppierungen in den beiden Abfragen und mit ausschließlicher Gruppierung im Bericht selbst generiert; danach habe ich die Formel eingepflegt und die Sache ist wie vorher: Parameter-Abfrage mit anschließender 'Fehler'-Meldung!
Wie kann man denn generell statistischen Zahlenmaterial in Access aufbereiten, so dass ich nicht für jede Zusammenstellung einen eigenständigen Bericht generieren muss? Wenn ich bei Hölscher, Held, Seimert , Minhorst und welchen Access-Publizisten auch immer stöbere und nachlese, so finde ich darin keine eingehenden Antworten!
Vielleicht ist aber auch die Kondtruktion meiner DB falsch angelegt. Vielleicht kannst Du mal einen Blick in meine Tabellen-Beziehungen werfen; vielleicht liegt ja da der Hund begraben?
Vielen, vielen Dank für Deine Geduld!
Gromax
Hallo,
die Beziehungen sehen ja nicht so schlecht aus, von ein paar "Zirkel-Verknüpfungen" mal abgesehen, wobei ich die eigentlichen Datenzusammenhänge nicht so schnell verifizieren kann.
Die Fehlermeldung hängt ja auch nicht von der Verlagerung der Gruppierung in den Bericht ab, sondern bedeutet, dass ein Objekt mit dem angegebenen Namen nicht gefunden wird.....
Nimm mal die Eckklammern um den Abfragenamen in der Domwert-Funktion weg.....
Hallo Franz,
ich habe Deinen Ratschlag umgesetzt, doch die Meldungen bleiben gleich; leider wieder nur Parameter-Dialog und 'Fehler' aber kein gewünschtes Ergebnis.
In Analogie zur Verwendung in der Anzahl-Formel von [LKR_NameKurz] mit umgebenden Apostrophen habe ich auch in Deine Formel diese Apostrophen beigefügt; dann erscheint keine Parameter-Frage, wohl aber die 'Fehler'-Meldung.
Access muss doch das vorhandene Feld [LKR_NameKurz] aus [tbl_LANDKREISE] und [qry_STAT_LandkreiseUmsetzungen2] kennen und verarbeitet dies doch auch an anderen Stellen u.a. auf gleicher Ebene (LKR-Fußbereich) aber auch im Berichtsfuß (hier ohne Apostrophen??). Hängt es denn irgendwie mit der Syntax im Kriterienbereich der Dom-Funktion zusammen? Für mich sind das einfach sehr viele Fragezeichen.
Viele Grüße
Gromax
p.s.: Zur Visualisierung ein Screenshot in der Anlage
Hallo,
meinen Vorschlag zum Entfernen der Eckklammern um den Abfragenamen hast Du nicht umgesetzt.
Die zusätzlichen Hochkommata (rot markiert) sind definitiv falsch.
Geh mal in den VBA-Editor und öffne dort das Direktfenster. Gebe dort diesen Ausdruck ein:
?Dlookup("[AnzahlvonLKR_NameKurz]","[color=red][[/color]qry_STAT_LandkreiseUmsetzungen3[color=red]][/color]","[UMS_Art_lang]='gemeinsame Beschulung' And [LRK_NameKurz]='" & "[color=green]abcdefgh[/color]" &"'")
und drück die Returntaste (in dieser Zeile)
abcdefgh änderst du ab in einen Kurznamen, den es gibt.
Achte auf die hier gültigen "," statt ";" und "Dlookup" statt "Domwert".
Danach kannst Du auch versuchen, die roten Eckklammern zu entfernen und weiterhin die Qualifizierer(Tabellennamen) vor die Feldnamen zu setzen.
Kommst Du damit nicht klar, lad mal eine funktionierende (abgespeckte und gezippte) DB mit diesen Bericht hier hoch...
Hallo Franz,
natürlich habe ich alle Varianten des Weglassens der Eckklammern durchgespielt, das Ergebnis war - wie berichtet - immer gleich: Parameter-Dialog und 'Fehler'-Meldung.
Toll, dass Du dir meine DB mal anschaust; anbei die abgespeckte Version mit den beiden Berichten. Ich bin wirklich gerspannt, was sich dabei ergibt.
Den Ratschlag mit dem VB-Editor und dem Direktfenster habe ich auch ausprobiert; dort bekam ich immer einen Laufzeitfehler zurück?!
In der Hoffnung
Gromax
Hallo,
hier liegt wohl der Hund im Pfeffer...
Mensch Franz, Du bist große Klasse!! Ich ziehe den Hut und mich beschämt in die Ecke zurück! Dieses hätte ich sehen müssen; ich entschuldige mich, Dir durch meine Unaufmerksamkeit derart viel Zeit gestohlen zu haben; sorry - ganz aufrichtig!
Jetzt funktioniert die ganze Sache und ich habe dank Dir den Glauben an Access wieder gefunden; die richtige Version des Steuerelementinhaltes lautet:
Zitat=DomWert("[AnzahlvonLKR_NameKurz]";"[qry_STAT_LandkreiseUmsetzungen3]";"[UMS_Art_lang]='gemeinsame Beschulung' And [LKR_NameKurz]='" & [LKR_NameKurz] & "'")
Ich schließe mit großem Respekt diese Anfrage und wiederhole die guten Worte, die Dir Marco im "Excel-Center" geschrieben hat!!
Danke
Gromax
Hallo,
bitte keine Untertreibungen ;) ;D ;D ;D ;D ;)