Office: Gruppierung mit Bedinung

Helfe beim Thema Gruppierung mit Bedinung in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, wenn ich in eine Abfrage die Gruppiert ist, eine Bedingung hinzufüge, erhalte ich immer den Fehler „Datentypenkonflikt im... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von User, 9. Januar 2017.

  1. Gruppierung mit Bedinung


    Hallo zusammen,

    wenn ich in eine Abfrage die Gruppiert ist, eine Bedingung hinzufüge, erhalte ich immer den Fehler „Datentypenkonflikt im Kriterienbereich“.
    Es ist richtig, dass es im Kriterienbereich auch „NULL“ Werte gibt da ich zwei Tabellen miteinander vergleichen möchte (Soll/Ist). Das Kriterium ist ein Datumswert.
    Also f.NUW kann auch nichts enthalten da es einfach keinen Datensatz hierfür gibt.

    WHERE f.NUW>=Date()

    Danke vorab.

    Grüße

    :)
     
  2. Zeige doch bitte mal den gesamten SQL_String
     
  3. Anbei der SQL-Code

    Code:
     
  4. Gruppierung mit Bedinung

    Versuch's so:
    Code:
    wenn die Nullwerte nicht gezeigt werden sollen und so
    Code:
    wenn du sie sehen willst.
    maike
     
  5. Hat leider nicht funktioniert, habe das auch schon probiert *frown.gif*

    Habe es so erstellt, das gefällt mir aber nicht, da ich später das Datum durch ein Formular den Benutzer setzen lassen möchte und mit dieser Abfrage würde das ja nicht funktionieren :/

    Code:
     
  6. Code:
    Das Kriterium muss funktionieren, wenn NUW vom Datentyp Date ist. Mit NULL kann SQL (im Unterschied zu diversen VBA-Gestaltungen) gut umgehen.

    Alles andere spielt keine Rolle. NULL-Werte entfallen bei einem Vergleich automatisch, da man mit NULL nicht vergleichen kann.
    Die WHERE-Klausel wird dann vor dem Gruppieren ausgeführt, somit hat das Gruppieren keinen Einfluss auf das Filtern.

    Ergänzung: NULL für NUW kann auftreten, weil es in der Abfrage qryFortbildungenAktuell NULL ist aber auch, weil durch den OUTER JOIN keine Feldanteile aus qryFortbildungenAktuell geliefert werden. Im Extremfall könnten unterschiedliche Ergebnisse auftreten, je nach dem, ob der Ablaufplan erst das Filtern oder erst das Joinen vorsieht.

    Zur Sicherstellung würde man die Abfrage qryFortbildungenAktuell mit ihrer eigenen SQL-Anweisung hier einbauen und darin den Filter vornehmen.
     
  7. Ich verstehe das gerade nicht :/
    NUW ist in der Abfrage qryFortbildungenAktuell und wird wie folgt erstellt:
    Code:
    Im #5 von mir funktioniert das mit dem Filter, die Abfrage gefällt mir aber nicht (siehe Post-Beschreibung) daher die Abfrage wie in #3
     
  8. Gruppierung mit Bedinung

    \@ebs17
    Moin, jetzt habe ich es verstanden (denke ich zumindest).
    Also die Abfrage wie ich es in Post #5 gemacht habe, wäre dann richtig, denn hier mache ich den Filter?
     
  9. Wenn die SQL-Anweisung selber ohne Fehler ausgeführt wird und dann noch das erwartete richtige Ergebnis erscheint, kann ja das Ganze nicht falsch sein.

    Aber auch: die Richtung, die ich meinte, stimmt.
    Jetzt wird nämlich erst die rechte Seite des LEFT JOIN gefiltert und anschließend gruppiert (was die Datenmenge deutlich reduziert) und danach erst mit der anderen Tabelle gejoint. Bei aufwändigeren Operationen wie JOIN wird man da schnell mal auch zeitliche Einsparungen erleben.

    Persönlich habe ich es mir angewöhnt, Abfragen aus rein Tabellen aufzubauen. In Deiner Abfrage ist die Abfrage qryFortbildungenAktuell enthalten, für den Außenstehenden ein unbekanntes Wesen. Ggf. sind da Ungeschicklichkeiten enthalten (z.B. eine Sortierung wäre an der Stelle unnütz aber zeitverbrauchend), andererseits könnte man vielleicht die datenmengenreduzierende Filterung bereits eine Stufe niedriger und damit effizienter einbauen.
     
  10. \@ebs17 Ok. Danke dir *Smilie
     
  11. Hallo zusammen,

    leider ist der Weg nicht ganz der Richtige den ich bei der Abfrage gefahren bin.

    Ich versuche euch erstmal meine Ausgangssituation zu erklären.
    Es gibt eine tabelle (tblMatrix) in der ich zu jeden Bereich und zu jeder Unterweisung den Soll habe (wie viele Personen in welchen Bereich eine Fortbildung haben sollten)

    ID; unmaLZRefID (Bereich); unmaUWRefID (Unterweisung/Fortbildung); unmaSoll


    Nun habe ich auch eine Tabelle (tblUnPe).
    Hier sind die Personen gepflegt, die eine Unterweisung/Fortbildung erhalten haben (Datum wann die UW/Fb. erhalten wurde und bis wann diese gültig ist (Spaltenname NUW)).

    Wenn ich nun folgende Abfrage ausführe, erhalte genau die Anzahl der Personnen, die zum Bestimmten Datum eine UW/Fb. erhalten haben.

    Code:
    Wenn ich jetzt den Vergleich haben möchte (Soll/Ist) und die Abfrage mit einem LEFT JOIN versehe, erhalte ich nur die Datensätze, wie aus der ersten Abfrage und nicht alle Daten, die in der Tabelle „tblMatrix“ enthalten sind.

    Code:
    Was mache ich hier falsch?

    Grüße
     
  12. Hallo zusammen,

    anbei eine die DB. Vielleicht ist es besser so mein Problem zu erklären.
    Die Abfrage Soll/Ist liefert nicht alle Ergebnisse aus der Matrix-Tabelle.

    Ich möchte nur eine Gegenüberstellung haben, zu einem Stichtag (Bsp. 01.01.2015) wer eine Unterweisung hat bzw. nicht, für jeden Bereich.
    Danke euch vorab.
     
  13. Gruppierung mit Bedinung

    Hallo,

    mittlerweile habe ich es fast geschafft.

    Das Having funktioniert nicht bzw. die Bedinung kennt die Tabelle m. nicht.
    Wie kann ich diesen Fehler beheben?

    Grüße

    Code:
     
  14. Umformulierung der Abfrage:
    - Die Bedingungen aus HAVING gehören in den WHERE-Teil.
    - Das Nur-Zählen kann man unmittelbar zusammen mit dem Gruppieren erledigen. Das erspart eine Verschachtelungsebene.
    - Beseitigung einiger unnützer Klammern.
    Code:
    So läuft die Abfrage ohne Laufzeitfehler. Zur Logik machte ich mir keine Gedanken, schon weil es zu mühselig ist. Tabellenabhängigkeiten würde ich aus einem Beziehungsbild ableiten (hier nicht vorhanden) und kaum aus verschachtelten Abfragen, wenn dann die Tabellenanzahl etwas höher ist.
     
  15. Hallo @ebs17,

    vielen Dank für deine Unterstützung.
    Die Abfrage funktioniert soweit.
    Nun habe ich nur ein Problem, es gibt Datensätze, in dem sich das Datum überlapt.

    Bsp.:

    Code:
    Ich möchte das dieser nur 1x gezählt wird. Habe es auch schon mit Distinct probiert, hat leider nicht funktioniert.

    Grüße
     
Thema:

Gruppierung mit Bedinung

Die Seite wird geladen...
  1. Gruppierung mit Bedinung - Similar Threads - Gruppierung Bedinung

  2. Unmittelbar nebeneinander liegende Gruppierungen erstellen.

    in Microsoft Excel Hilfe
    Unmittelbar nebeneinander liegende Gruppierungen erstellen.: Hallo liebe Excel-Experte, ich möchte gerne unmittelbar nebeneinander liegende Gruppierungen von Spalten erstellen. Das gelingt mir aber nicht. Ich muss immer eine nicht gruppierte Spalte...
  3. Gruppierfeld

    in Microsoft Outlook Hilfe
    Gruppierfeld: Moin zusammen, ich habe in einem Gruppierfeld „Reisekilometer“ Werte drin stehen, die nicht zu der Gruppe gehören. Angezeigt wird die Gruppe mit Reisekilometer: Bestellnummer Tis321483577: 56...
  4. Zwischensummen

    in Microsoft Access Hilfe
    Zwischensummen: Hallo zusammen, ich möchte aus dieser Tabelle ermitteln, wie lange welche Person in welchem Land war. Dabei müssen eventuell mehrere Aufenthalte im gleichen Land zusammengefasst werden. Und es...
  5. Gruppierung beschriften

    in Microsoft Excel Hilfe
    Gruppierung beschriften: Hallo, gibt es eine Möglichkeit Zeilen- oder Spaltengruppierungen zu beschriften/benennen? Die Möglichkeit über eine zusätzliche Zeile oder Spalte ist mir bekannt. Alternative dazu? Grüße,...
  6. Abfrage, Gruppierung und Anzahl bestimmter Werte mit DomAnzahl

    in Microsoft Access Hilfe
    Abfrage, Gruppierung und Anzahl bestimmter Werte mit DomAnzahl: Guten Abend, ich habe eine Tabelle [tbl_Prüfungen] mit den Spalten [Prüfort], [Prüfanlage], [Prüfergebnis]. Als Prüfergebnis gilt 1 als in Ordnung, 0 als nicht in Ordnung. Ein Prüfort enthält...
  7. Gruppierung Bericht aus Kreuztabelle

    in Microsoft Access Hilfe
    Gruppierung Bericht aus Kreuztabelle: Hallo ich habe Probleme bei der Erstellung eines Berichtes aus einer Kreuztabelle. Die Kreuztabelle hat einzelne Standorte in der der Spaltenüberschrift ca. 30 Standorte. In der...
  8. Pivot Tabelle sortiert Monate bei Jahreswechsel nicht richtig

    in Microsoft Excel Hilfe
    Pivot Tabelle sortiert Monate bei Jahreswechsel nicht richtig: Guten Abend! ich habe ein kleines Problem mit einer Pivot-Tabelle und hoffe, dass mir hier jemand helfen kann. In den Quelldaten für die Tabelle hat jeder Datensatz ein fortlaufendes Datum. In...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden