Office: SELECT TOP letzten Datensätze anzeigen lassen

Helfe beim Thema SELECT TOP letzten Datensätze anzeigen lassen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Ich habe eine Access-Tabelle mit folgenden Daten: ID / Datum / ProduktID / Messwert / Messpunkt 1 / 01.01.2014 / 111 / 4,3 / M1 2 / 01.01.2014 /... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von schwenja, 25. August 2014.

  1. schwenja Erfahrener User

    SELECT TOP letzten Datensätze anzeigen lassen


    Ich habe eine Access-Tabelle mit folgenden Daten:

    ID / Datum / ProduktID / Messwert / Messpunkt

    1 / 01.01.2014 / 111 / 4,3 / M1
    2 / 01.01.2014 / 111 / 1,2 / M2
    3 / 01.01.2014 / 111 / 3,5 / M3
    4 / 02.02.2014 / 112 / 1,8 / M1
    5 / 02.02.2014 / 112 / 5,2 / M2
    6 / 02.02.2014 / 113 / 4,1 / M1
    7 / 02.02.2014 / 113 / 3,7 / M2
    ...

    Jedes Produkt hat 2 oder 3 Messpunkte.
    Pro Produkt gibt es:
    - 2 bis 3 Zeilen, in denen
    - Datum und Produktbezeichnung gleich
    - ID, Messwert und Messpunkt verschieden sind.


    Wie kann ich die letzten 10 Produkte abfragen UND mir die dazugehörigen Messwerte anzeigen lassen?



    Was ich bisher probiert habe:

    Zunächst habe ich eine Abfrage ("Abfrage1") erstellt, die nach dem Datum sortiert wird (ORDER BY Datentabelle.Datum desc).
    Danach eine neue Abfrage:

    SELECT TOP 10 Abfrage1.ProduktID, Abfrage1.Messwert
    FROM Abfrage1
    GROUP by Abfrage1.ProduktID;
    -> Fehlermeldung: Sie wollten eine Abfrage ausführen, die den angegebenen Ausdruck "Messwert" nicht als Teil der Aggregatfunktion einschließt.

    SELECT TOP 10 Abfrage1.ProduktID, Abfrage1.Messwert
    FROM Abfrage1
    GROUP by Abfrage1.ProduktID, Abfrage1.Messwert;
    -> Es werden mir die letzten 10 Messwerte angezeigt, ich will aber ja die Messwerte der letzten 10 Produkte


    Hat jemand eine Idee?
     
    schwenja, 25. August 2014
    #1
  2. Exl121150 Erfahrener User
    Hallo,

    hast du Folgendes schon ausprobiert?
    Code:
    SELECT ID, Datum, ProduktID, Messwert, Messpunkt
    FROM Datentabelle
    WHERE ProduktID = (SELECT DISTINCT TOP 10 ProduktID FROM Datentabelle ORDER BY Datum DESC)
    ORDER BY Datum DESC;
    
    Ich konnte es leider nicht testen mangels einer geeigneten Tabelle.
     
    Exl121150, 25. August 2014
    #2
  3. schwenja Erfahrener User
    Leider Fehlermeldung "ORDERBY-Klausel (Datum) steht im Konflikt mit DISTINCT"

    Habe schon versucht, die Tabelle hochzuladen, aber der Upload ist auf 100KB begrenzt.
    Anbei die abgespeckteTabelle als Textdatei, die lässt sich ja in Access importieren.
     
    Zuletzt bearbeitet: 26. August 2014
    schwenja, 26. August 2014
    #3
  4. Exl121150 Erfahrener User

    SELECT TOP letzten Datensätze anzeigen lassen

    Hallo,

    ich nehme an, folgende 2 Abfragen der Datentabelle müssten funktionieren:

    1.Abfrage: Als Ausgangsbasis nahm ich deine vorhin gepostete Tabelle namens "Datentabelle":
    Code:
    SELECT TOP 10 D.ProduktID, Last(D.Datum) AS LztDat, Last(D.ID) AS LztID
    FROM Datentabelle AS D
    GROUP BY D.ProduktID
    ORDER BY Last(D.Datum) DESC , Last(D.ID) DESC;
    
    [table="width: 400, class: grid, align: left"]
    [tr]
    [td]ProduktID[/td]
    [td]LztDat[/td]
    [td]LztID[/td]
    [/tr]
    [tr]
    [td]216[/td]
    [td]03.03.2014[/td]
    [td]38[/td]
    [/tr]
    [tr]
    [td]118[/td]
    [td]03.03.2014[/td]
    [td]19[/td]
    [/tr]
    [tr]
    [td]214[/td]
    [td]02.02.2014[/td]
    [td]33[/td]
    [/tr]
    [tr]
    [td]211[/td]
    [td]02.02.2014[/td]
    [td]26[/td]
    [/tr]
    [tr]
    [td]110[/td]
    [td]02.02.2014[/td]
    [td]24[/td]
    [/tr]
    [tr]
    [td]116[/td]
    [td]02.02.2014[/td]
    [td]14[/td]
    [/tr]
    [tr]
    [td]113[/td]
    [td]02.02.2014[/td]
    [td]7[/td]
    [/tr]
    [tr]
    [td]112[/td]
    [td]02.02.2014[/td]
    [td]5[/td]
    [/tr]
    [tr]
    [td]215[/td]
    [td]01.01.2014[/td]
    [td]36[/td]
    [/tr]
    [tr]
    [td]213[/td]
    [td]01.01.2014[/td]
    [td]31[/td]
    [/tr]
    [/table]
    Diese Zwischenabfrage nannte ich "AbfrProd_LztDatID".

    2.Abrage: Darauf baut folgende Abfrage schlussendlich auf:
    Code:
    SELECT D.ID, D.Datum, D.ProduktID, D.Messwert, D.Messpunkt
    FROM AbfrProd_LztDatID AS Lzt INNER JOIN Datentabelle AS D ON Lzt.ProduktID = D.ProduktID
    ORDER BY D.Datum DESC , D.ID DESC;
    
    Das Resultat müsste jetzt zufriedenstellend sein.
     
    Zuletzt bearbeitet: 26. August 2014
    Exl121150, 26. August 2014
    #4
  5. schwenja Erfahrener User
    Sogar mehr als zufriedenstellend! Großartig! VIELEN VIELEN DANK!
     
    schwenja, 27. August 2014
    #5
Thema:

SELECT TOP letzten Datensätze anzeigen lassen

Die Seite wird geladen...
  1. SELECT TOP letzten Datensätze anzeigen lassen - Similar Threads - SELECT TOP Datensätze

  2. VBA ohne Activate und select

    in Microsoft Excel Hilfe
    VBA ohne Activate und select: Hallo, ich habe ein Makro mit dem ich auf verschiedene Arbeitsmappen zugreife, Autofilter setzte und Bereiche kopiere, um sie dann in die Hauptmappe einzufügen. Da ich dies mittels Makro...
  3. SELECT mit ORDER BY sortiert nicht richtig

    in Microsoft Access Hilfe
    SELECT mit ORDER BY sortiert nicht richtig: Moin, ich habe folgendes Problem: Innerhalb einer Funktion führe ich ein SELECT aus. Die Variable "kalCode" wird über den Funktionsaufruf richtig befüllt. Code: SELECT * from kalKaliber where Code...
  4. SELECT DISTINCTROW Warenbezeichnung from X funktioniert nicht

    in Microsoft Access Hilfe
    SELECT DISTINCTROW Warenbezeichnung from X funktioniert nicht: Hallo, ich hänge fest :-( Ich habe ein Formular in dem ich per SELECT DISTINCTROW Warenbezeichnung from X Werte auswähle. X ist eine Abfrage, die je nach Artikelnummer mir die unterschiedlichen...
  5. SELECT-Anweisung schließt ein reserviertes Wort ein

    in Microsoft Access Hilfe
    SELECT-Anweisung schließt ein reserviertes Wort ein: Hallo! Mit dem folgenden Code habe ich drei Probleme. Um beim Thema zu bleiben hier nur das eine: Recordset1 funktioniert. Bei Recordset2 mit strSQL2 erhalte ich die Fehlermeldung...
  6. Access SQL: SELECT-Klausel

    in Microsoft Access Tutorials
    Access SQL: SELECT-Klausel: Access SQL: SELECT-Klausel Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  7. SELECT-Anweisung

    in Microsoft Access Tutorials
    SELECT-Anweisung: SELECT-Anweisung Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  8. SELECT...INTO-Anweisung

    in Microsoft Access Tutorials
    SELECT...INTO-Anweisung: SELECT...INTO-Anweisung Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  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