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:
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:
Please also mark the comments that contributed to the solution of the article
Content-Key: 112842
Url: https://administrator.de/contentid/112842
Printed on: April 24, 2024 at 20:04 o'clock
11 Comments
Latest comment
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