Im Access nicht verknüpfte Datensätze löschen
Wie kann ich bei zwei verknüpften Tabellen aus der Mastertabelle die Datensätze löschen die keinen FS in der zweiten Tabelle besitze?
Hallo liebes Forum
Ich habe zwei Tabellen die miteinander verknüpft sind. Nun möchte ich ein Makro oder eine Löschabfrage die mir automatisch alle Datensätze in der Mastertabelle löscht, zu denen es keinen entsprechenden Fremdschlüssel in der zweiten Tabelle gibt!
Oder anders ausgedrückt soll es alle Datensätze löschen die keine Verknüpfung zur zweiten Tabelle besitzen.
Wenn ich das mit einer Löschabfrage machen soll, was muss ich für Kriterien definieren?
Schon im voraus Danke für eure Antworten!
MfG Valume
Sollte bereits ein Beitrag vorhanden sein der das selbe Thema behandelt, Sorry!
Hier noch ein Bild der Beziehungen in meiner DB:
Hallo liebes Forum
Ich habe zwei Tabellen die miteinander verknüpft sind. Nun möchte ich ein Makro oder eine Löschabfrage die mir automatisch alle Datensätze in der Mastertabelle löscht, zu denen es keinen entsprechenden Fremdschlüssel in der zweiten Tabelle gibt!
Oder anders ausgedrückt soll es alle Datensätze löschen die keine Verknüpfung zur zweiten Tabelle besitzen.
Wenn ich das mit einer Löschabfrage machen soll, was muss ich für Kriterien definieren?
Schon im voraus Danke für eure Antworten!
MfG Valume
Sollte bereits ein Beitrag vorhanden sein der das selbe Thema behandelt, Sorry!
Hier noch ein Bild der Beziehungen in meiner DB:
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 112842
Url: https://administrator.de/forum/im-access-nicht-verknuepfte-datensaetze-loeschen-112842.html
Ausgedruckt am: 12.04.2025 um 06:04 Uhr
11 Kommentare
Neuester Kommentar
Moin Valume91,
willkommen im Forum.
Es wäre bei derartigen Fragen sinnvoller, die Tabellen- und Feldnamen zu nennen.
Aber sei's drum - in der hoffnung, dass Du Du die entsprechende Übersetzungsleistung erbringen kannst:
... So sollte die Abfrage funktionieren.
Gefahrlos ausprobieren kannst du es ja vorher mit einem harmlosen:
Grüße
Biber
willkommen im Forum.
Es wäre bei derartigen Fragen sinnvoller, die Tabellen- und Feldnamen zu nennen.
Aber sei's drum - in der hoffnung, dass Du Du die entsprechende Übersetzungsleistung erbringen kannst:
Delete mastertab.*
from mastertab left join fktab on mastertab.fkid=fktab.fkid
where fktab.fkid is null
Gefahrlos ausprobieren kannst du es ja vorher mit einem harmlosen:
select mastertab.*
from mastertab left join fktab on mastertab.fkid=fktab.fkid
where fktab.fkid is null
Grüße
Biber
Moin Valume91,
mit Deinen Tabellen- und Feldnamen müsste es in etwa so aussehen:
wenn ich es richtig interpretiere, dass das in beiden Tabellen vorhandene Feld
Reinschreiben kannst Du es am Einfachsten mit ein paar Mausklicks beginnend:
So zumindest bei Access 2000/2003.
Falls es bei Access 2007 anders sein sollte-->hab keins zum Spielen hier.
Grüße
Biber
mit Deinen Tabellen- und Feldnamen müsste es in etwa so aussehen:
DELETE P.*
FROM projektdaten p
LEFT JOIN Produktliste PL ON P.Produktliste_IDFS = PL.Produktliste_ID
WHERE PL.Produktliste_ID is null
wenn ich es richtig interpretiere, dass das in beiden Tabellen vorhandene Feld
- "Produktliste_IDFS" in der Master-Tabelle "Produktdaten" heisst
- und Produktliste_ID in der Child-Tabelle "Produktliste"
Reinschreiben kannst Du es am Einfachsten mit ein paar Mausklicks beginnend:
- "Abfragen"->"Neu" (doppelklick)-->"Entwurfsansicht" -->[nichts auswählen]-->"Schließen"
- mit rechter maustaste Kontextmenü umschalten auf "SQL-Ansicht"
- Copy und paste des Codes
- Abfeuern
So zumindest bei Access 2000/2003.
Falls es bei Access 2007 anders sein sollte-->hab keins zum Spielen hier.
Grüße
Biber
moin valume91,

Nein, ich meinte FK wie foreign key . That's outlandish for FS.
Grüße
Biber
Meinst du FS?
Was sollte denn Freising oder mein Führerschein, eine Fachschule, eine Festschrift oder der Flugsimulator mit unserem Problem hier zu tun haben... absurd. Nein, ich meinte FK wie foreign key . That's outlandish for FS.
PS: Kann ich hier irgendwie Bilder anfügen? Dann kan ich dir ein Printscreen des Modells zeigen.
Kannst Du - es gibt sogar eine Anleitung dazu hier im Forum (-->Forumssuche "bilder anfügen").Grüße
Biber