none
Access 2013 Abfrage oder SQL Daten löschen bis auf die x letzten Datensätze

    Frage

  • Hallo

    gibt es über SQL oder einer Abfrage die Möglichkeit alle Datensätze bis auf die letzten x zu löschen

    Auto ID Feld ist vorhanden

    VBA ist mir klar nur wollte ich wissen ob ich das evtl über einen SQL String hin bekomme

    Danke

    Dienstag, 27. Januar 2015 10:00

Antworten

  • Hi,

    man könnte das wahrscheinlich über:

    DELETE
    FROM   <Tabelle>
    WHERE  <IdFeld> NOT IN ( SELECT TOP 100 <IdFeld> FROM <Tabelle> ORDER BY <IdFeld> DESC )
    

    machen. Access ist aber bei großen Datenmengen und einer IN Klausel nicht sonderlich performant.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    • Als Antwort markiert MCDPone Dienstag, 27. Januar 2015 10:39
    Dienstag, 27. Januar 2015 10:05

Alle Antworten

  • Hi,

    man könnte das wahrscheinlich über:

    DELETE
    FROM   <Tabelle>
    WHERE  <IdFeld> NOT IN ( SELECT TOP 100 <IdFeld> FROM <Tabelle> ORDER BY <IdFeld> DESC )
    

    machen. Access ist aber bei großen Datenmengen und einer IN Klausel nicht sonderlich performant.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    • Als Antwort markiert MCDPone Dienstag, 27. Januar 2015 10:39
    Dienstag, 27. Januar 2015 10:05
  • DANKE - genau das meinte ich
    Dienstag, 27. Januar 2015 10:40