Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Löschen von Datensätzen

Begonnen von risingstar, Oktober 18, 2023, 20:25:21

⏪ vorheriges - nächstes ⏩

risingstar

Schönen Abend,
ich habe folgendes Problem. In einer Tabelle mit  Datumsfeld als Datum und Zeit, Zylindernummer und Schlüsselnummer werden Betätigungen des Zylinders gespeichert. Ein Datensatz beim Einschalten, ein Datensatz beim Ausschalten, wobei keine Unterscheidung zwischen Ein- und Ausschalten gegeben ist. Manchmal wird nur der Schlüssel gesteckt und ein Dtensatz geschrieben. Diese einzelnen Datensätze sollen gelöscht werden. Mit der Abfrage

SELECT Format([Datum],"dd/mm/yyyy") AS Ausdr1, StaplerRohdaten.SchlüsselNr, StaplerRohdaten.ZylinderNr
FROM StaplerRohdaten
GROUP BY Format([Datum],"dd/mm/yyyy"), StaplerRohdaten.SchlüsselNr, StaplerRohdaten.ZylinderNr
HAVING (((Count(StaplerRohdaten.Datum))=1))
ORDER BY Format([Datum],"dd/mm/yyyy");

erhalte ich zwar diese einzelnen Datensätze, kann sie aber nicht löschen. Gibt es dazu eine Idee?

MzKlMu

Hallo,
eine gruppiert Abfrage ist nicht aktualisierbar und somit lassen sich auch keine Datensätze löschen.
Die Format Funktion ist überall auch überflüssig. Das Datum benötigt hier keine besondere Formatierung.
Gruß Klaus

PhilS

Zitat von: risingstar am Oktober 18, 2023, 20:25:21Mit der Abfrage

Code [Auswählen] Erweitern
SELECT Format([Datum],"dd/mm/yyyy") AS Ausdr1, StaplerRohdaten.SchlüsselNr, StaplerRohdaten.ZylinderNr
FROM StaplerRohdaten
GROUP BY Format([Datum],"dd/mm/yyyy"), StaplerRohdaten.SchlüsselNr, StaplerRohdaten.ZylinderNr
HAVING (((Count(StaplerRohdaten.Datum))=1))
ORDER BY Format([Datum],"dd/mm/yyyy");

erhalte ich zwar diese einzelnen Datensätze, kann sie aber nicht löschen. Gibt es dazu eine Idee?
Sobald du GROUP BY in einer Abfrage verwendest, hast du eben keine einzelne Datensätze mehr, sondern eine gruppierte Ergebniszeile, die aus einer unbestimmten Anzahl von Datensätzen gebildet wurde.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

risingstar

Danke für das Feedback. Ich habe das jetzt so gelöst, dass ich diese einzelnen Datensätze in eine neue Datei speichere und sie dann in einer Löschabfrage als Kriterium benutze. Ist vielleicht nicht der eleganteste Weg, aber es funktioniert.