Office: (Office 2016) Bestimmte Werte in Abfrage mit "Anzahl" von einer Zählung ausschließen

Helfe beim Thema Bestimmte Werte in Abfrage mit "Anzahl" von einer Zählung ausschließen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Zusammen, ich habe ein Problem mit einer Abfrage. Ich möchte mir aus einer Tabelle(tbl_produkte), in der Produktnummern (tbl_produkte.ProNr)... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Lightfood, 3. November 2020.

  1. Bestimmte Werte in Abfrage mit "Anzahl" von einer Zählung ausschließen


    Hallo Zusammen,

    ich habe ein Problem mit einer Abfrage. Ich möchte mir aus einer Tabelle(tbl_produkte), in der Produktnummern (tbl_produkte.ProNr) stehen, mit einer Abfrage via "Anzahl" anzeigen lassen, wie oft die Produktnummern jeweils vorhanden sind (dazu erfolgt noch eine Gruppierung nach Kategorien und die Zuweisung des Produktnamens). Die Nummern sind eine Zahl. Gleichzeitig - und hier liegt mein Problem - möchte ich, dass mehrere Produktnummern bei der Zählung nicht berücksichtigt werden.

    Ich habe versucht, das mit Kriterien (z. B. Nicht Wie "5, 7, 19") zu erreichen. Das zeigt aber keine Wirkung.

    Hier die Abfrage (SQL), die noch korrekt funktioniert:

    Code:
    Und hier mein Versuch, bestimmte Produktnummern nicht mitzählen zu lassen:

    Code:
    Ich habe in der Kriterien-Zeile auch den Operator "" ausprobiert - der gibt dann als Ergebnis der Zählung nur -1 aus.

    Ich hoffe das Problem nachvollziehbar beschrieben zu haben. Was mache ich falsch?

    Vielen Dank für eure Hilfe!

    L.

    :)
     
    Lightfood, 3. November 2020
    #1
  2. Hallo,

    an Stelle von
    Code:
    solltest Du Dich mit der Wirkung und Syntax von
    Code:
    beschäftigen.

    Nebenbei ist so eine Hard-Codierung meist Krampf und könnte durch eine Inkonsistenz-Prüfung ersetzt werden - die zu vermeidenden Werte in einer Tabelle stehend vorausgesetzt.
     
  3. Erst einmal nachdenken:
    Die bekommt man nicht heraus, wenn man Anzahlen wegfiltert - also neben falscher Syntax schon mal ein falscher Ansatz.

    Denke mal über folgendes nach, inwieweit es mit dem Thementitel bzw. mit dem eigentlichen genannten Anliegen übereinstimmt:
    Code:
     
  4. Bestimmte Werte in Abfrage mit "Anzahl" von einer Zählung ausschließen

    Hallo Eberhard,

    vielen Dank für den hilfreichen Hinweis - ich habe damit meine Abfrage wie nachfolgend zu sehen ist ergänzt und bin nun wie gewünscht in der Lage, bestimmte Elemente aus der Zählung auszuschließen. Mit anderen Worten - es hat funktioniert. Ein echtes Erfolgserlebnis!

    Code:
    Ich spare mir jetzt auch mal die vorherige Abstraktion in Richtung Produkte/Kategorien/Produktnummern etc. - ich dachte einfach, dass das für den Leser eine verständlichere Darstellung wäre. Muss aber, glaube ich, nicht wirklich sein. Es geht in meinem Fall um Funktionsträger in Vereinen. Ich erstelle ehrenamtlich eine Datenbank für eine Gruppe von Vereinen, in der Informationen zu den Ehrenamtlichen erfasst werden. Mit der obenstehenden Abfrage lasse ich mir ausgeben, in welchem Verein wie viele Ehrenamtliche aktiv sind. Die Ehrenamtlichen haben unterschiedliche Funktionen, was in der Funktionsnummer (FktNr) enthalten ist. Jeder Verein hat eine Kennung (VereinsKennung). Ich habe eine Tabelle (tbl_vereine), in der jeder Verein mit seiner Vereinskennung enthalten ist (Primärschlüssel, jede Kennung kommt nur ein mal vor). In einer anderen Tabelle (tbl_funktionen_ehrenamtliche) sind die Ehrenamtlichen mithilfe ihrer Mitgliedsnummer erfasst, zusammen mit ihrer Funktion (FktNr) und dem Verein (VereinsKennung), in dem sie die Funktion ausüben. Dort kommen die Ehrenamtlichen zum Teil mehrfach vor (wenn sie mehrere Funktionen ausüben) und somit auch die Vereinskennungen. Die Tabellen sind via 1:n-Beziehung "verbunden".

    Doch nun habe ich ein neues, für mich sehr schwieriges "Problem" mit meiner Abfrage: Ich möchte in der Abfrage auch diejenigen Vereine sehen, in denen keine Funktionsträger aktiv sind. Da in der Tabelle tbl_funktionen_ehrenamtliche die Vereinskennungen gar nicht vorkommen, wenn keine Funktionsträger vorhanden sind, werden mir diese Vereine in meiner Abfrage logischerweise auch nicht angezeigt. Wie kriege ich es hin, dass die Vereinskennungen dieser Vereine (die keine Funktionsträger/Ehrenamtlichen haben), die ja in der Tabelle tbl_vereine enthalten sind, in der Abfrage quasi mit dem Ergebnis "0" angezeigt werden?

    Ich hoffe sehr, dass ich meine Fragestellung vernünftig erklären konnte (hat mich zumindest einige Mühe gekostet). Ich würde ja gerne eine beispielhafte DB zur Verfügung stellen, aber das würde mich Stunden kosten (aus Gründen des Datenschutzes kann ich das "Original" natürlich nicht veröffentlichen). Wenn es Fragen gibt, beantworte ich sie natürlich sehr gerne. Ich wäre wirklich froh, wenn mir jemand eine Lösung oder zumindest einen auch für Anfänger verständlichen Tipp geben würde.

    Vielen herzlichen Dank im Voraus und allerseits ein schönes Wochenende!

    L.
     
    Lightfood, 7. November 2020
    #4
  5. Es würde noch etwas besser funktionieren, wenn Du schlicht die von mir gezeigte abfrage mit der Vereinstabelle verknüpfst, weil dann die Datensatzanteile aus tbl_Verein dann nicht nicht mehr durch den JOIN vervielfältigt werden, was in Folge die Gruppierung über alles unnötig macht.

    Das wäre umformuliert: Datensätze aus A, die nicht in B sind
     
  6. Danke für den Link - das schaue ich mir sofort an...

    Das habe ich leider nicht verstanden. Vielleicht muss ich etwas ergänzen: die Vereine sind sozusagen in drei Hierarchieebenen unterteilt, wobei die höheren Ebenen die jeweils untergeordneten Ebenen beinhalten (so ähnlich wie Landes-, Kreis- und Ortsverbände) - das regelt "VBSNr" in "tbl_vereine". Das ist für mich notwendig. Nach diesen drei "Ebenen" ist die Abfrage sortiert. Wenn ich es richtig verstehe, kommt das "Join" durch die Beziehung der Tabellen in die Abfrage - die brauche ich aber - ansonsten funktioniert die Abfrage nicht mehr. Es kann natürlich sein, dass ich da einen Denkfehler mache, aber die Aufteilung der Informationen kann ich nicht anders umsetzen (meine ich zumindest), da Ehrenamtliche mehrere Funktionen und diese auch noch in unterschiedlichen Vereinen ausüben können. Daher also die Aufteilung.

    Habe ich da einen logischen Fehler drin? Was meinst Du mit "vervielfältigen"?

    Herzlichen Dank!

    L.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Lightfood, 7. November 2020
    #6
  7. Bezüglich Vervielfältigen siehe Dir mal die reduzierte Anweisung an, zuerst ohne den Gruppieren-Abschnitt:
    Code:
    Ergänzend lesen: Grundlagen - SQL ist leicht (11) - Reihenfolge der Abfrageabarbeitung u.a.

    Wie Du VBSNr beschreibst, ist das nicht einfach ein Wert, sondern bringt als Fremdschlüssel eine eigene Logik mit hinein. Dann sieht das schon wieder anders aus
     
  8. Bestimmte Werte in Abfrage mit "Anzahl" von einer Zählung ausschließen

    Guten Morgen (liebe Sorgen *rolleyes.gif* ).

    Zum "Vervielfältigen"... ich habe Deine Anweisung angewendet und sollte ich Dich richtig verstehen, dann unterscheiden sich die Ergebnisse darin, dass in der nicht gruppierten Variante gleiche Informationen (Vereinskennungen) mehrfach enthalten sind. In der gruppierten Variante jedoch nicht. Das gilt es zu vermeiden. Wolltest Du mir das sagen? Wenn ja - verstanden, aber in meiner Tabelle (tbl_funktionen_ehrenamtliche), welche für jede Funktion (FktNr) eines Ehrenamtlichen einen Datensatz enthält (der dann natürlich auch die Verbandskennung und die Mitgliedsnummer beinhaltet), kann ich das ja nicht vermeiden. Nur das ermöglicht mir (nach meiner Logik) die Abbildung von Ehrenamtlichen mit mehreren Funktionen in unterschiedlichen Vereinen. Wobei, und das ist jetzt wohl auch noch wichtig, jedem Ehrenamtliche darüber hinaus immer eine Vereinskennung zugeordnet ist, die seine Zugehörigkeit zu dem Verein definiert, in dem er quasi "zuhause" ist, was wiederum in einer dritten Tabelle mit allen Ehrenamtlichen steht. Dort ist dann die Mitgliedsnummer der Primärschlüssel - jeder Ehrenamtliche ist dort mit seinen Personendaten etc. nur ein mal vorhanden.

    Zur VBSNr in tbl_vereine - ja, da hast Du wohl recht. Sie ist, wenn ich die Struktur der Information denke, im Grunde die höchste Ebene, da sie die drei Ebenen der Vereine abbildet. Sie dient mir im Moment hauptsächlich zur Sortierung, soll und wird aber später weitere Zuordnungen ermöglichen.

    Ich hoffe wirklich, dass ich mit meiner ganzen Prosa nicht zu sehr nerve, aber ich muss es halt erklären - sonst wird mir wohl kaum einer helfen können. Und ja, mir wird langsam klar, dass ich auf der Ebene der Abfragen um ein einigermaßen solides SQL-Grundwissen nicht herum komme (zumindest nicht dann, wenn ich die Funktionen realisieren möchte, die ich benötige). Es nervt mich ja selbst, bei jedem zweiten Schritt wieder wie der Ochs vorm Berge zu stehen! Ich werde mir das jetzt step by step aneignen (meine Frau wird mich dafür lieben!), aber das geht halt nicht so schnell. Bisher war ich voll damit beschäftigt, ein sinnvolles Datenmodell zu konzeptionieren, die Daten zu erfassen und erste Formulare zur Pflege der Daten zu erstellen.

    Bis dahin hoffe ich, noch die eine oder andere "schräge" Frage stellen zu dürfen. Etwas Hilfe würde mich gaaaanz sicher enorm motivieren und ich wäre dafür wirklich mehr als dankbar!


    Zu Deinem Link (Vergleich von Datensätzen in zwei Tabellen)... ich habe das genau nachvollzogen (inkl. Verknüpfungseigenschaft), erhalte aber stets ein leeres Abfrageergebnis. Hier mein Statement:

    Zur Erinnerung:
    • tbl_funktionen_ehrenamtliche enthält die Verbandskennungen mehrfach, aber eben nicht alle (wenn in einem Verein kein Funktionsträger vorhanden ist)
    • tbl_vereine enthält alle Vereinskennungen ein mal (Primärschlüssel)

    Code:
    Erste Frage: Was mache ich falsch?
    Zweite Frage: Wie kann ich diese "Funktion" dann in meine Abfrage integrieren?

    Herzlichen Dank für jede Hilfe! (Ja, ich arbeite mich ab sofort durch "SQL ist leicht", aber wie gesagt, es dauert einfach und ich würde gerne trotzdem weiterkommen, auch wenn es im Moment viel dummes Abschreiben meinerseits bedeutet. Ist mir bewusst.)

    Einen schönen Sonntag zusammen!

    L.
     
    Lightfood, 7. November 2020
    #8
  9. Erste Frage => Du solltest mindestens ein Feld der linken Tabelle verwenden.

    Zweite Frage => Es kommt darauf an, wie die Gesamtdarstellung bzw. auch Weiterverwendung des Ergebnisses sein soll.
    Nebeneinander darstellen (verschiedene Unterformulare)? Per UNION Teilergebnisse zusammenführen? Abfragen so umformulieren, dass man nur die Kriterien kombiniert und auf ein gleiches Ergebnis wie bei UNION kommt? Verknüpfung per JOIN?

    Generell: Bei Abfragen beziehe ich mich gerne unmittelbar auf benötigte Tabellen. Dazu müsste man das Datenmodell kennen (und verstehen), um dann daraus einfache, direkte und schnelle Wege für Abfrageformulierungen finden zu können. In das letztere fließt dann viel Erfahrung mit ein, also "Abschreiben" ist kein schlechter Weg, wenn man da zusätzlich den Weg des Verstehenwollens einbindet.
    Zuvor muss aber (wichtig!) das Datenmodell stimmig und funktionabel sein.
     
  10. Oh ja - "Verstehenwollen" ist definitiv vorhanden und in Arbeit! *Smilie

    Mache ich das denn nicht mit: tbl_funktionen_ehrenamtliche.FktVereinsKennung ?

    ...das Feld kommt aus der linken Tabelle und tbl_vereine.VereinsKennung aus der rechten Tabelle (ist Primärschlüssel).

    Zur zweiten Frage: Ich möchte eigentlich "nur", dass in der Abfrage, in der ich die Funktionsträger in jedem Verein zähle, auch die Vereine vorkommen, die keine Funktionsträger haben - quasi mit dem Zählwert "0".
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Lightfood, 7. November 2020
    #10
  11. Vielleicht hilft das:


    Bestimmte Werte in Abfrage mit "Anzahl" von einer Zählung ausschließen beziehungen.png
     
    Lightfood, 7. November 2020
    #11
  12. Wie schon geschrieben ist ein Beziehungsbild an sich dramatisch hilfreich, weil absolute Grundlage jeder Überlegung, wenn man Tabellen und deren Felder und letztendlich deren Daten irgendwie zusammenbringen will - es sei denn, man hat das alles schon im Kopf.
    Die Hilfe zu einer Tabelle, die im Bild gar nicht vorkommt, kannst Du aber selbst beurteilen.

    Zudem fehlt es mir bei der gezeigten Darstellung etwas an Übersicht (Linien entwirren?).
    Bei den drei Tabellen links oben kann man Kreisverkehr fahren. Da wäre ich immer besonders nachdenklich und vorsichtig.

    Einer Verknüpfung in einer Abfrage sind Beziehungen absolut egal. Man kann die Beziehungen nachahmen (der Abfrageeditor macht das per Standard), man kann aber auch etwas total anderes machen. Das Einzige, was da in Zusammenhang ist, ist der Fakt, dass Indizes, die zwangsweise oder automatisch durch die Beziehungserstellung gesetzt werden, genutzt werden können.
    Ansonsten tut die Verknüpfung das, was geschrieben steht.
    Code:
    Da ist klar A die linke Seite.
     
  13. Bestimmte Werte in Abfrage mit "Anzahl" von einer Zählung ausschließen

    Kreisverkehr ist wirklich gut! *biggrin.gif*

    Bitte Strg + F5 ...ich habe die Übersicht aktualisiert.

    Bezüglich der Verknüpfungen bin ich mir in der Tat nicht sicher, ob ich die 1:n-Beziehung zwischen tbl_funktionen_ehrenamtliche.FktVereinsKennung und tbl_vereine.VereinsKennung wirklich brauche, da ich ja schon die Beziehung von tbl_vereine.VereinsKennung zu tbl_ehrenamtliche.VereinsKennung habe. Von den anderen Beziehungen würde ich behaupten, dass ich sie brauche.

    Übrigens: VereinsKennung und FktVereinsKennung sind dieselben Kennungen - ich habe in der einen Tabelle nur das "Fkt" hinzugefügt, um es für mich unterscheidbarer zu machen. Wäre wohl eigentlich nicht nötig.

    Über den Rest Deiner Antwort muss ich erst noch nachdenken............
     
    Lightfood, 8. November 2020
    #13
  14. Ich habe es jetzt noch mehrfach so gemacht, bekomme aber immer ein leeres Abfrageergebnis. (Da die Tabellen beim Öffnen bereits durch die Beziehung eine Verbindung haben, habe ich diese gelöscht und gemäß der Anleitung eine neue Verknüpfung erstellt.)

    So sieht es jetzt aus:

    Code:
    Bestimmte Werte in Abfrage mit "Anzahl" von einer Zählung ausschließen bsp.png


    Bin ratlos.
     
    Lightfood, 8. November 2020
    #14
  15. Feldname des Fremdschlüsselfeldes (n-Seite) sollte niemals den gleichen Feldnamen wie auf der 1-Seite haben.
     
Thema:

Bestimmte Werte in Abfrage mit "Anzahl" von einer Zählung ausschließen

Die Seite wird geladen...
  1. Bestimmte Werte in Abfrage mit "Anzahl" von einer Zählung ausschließen - Similar Threads - Bestimmte Werte Abfrage

  2. E-Mail senden, wenn der Wert bestimmter Zelle unterschritten ist

    in Microsoft Excel Hilfe
    E-Mail senden, wenn der Wert bestimmter Zelle unterschritten ist: Hallo zusammen Ich bin ein Anfänger in Sachen VBA. Deswegen wollte ich Eure Meinung zu meinem Fall hören: Thema => Materialbestand Excel soll mir einen Brief im Outlook öffnen, wenn die Anzahl...
  3. Subtraktion des niedrigsten Wertes vom höchsten Wert aus einem bestimmten Bereich

    in Microsoft Excel Hilfe
    Subtraktion des niedrigsten Wertes vom höchsten Wert aus einem bestimmten Bereich: Guten Tag  Ich komme leider bei meiner Auswertung nicht weiter. Dazu habe ich einen Anhang hochgeladen. Ich benötige eine Formel für folgenden Sachverhalt. Wenn in einem bestimmten Bereich der...
  4. 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...
  5. 2 bestimmte Werte aus Abfrage ausschließen

    in Microsoft Access Hilfe
    2 bestimmte Werte aus Abfrage ausschließen: Hallo, mein Problem ist wahrscheinlich supereinfach, aber im Formum und über die Access-Hilfe bin ich nicht fündig geworden, daher würde ich mich freuen, wenn jemand mich erleuchten könnte! Ich...
  6. VBA: Wenn Zelle X einen bestimmten Wert hat, soll in Zelle Y etwas eingetragen werden

    in Microsoft Excel Hilfe
    VBA: Wenn Zelle X einen bestimmten Wert hat, soll in Zelle Y etwas eingetragen werden: Servus zusammen, Zunächst mal: Freut mich unter Euren Reihen zu sein ;-) Nun zum Problem. Ich möchte über ein Makro eine Funktion bauen, die wie folgt aufgebaut ist: Spalte A hat nur ein...
  7. Wenn in Zeile bestimmter Wert dann ganze Zeile in anderes Tabellen Blatt Kopieren.

    in Microsoft Excel Hilfe
    Wenn in Zeile bestimmter Wert dann ganze Zeile in anderes Tabellen Blatt Kopieren.: Hallo, habe zwei Probleme wo ihr mir sicher helfen könnt: 1) Wenn in Zelle A2 ein bestimmter Wert steht (PWM), dann soll die ganze Zeile in ein extra dafür angelegtes Tabellen Blatt (PWM)...
  8. Abfrage: suche nach bestimmtem Wert in Textfeld

    in Microsoft Access Hilfe
    Abfrage: suche nach bestimmtem Wert in Textfeld: Habe in einer Abfrage folgendes unter Kriterien stehen: Wie [geben Sie den Suchbegriff ein]. Um alle Datensätze angezeigt zu bekommen, in denen ein bestimmter Begriff vorkommt, muss ich den...