Office: Abfrage alle Datensätze anzeigen

Helfe beim Thema Abfrage alle Datensätze anzeigen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, habe eine Abfrage (A), die als Basis 2 andere Abfragen hat (B und C). Verknüpft sind B und C mit dem Feld Partner_ID. Habe verknüpft mit... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Hartmut_M, 11. September 2013.

  1. Abfrage alle Datensätze anzeigen


    Hallo,
    habe eine Abfrage (A), die als Basis 2 andere Abfragen hat (B und C).
    Verknüpft sind B und C mit dem Feld Partner_ID.

    Habe verknüpft mit Eigenschaft 2 alle Datensätze aus B und Datensätze aus C die im Inhalt gleich sind.

    Wenn die Partner-ID in B nicht vorhanden ist sondern nur in C, wird der Datensatz nicht angezeigt.

    Gibt es eine Möglichkeit, dass generell alle Datensätze angezeigt werden?

    Danke für eure Unterstützung.
    Gruß Hartmut

    :)
     
    Hartmut_M, 11. September 2013
    #1
  2. Ja. Anders verknüpfen.
     
  3. Hallo,

    dazu brauchst du eine Vereinigung der Abfragen mit allen Variationen, also alle aus A mit Übereinstimmung in B, alle aus A ohne Übereinstimmung mit B, alle aus B ohne Übereinstimmung mit A.

    (--> Mengenlehre, Schulstoff 5./6. Klasse)
     
    Anne Berg, 13. September 2013
    #3
  4. Abfrage alle Datensätze anzeigen

    Hallo Anne,
    ich mag deinen Humor. Zu meiner Schulzeit gab es noch keine Mengenlehre. *eek.gif*
    Versuche mich trotzdem einzudenken und kann deiner Logik folgen *rolleyes.gif*

    Die Handlung ist mir schon klar. Steh aber im Moment auf dem Schlauch das umzusetzen:
    Vereinigung der Abfragen mit allen Variationen, also alle aus A mit Übereinstimmung in B, alle aus A ohne Übereinstimmung mit B, alle aus B ohne Übereinstimmung mit A.

    Brauche ich dafür eine neue Abfrage oder wie stelle ich das ein?

    Vielen Dank für deine Geduld mit einem älteren Menschen. (Ab wann ist man eigentlich alt? *entsetzt )
    (Zumindest mehr Excel als Access begabt *wink.gif* )

    LG Hartmut
     
    Hartmut_M, 13. September 2013
    #4
  5. Ja, dafür brauchst du eine Union-Abfrage (-> Stichwort "Vereinigung").

    Beispiel: Code:
    PS:
    Freut mich, dass du meinen Humor erkennst bzw. verstehst, andere sehen das bisweilen anders.
    Und ja, man ist wohl immer so alt wie man sich fühlt.
     
    Anne Berg, 13. September 2013
    #5
  6. Ab dem Moment, wo man sich nicht mehr weiterentwickelt (lernt), sondern nur noch vom Bestand lebt.
    Und da können schon 20-jährige alt sein.
     
  7. Hallo Anne, im Beispiel sieht es so einfach aus. Meine Abfrage ist allerdings etwas umfangreicher. Es liegen 3 Abfragen zugrunde.
    A_Umsatz_Gesamt_GJ
    A_Umsatz_Gesamt_VJ
    A_Umsatz_Gesamt_VVJ
    Verknüpfungsfeld ist Partner_ID

    Spalten sind aus Abfragen:
    Partner_ID (Gruppierung) aus A_Umsatz_Gesamt_GJ_Test
    Partner (Gruppierung) aus A_Umsatz_Gesamt_GJ_Test
    Sparte (Gruppierung) aus A_Umsatz_Gesamt_GJ_Test
    AnzahlGJ (Summe) aus A_Umsatz_Gesamt_GJ_Test
    AnzahlVJ (Summe) aus A_Umsatz_Gesamt_VJ_Test
    AnzahlVVJ (Summe) aus A_Umsatz_Gesamt_VVJ_Test
    SummeGJ (Summe) aus A_Umsatz_Gesamt_GJ_Test
    SummeVJ (Summe) aus A_Umsatz_Gesamt_VJ_Test
    SummeVVJ (Summe) aus A_Umsatz_Gesamt_VVJ_Test

    Hier der Code meiner Abfrage:
    Code:
    Habe versucht, deine Anweisung darin einzuarbeiten indem ich den code kopiert habe und versucht habe die join Anweisung zu ändern. Erhalte aber Syntaxfehler in Union-Abfrage
    Kannst du evtl. erkennen, wo mein Fehler liegt?
    LG Hartmut
    Code:
     
    Hartmut_M, 13. September 2013
    #7
  8. Abfrage alle Datensätze anzeigen

    Hallo Hartmut,

    Access gibt dir einen Hinweis, indem es die falsch platzierte Klammer markiert: Code:
    Aber nicht nur die Klammer ist falsch, sondern auch das WHERE-Statement. Das kommt üblicherweise erst nach dem FROM-Part, wobei mehrere Kriterien mit AND oder OR verknüpft werden.

    Wie die Logik der UNION-Abfrage auf Basis dreier Abfragen aussehen muss, kann ich dir allerdings nicht sagen. Da musst du mir erstmal das Beziehungsgeflecht zwischen A, B und C erklären.

    Das entspricht dann wohl nicht den Tatsachen, oder?
     
    Anne Berg, 13. September 2013
    #8
  9. Nachtrag:
    Denkbar wäre aber auch folgende Lösung: Code:
    Und darauf aufbauend die folgende Zusammenfassungs-Abfrage: Code:
     
    Anne Berg, 13. September 2013
    #9
  10. Hallo Anne, danke erstmal für die Rückmeldung. Bin nicht mehr im Büro. Montag gehts weiter. Habe zuerst nur von 2 Abfragen gesprochen, da mir nicht bewusst war, dass es so kompliziert wird.
    Die eigentliche Problemstellung ist folgende. Ich bekomme quartalsmässig eine Auswertung von Umsätzen unserer Partner. In einem Formular möchte ich die Umsätze von drei Jahren nebeneinander in einem Datensatz darstellen. Also Umsatz bis zum 2. Quartal 2013 im Vergleich zum Umsatz bis 2. Quartal 2012 und Umsatz 2. Quartal 2011. Die Umsatzzahlen werden fortlaufend in der Tabelle eingelesen.
    Habe mir eine Funktion für eine 1. Abfrage geschrieben geschrieben, die dann aus der Tabelle die Umsätze des lfd. Jahres des aktuellen Quartals berechnet. Die 2. Abfrage das Gleiche zum Vorjahr und mit der 3. Abfrage dann eben für das Vprvorjahr.
    Die drei Abfragen fasse ich dann in einer neuen Abfrage zusammen um die Umsätze der 3 Jahre dann in eine Zeile des Endlosformulars zu bekommen.
    Geht auch ohne Probleme.

    Allerdings kommt es vor, dass es für einige Partner in 2013 keine Umsätze gibt und die 2012 und 2011 dann nicht angezeigt werden. Habe eingestellt, dass die Daten aus 2013 immer angezeigt werden.

    Bisher ist mir keine bessere Lösung als mit den drei Abfragen eingefallen.

    Ich hoffe, ich konnte die Aufgabenstellung verständlich machen.

    So, für heute erstmal noch einen schönen Abend und ein schönes WE.

    Bist du eigentlich 24 Stunden an 7 Tagen der Woche im Forum?

    Lieben Gruß Hartmut
     
    Hartmut_M, 13. September 2013
    #10
  11. Hallo zusammen.
    Der UNION-Ansatz ist falsch, da dieser die Daten untereinander darstellt.
    (Nebenbei: es würde ein Left- und ein RightJoin reichen, wobei immer noch die InnerJoin-Datensätze doppelt wären!)

    Es sollte eine Umsatzabfrage reichen, die mit unterschiedlichen Kriterien gefüttert wird (Jahreszahl), ansonsten ist das Datenmodell verbesserungsfähig.

    Wenn du eine Quartals-Hilfstabelle hast, kannst du die Einzelabfragen damit
    joinen (TabQua LeftJoin TabUms), so dass du zu jedem Quartal einen Umsatzfeld (0 oder NULL) erhälst.
    Die finale Abfrage Joint dann die drei Abfragen über die Quartale.

    Alternativ könnte man auch eine Kreuztabellenabfrage mit fix. Spaltenüberschriften verwenden.

    Genaueres kann man nur sagen, wenn man die konkrete Datenstruktur kennt.
     
  12. Hi,
    dann hast du meinen letzten Vorschlag wohl noch nicht gesehen (oder verstanden).
    Auch diese Einschätzung geht an der Realität (bzw. an den Erkenntnissen der Mengenlehre) vorbei.
    Die Aufgabenstellung ist dir bekannt und du hast sie verstanden?!
    ...möglicherweise.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Anne Berg, 13. September 2013
    #12
  13. Abfrage alle Datensätze anzeigen

    OT:
    Anne, die schnippische Reaktion hättest du dir sparen können.

    Deinen letzten Nachtrag habe ich nicht analysiert, da mich unformatierte
    SQL-Anweisungen, die man hin- und herscrollen muss, gruseln.

    BTW: Aliase ausserhalb der ersten Select-Anweisung einer UNION-Abfrage werden ignoriert und sind somit überflüssig.

    Was die doppelten Datensätze angeht, gebe ich dir recht. Hier bin ich fälschlicherweise von der Verwendung des ALL-Prädikats ausgegangen.
    Ein InnerJoin ist jedoch überflüssig, wenn bei den LeftJoins auf das NULL-Kriterium verzichtet wird, da keine zusätzlichen Datensätze geliefert werden.

    Ansonsten gehe ich nicht weiter auf deine provokant formulierten, mit entsprechenden Satzzeichen versehenen, Kommentare ein.
    Sollte diese eine Ausprägung deines Humors sein, gehöre ich zur Gruppe derer, die ihn ohne Zusatz von Smilies nicht versteht.

    Ich diskutiere gerne unterschiedliche Lösungsansätze, jedoch nicht auf diesem Niveau.
     
  14. Ja, jetzt wird Licht. Solche Aussagekraft hätte man gleich zu Beginn erwartet.

    Grundproblem: Du machst Umsatzvergleiche über mehrere Jahre, hast aber den Fall, dass darin Partner ausfallen und neue hinzu kommen können. Außerdem könnten Partner in Teilperioden keine Umsätze abliefern (kein Umsatz-Datensatz).
    Daher scheitern dann JOIN-Versuche bzw. sie geben je nach Vorhandensein von Partnern und Umsätzen unterschiedliche Ergebnisse ab, die aber nicht wirklich brauchbar weil unvollständig sind.

    Das Stichwort Mengenoperationen - ich beschränke auf Operationen und lasse die Lehre den Wissenschaftlern - war schon ein gutes. Um sauber zu arbeiten, müsste man schon bei Deinen "gegebenen" Abfragen ansetzen und diese modifizieren. Um fehlende Partner zu ergänzen, setzt man eine vollständige Liste der Partner mit der Liste der aktuell vorhandenen Partner per LEFT JOIN zusammen. Gleiches könnte man anstellen, um fehlende Umsätze als Datensätze zu erzeugen. Damit macht man das, was Anne in Beitrag #9 probiert. Man müsste aber nicht neue Abfragen schreiben, wenn man den Auswertungszeitraum auf 5 Jahre erweitert, sondern nur ein paar Parameter abändern.
    Auch gewänne man Variabilität, sprich man könnte beliebige Zeiträume gegenüberstellen: Jahre, Halbjahre, Quartale, Monate, Kalenderwochen?

    Das klingt in meinen Ohren abenteuerlich, so dass ich ungern die vorhandenen Abfragen als Ausgangsbasis einsetzen würde.

    Das wäre die richtige Ausgangsbasis, um einen direkten (und performanten) Weg zur nun bekannten Wunschsituation zu entwickeln.

    Eine beispielhafte Tabelle dieser Auswertung mit einigen Spieldaten, die den Charakter der Inhalte verdeutlichen, wäre ganz gut.
    Mit welchen Datenmengen hat man hier zu tun?
     
  15. Hallo liebe Helfer,
    vielen Dank erstmal für eure Lösungsansätze, die ich Montag austesten werde (#10). Dann werde ich auch eine einfache Excel Tabelle einstellen, die die Basisdaten für die Access Tabelle liefert. Ich war mir zu Beginn nicht der Komplexität des Vorganges bewusst, sodass die Problemstellung nicht ausreichend beschrieben wurde. Tut mir leid, ich versuche künftig darauf zu achten.
    Vorerst wünsche ich euch ein erholsames, nicht zu nasses Wochenende.
    Gruß Hartmut
     
    Hartmut_M, 13. September 2013
    #15
Thema:

Abfrage alle Datensätze anzeigen

Die Seite wird geladen...
  1. Abfrage alle Datensätze anzeigen - Similar Threads - Abfrage Datensätze anzeigen

  2. Datenbank Abfrage - einzelne Datensätze löschen

    in Microsoft Access Hilfe
    Datenbank Abfrage - einzelne Datensätze löschen: Hey ihr Lieben, ich habe eine Abfrage erstellt, die ich dann automatisiert in Excel habe. Nun ist es aber so, dass in dieser Abfrage 2-3 Datensätze enthalten sind, die sich mehr oder weniger...
  3. Anzahl Datensätze einer Abfrage in Formular anzeigen

    in Microsoft Access Hilfe
    Anzahl Datensätze einer Abfrage in Formular anzeigen: Hallo liebes Forum, ich möchte in meinem Formular die Anzahl an Datensätzen einer 2. Abfrage anzeigen lassen. Das Formular basiert daher nicht auf dieser. Die Funktion "DomAnzahl" habe ich für...
  4. Abfrage: In Datensatz nur neuestes Datum anzeigen

    in Microsoft Access Hilfe
    Abfrage: In Datensatz nur neuestes Datum anzeigen: Hallo zusammen Ich hab ne Frage: Wie kann ich in einer Abfrage, die eine Spalte mit laufenden Monats-End-Daten (z.B. 31.01.2011, 28.02.2011, 30.03.2011, 31.04.2011, etc.) enthält, nur das neueste...
  5. Abfrage alle anzeigen außer Datensatz mit dem Wert "xy" in dieser Spalte

    in Microsoft Access Hilfe
    Abfrage alle anzeigen außer Datensatz mit dem Wert "xy" in dieser Spalte: Wenn ich eine Abfrage erstelle und möchte mir ALLE anzeigen lassen außer den Datensatz der in dieser Spalte den Wert "xy" hat, wie gestalte ich die Abfrage? Vielen Dank erst einmal 127367
  6. Per Abfrage alle Datensätze anzeigen, die in einem Feld gleichen Wert haben

    in Microsoft Access Hilfe
    Per Abfrage alle Datensätze anzeigen, die in einem Feld gleichen Wert haben: Hallo zusammen, ich möchte folgendes erreichen: Ich habe eine Tabelle mit Kundenadressen. Nun möchte ich, dass mir eine Abfrage alle die Datensätze auswirft, die im Feld "firma" den gleichen...
  7. Mit einer Abfrage letzten Datensatz anzeigen

    in Microsoft Access Hilfe
    Mit einer Abfrage letzten Datensatz anzeigen: Hallo, ich folgendes Problem: Ich habe eine Datenbank wo ich zu ArtikelNr, die Lagerbewegungen eingebe. Mittels einer Abfrage möchte ich nun den letzten Datensatz zur jeweiligen ArtikelNr...
  8. Abfrage: Nur übereinstimmende Datensätze anzeigen

    in Microsoft Access Hilfe
    Abfrage: Nur übereinstimmende Datensätze anzeigen: Hallo Zusammen! Eigentlich kann es nicht so schwer sein, jedoch zerbreche ich mir gerade den Kopf daran. Ich habe eine Tabelle in der mehrere Datensätze lagern die mit einem Fälligkeitsdatum...
  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