Office: (Office 2019) Abfrage über zwei Tabellen

Helfe beim Thema Abfrage über zwei Tabellen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Zusammen, ich benötige Hilfe bei einer Abfrage: Die Abfrage geht über zwei Tabellen: Tabelle Kunde und Tabelle Bemerkung Die beiden Tabellen... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Eisfuchs, 13. August 2021.

  1. Abfrage über zwei Tabellen


    Hallo Zusammen,

    ich benötige Hilfe bei einer Abfrage:

    Die Abfrage geht über zwei Tabellen:

    Tabelle Kunde und Tabelle Bemerkung

    Die beiden Tabellen stehen in einer 1:N Beziehung.

    Struktur der beiden Tabellen:

    Tabelle Kunde
    Felder:
    KID, Unternehmen, Status A, Status B

    Tabelle Bemerkung:
    Felder:
    BID, GBMID, Art, Liste, Datum, Bearbeiter

    Die Tabelle Bemerkung sieht so aus:

    BID GBMID … Datum
    1 1 … 01.02.2021
    2 4 … 10.02.2021
    3 4 … 13.02.2021
    4 4 … 20.03.2021
    5 4 … 12.04.2021
    6 5 … 10.01.2021
    7 5 … 15.02.2021

    Die Abfrage soll als Ergebnis die Tabelle Kunde komplett anzeigen und
    von der Tabelle Bemerkung sollen nur die Zeile angezeigt werden die das letzte Datum beinhaltet – wie oben bei GBMID 4 = 12.04.2021 und bei GBMID 5 = 15.02.2021

    Kann mir jemand helfen, wie ich diese Abfrage konstruieren muss?

    Gruß
    Eisfuchs
     
    Eisfuchs, 13. August 2021
    #1
  2. Exl121150 Erfahrener User
    Hallo,

    ich habe 2 Tabellen angelegt: Tabelle "TabKunden" und Tabelle "TabBermerkung":
    Abfrage über zwei Tabellen upload_2021-8-14_11-8-23.png Abfrage über zwei Tabellen upload_2021-8-14_11-9-49.png
    Dann habe ich die Abfrage "QryKundenBemerkungen" erstellt, um eine Gesamtabfrage der verknüpften Tabellen zu zeigen:
    Code:
    SELECT K.KID, K.Unternehmen, K.[Status A], K.[Status B], B.GBMID, B.Art, B.Liste, B.Datum
    FROM TabKunden AS K INNER JOIN TabBemerkung AS B ON K.GBID = B.GBMID;
    
    mit folgendem Abfrageergebnis:
    Abfrage über zwei Tabellen upload_2021-8-14_11-14-44.png
    Danach erstellte ich die Abfrage "QryLetztDatumBemerkung"
    Code:
    SELECT B.GBMID, Last(B.Art) AS LArt, Last(B.Liste) AS LListe, Last(B.Datum) AS LDatum, Last(B.Bearbeiter) AS LBearbeiter
    FROM TabBemerkung AS B
    GROUP BY B.GBMID
    ORDER BY B.GBMID;
    
    mit folgendem Abfrageergebnis:
    Abfrage über zwei Tabellen upload_2021-8-14_11-19-28.png
    und schließlich die Abfrage "QryKundeLetztDatumBermerkung"
    Code:
    SELECT K.KID, K.Unternehmen, K.[Status A], LB.GBMID, LB.LArt, LB.LListe, LB.LDatum, LB.LBearbeiter
    FROM TabKunden AS K INNER JOIN QryLetztDatumBemerkung AS LB ON K.GBID = LB.GBMID
    ORDER BY K.KID;
    
    Abfrage über zwei Tabellen upload_2021-8-14_11-24-11.png
     
    Exl121150, 14. August 2021
    #2
  3. derArb hat Ahnung
    Hallo,
    Dein Tabellenmodell hat Fehler. Wenn Du versuchst, eine ref.Integrität zwischen den beiden Tabellen im Beziehungsfenster herzustellen, dann wirst Du das bemerken. Da man Sonderzeichen in Objektnamen vermeiden sollte (z.B. Leerzeichen),
    hab ich die Tabellenfeldnamen 'Status A' und 'Status B' geändert in 'Status_A' und 'Status_B'.
    Der Unterstrich gilt nicht als Sonderzeichen.
    Unnötige Tabellenfelder hab ich herausgenommen und dafür gesorgt, dass Primärschlüsselfeldnamen und die
    zugehörigen Fremdschlüsselfelder denselben Namen haben mit einem Appendix "_f" am Fremdschlüsselnamen.
    Ansonsten dreht man ja durch, wenn alles beliebig (leider möglich) benannt wird.
     
  4. Abfrage über zwei Tabellen

    Hallo Exl121150,

    vielen lieben Dank für deine Antwort.
    Werde es gleich am Montag ausprobieren und mich dann noch einmal melden.

    Nochmals vielen Dank.

    Gruß
    Eisfuchs
     
    Eisfuchs, 14. August 2021
    #4
  5. Hallo derArb,

    vielen Dank für deine Antwort, werde am Montag damit fortfahren und mich dnach nochmals im Forum melden, ob alles geklappt hat.

    Gruß
    Eisfuchs
     
    Eisfuchs, 14. August 2021
    #5
  6. Hi,

    hab jetzt die Abfrage so geändert, dass Sie zu meiner Datenbank passt!


    SELECT tblGe.GeID, tblGe.Unternehmen, tblGeBemerkung.GBMID, Last(tblGeBemerkung.Art) AS LArt, Last(tblGeBemerkung.Liste) AS LListe, Last(tblGeBemerkung.Datum) AS LDatum, Last(tblGeBemerkung.Bearbeiter) AS LBearbeiter
    FROM tblGe RIGHT JOIN tblGeBemerkung ON tblGe.GID = tblGeBemerkung.GBMID
    GROUP BY tblGe.GeID, tblGe.Unternehmen, tblGeBemerkung.GBMID
    ORDER BY tblGeBemerkung.GBMID;

    Nun wird mir das ja als komplette Liste angezeigt!
    Wie schaffe ich es jetzt, dass ich für meine beiden Textfelder "Am" und "Von" zum passenden Datensatz auch den Inhalt von "LDatum" und "LBearbeiter" bekomme. Die beiden Textfelder sind ungebunden in einem gebundenen Formular.
    Das was ich gefunden habe funktioniert nicht:
    =DomWert("[LDatum]";"qryGeLetzteBemerkung"]. Sorry falls die syntax nicht ganz stimmen sollte!

    Vielen Dak im Voraus.

    Gruß
    Eisfuchs
     
    Eisfuchs, 16. August 2021
    #6
  7. Exl121150 Erfahrener User
    Hallo,

    In SQL kann man einen Recordset mit 2 verschieden wirkenden Schlüsselwörtern filtern:
    1) Schlüsselwort "WHERE Datenbankfeld = Wert"
    2) Schlüsselwort "HAVING Gruppierungsfeld = Wert"
    Mit WHERE kann man die Datensätze filtern, bevor sie in einer Gruppierung verarbeitet werden.
    Mit HAVING kann man die erfolgte Gruppierung selbst filtern.

    Daher ist die Abfolge der Schlüsselwörter in SQL in der Regel wie folgt (wenn keine irgendwie gearteten Verschachtelungen vorliegen):
    SELECT Liste_Felder
    FROM Liste_Tabellen/Abfragen
    WHERE Feld1=Wert1 AND (Feld2=Wert2 OR Feld3=Wert3)
    GROUP BY GruppFeld1, GruppFeld2
    HAVING GruppFeld2=GruppWert2
    ORDER BY FeldX;

    Dabei ist natürlich zu beachten, dass der auf WHERE bzw. HAVING folgende Ausdruck so formuliert sein muss, dass er ein logisches TRUE oder FALSE ergibt: Bei TRUE wird der Satz bzw. die Gruppierung in die Abfrage aufgenommen, bei FALSE wird der Satz bzw. Gruppierung aus dem Abfrageergebnis entfernt.
    z.B. wenn sich die WHERE-Filterung auf ein Datumsfeld (LDatum) bezieht, lautet sie in etwa:
    WHERE LDatum = #05/14/2021# OR LDatum = [Am]
    was bedeutet, dass Sätze, deren Feld LDatum gleich dem 14.Mai 2021 ist, im Abfrage-Recordset enthalten sind
    (Man beachte die US-amerikanische Datumsschreibweise - eingeschlossen in 2 #-Zeichen !!!) und ferner auch Sätze, deren Feld LDATUM gleich ist zum Inhalt eines abfrageexternen Feldes [Am] (Man beachte die beiden eckigen Klammern!!! ).
    Damit es zwischen dem Textinhalt des externen Feldes Am und dem Abfragefeld LDatum keine Konvertierungsprobleme gibt, kann man vor der "SELECT..."-Abfrage eine "PARAMETERS Am DateTime;" Zeile einfügen.
     
    Exl121150, 16. August 2021
    #7
  8. Abfrage über zwei Tabellen

    Hi Exl121150,

    klingt für mich sehr kompliziert und es fehlt mir an Erfahrung für diese Abfrage.

    Wie kann ich diese Abfrage so umbauen, dass ich mit dem DomWert() erfolg habe?

    SELECT tblGe.GeID, tblGe.Unternehmen, tblGeBemerkung.GBMID, Last(tblGeBemerkung.Art) AS LArt, Last(tblGeBemerkung.Liste) AS LListe, Last(tblGeBemerkung.Datum) AS LDatum, Last(tblGeBemerkung.Bearbeiter) AS LBearbeiter
    FROM tblGe RIGHT JOIN tblGeBemerkung ON tblGe.GID = tblGeBemerkung.GBMID
    GROUP BY tblGe.GeID, tblGe.Unternehmen, tblGeBemerkung.GBMID
    ORDER BY tblGeBemerkung.GBMID;

    Vielen Dank im Voraus.

    Gruß
    Eisfuchs
     
    Eisfuchs, 16. August 2021
    #8
  9. Nun möchte ich noch etwas in eigener Sache sagen (ist auf niemanden direkt bezogen:
    Mir tut es immer weh, wenn ich in Foren, Portalen usw. angegangen wede, dass mir die Erfahrung, Kompetenz oder ähnliches fehlt.
    Ich dachte immer, dass Foren, Portale usw. zum Austausch und Fragen offen sind.
    Kurz zu mir: Mir fehlt das 3D sehen und denken, aber ich schlage mich durch mein Leben mit ca. 1 Prozent Sehvermögen!!!
    Die Ausgrenzung im täglichen Leben ist schon schlimm genug!
    Viele User sollten einmal überlegen, wenn Sie in einer Situation wären, bei der Sie Hilfe benötigen, weil man es selbst nicht hinbekommt. Vielleicht sollten manche einmal überlegen, wie es ist mit einer Schwerbehinderung zu leben und welche täglichen Hürden man damit nehmen muss. Ich wünsche es wirklich niemanden durch einen Unfall o. ä. anschließend mit einer Schwerbehinderung zu leben.

    Ich versuche immer mein möglichstes jeden Tag.
    Es ist nur leider deprimierend, wenn man im Leben niemand hat, den man Fragen kann und um Hilfe bitten kann.

    Vielen Dank für euer Verständnis.

    Gruß
    Eisfuchs
     
    Eisfuchs, 16. August 2021
    #9
  10. Hallo zusammen,

    dieses Thema konnte gelöst werden

    Vielen Dank an alle, die mir geholfen haben.

    Gruß
    Eisfuchs
     
    Eisfuchs, 28. August 2021
    #10
Thema:

Abfrage über zwei Tabellen

Die Seite wird geladen...
  1. Abfrage über zwei Tabellen - Similar Threads - Abfrage Tabellen

  2. 3 Accesstabellen in eine neue Access Tabelle (nicht Abfrage) zusammenfügen

    in Microsoft Access Hilfe
    3 Accesstabellen in eine neue Access Tabelle (nicht Abfrage) zusammenfügen: Hallo, ich habe folgendes Problem: Ich habe 3 Tabellen in Access importiert und möchte diese ohne Abfrage in eine neue Accesstabelle zusammenfügen. Es müssen auch mehr Tabellen zusammengefügt...
  3. Automatisch aktualisierende Tabelle? Hilfe!! :-)

    in Microsoft Excel Hilfe
    Automatisch aktualisierende Tabelle? Hilfe!! :-): Hallo zusammen, ich habe da ein kleines Excel-Problem und komme einfach nicht auf die Lösung. Ich habe 25 riesige Tabellen und möchte diese in einer Tabelle zusammen, wenn eine bestimmte...
  4. Abfrage von Datensetzen unter Ausschluss von Datensätzen anhand anderer Tabelle

    in Microsoft Access Hilfe
    Abfrage von Datensetzen unter Ausschluss von Datensätzen anhand anderer Tabelle: Hallo liebe Forumsgemeinde, Nachdem ich mich in diverse Themen bezüglich Access eingearbeitet habe, habe ich erfolgreich schon einige Teilabschnitte meines aktuellen Projekts umgesetzt....
  5. Bestimmte Daten zwischen innerhalb eines Datumsbereichs einer Tabelle Anfügen

    in Microsoft Access Hilfe
    Bestimmte Daten zwischen innerhalb eines Datumsbereichs einer Tabelle Anfügen: Hallo, ich habe per Google und Foren SuFu leider nichts passendes finden können, wage aber zu bezweifeln, dass Access da an seine Grenzen kommt, da es eigentlich recht banal ist. Ich habe eine...
  6. Primärschlüssel/Fremdschlüssel aus 2.Tabelle automatisch einfügen

    in Microsoft Access Hilfe
    Primärschlüssel/Fremdschlüssel aus 2.Tabelle automatisch einfügen: Hallo zusammen, ich stehe gerade vor dem Problem, dass ich die Datensätze zwischen zwei Tabellen nicht verknüpfen kann. Konkret habe ich die beiden Tabellen tblEigenschaft und tblBasis. In der...
  7. Formel in Tabelle einer Abfrage automatisch erweitern

    in Microsoft Excel Hilfe
    Formel in Tabelle einer Abfrage automatisch erweitern: Hallo Zusammen, ich habe ein Blatt auf welches eine Tabellenabfrage auf eine andere Exceldatei läuft. Die Tabelle der Abfrage wurde mit weiteren Spalten erweitert in welcher Formeln sind die die...
  8. Abfrage mit Texteintrag in andere Tabelle

    in Microsoft Access Hilfe
    Abfrage mit Texteintrag in andere Tabelle: Hallo zusammen, habe folgendes Problem: ich möchte mit einer Abfrage folgendes lösen: Beim klicken auf eine Befehlsschaltfläche soll folgendes passieren: Die Kundennummer soll eingegeben werden...
  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