Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Im Access nicht verknüpfte Datensätze löschen

Frage Microsoft Microsoft Office

Mitglied: Valume91

Valume91 (Level 1) - Jetzt verbinden

31.03.2009, aktualisiert 16:47 Uhr, 12840 Aufrufe, 11 Kommentare

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!

Mit freundlichen Grüßen Valume


Sollte bereits ein Beitrag vorhanden sein der das selbe Thema behandelt, Sorry!


Hier noch ein Bild der Beziehungen in meiner DB:

aa45676ff1aa8cecc6cdd0d0c515031f-beziehungen - Klicke auf das Bild, um es zu vergrößern
Mitglied: Biber
31.03.2009 um 14:21 Uhr
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:
01.
Delete mastertab.*  
02.
from mastertab left join fktab on mastertab.fkid=fktab.fkid 
03.
where fktab.fkid is null
... So sollte die Abfrage funktionieren.
Gefahrlos ausprobieren kannst du es ja vorher mit einem harmlosen:
01.
select  mastertab.*  
02.
from mastertab left join fktab on mastertab.fkid=fktab.fkid 
03.
where fktab.fkid is null
Grüße
Biber
Bitte warten ..
Mitglied: Valume91
31.03.2009 um 14:37 Uhr
Hi Biber

Erstmal danke für die schnelle Hilfe!

Die Tabellen heissen Projektdaten (Master) und Produktliste.
Die Schlüsselfelder entsprechend Projektdaten_ID und Projektdaten_IDFS.

01.
Delete mastertab.*  
02.
 from mastertab left join fktab on mastertab.fkid=fktab.fkid 
03.
 where fktab.fkid is null 
04.
 
Wo muss ich das reinschreiben? Bei Kriterium?
Ich nehme an fktab steht für die zweite Tabelle?

Mit freundlichen Grüßen Valume
Bitte warten ..
Mitglied: Biber
31.03.2009 um 14:50 Uhr
Moin Valume91,

mit Deinen Tabellen- und Feldnamen müsste es in etwa so aussehen:
01.
DELETE P.*   
02.
FROM projektdaten p 
03.
LEFT JOIN Produktliste PL ON P.Produktliste_IDFS = PL.Produktliste_ID 
04.
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
Bitte warten ..
Mitglied: Valume91
31.03.2009 um 15:08 Uhr
hmm er bringt ein Feld mit der Meldung:
Parameterwert eingeben:
P.Produktliste_IDFS

Was soll ich da eingeben?

Nochmals zum besseren Verständnis:
Ich habe zwei Tabellen:
"Projektdaten" (Master) mit dem Primärschlüssel Projektdaten_ID und eine Child-Tabelle "Produktliste" mit dem Fremdschlüssel Projektdaten_IDFS

Mit freundlichen Grüßen

Valume
Bitte warten ..
Mitglied: Biber
31.03.2009 um 15:23 Uhr
Sorry, Valume91,

dann habe ich es missinterpretiert.
01.
DELETE P.*   
02.
FROM projektdaten p 
03.
LEFT JOIN Produktliste PL ON P.Projektdaten_ID = PL.Projektdaten_IDFS 
04.
WHERE PL.Projektdaten_IDFS is null
Grüße
Biber
Bitte warten ..
Mitglied: Valume91
31.03.2009 um 15:33 Uhr
Hm die Abfrage scheint richtig zu sein jedoch bringt er die Fehlermeldung:
Löschen aus angegebenen Tabellen nicht möglich.

Kann man nicht aus einer Mastertabelle löschen oder wie?

Achja danke für deine Geduld Biber ;)
Bitte warten ..
Mitglied: Biber
31.03.2009 um 15:46 Uhr
Tja, Valume91,

was/wieviele Sätze werden denn angezeigt, wenn Du statt des "DELETE P.* From bla" ein "SELECT P.* from bla" ausführst?
Existieren weitere FK-Beziehungen zu anderen Tabellen?

Grüße
Biber
Bitte warten ..
Mitglied: Valume91
31.03.2009 um 15:54 Uhr
Es werden 16 Datensätze angezeigt, alle die keine Verknüpfung mehr zur Chlid-Tabelle haben, was ja auch völlig korrekt ist.
Was ist eine FK-Beziehung?
Es bestehen noch andere Beziehungen von anderen Tabellen zur Mastertabelle in der sich dann der entsprechende Fremdschlüssel befindet.
Wenn ich die Abfrage mit SELECT ausführe und dann die angezeigten Datensätze lösche, werden sie in der Abfrage gelöscht, aber in der Tabelle nicht, ausserdem werden sie bei erneutem starten der Abfrage wieder angezeigt.

PS: Kann ich hier irgendwie Bilder anfügen? Dann kan ich dir ein Printscreen des Modells zeigen.

Mit freundlichen Grüßen Valume
Bitte warten ..
Mitglied: Biber
31.03.2009 um 16:28 Uhr
moin valume91,

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
Bitte warten ..
Mitglied: Valume91
31.03.2009 um 16:52 Uhr
So Bild ist drauf!
Hoffe das hilft dir weiter.
Ich mache Feierabend für Heute, wir sehen uns morgen. ;)

Ab in den FS (Feierabendstau) ;)
Bitte warten ..
Mitglied: Valume91
01.04.2009 um 09:00 Uhr
Bin selbst drauf gekommen.
Man musste noch in den Eigenschaften der Löschabfrage bei Ausführungsberechtigung auf "Besitzer" und bei Eindeutige Ergebnisse auf "Ja" umstellen.

Vielen Dank nochmals Biber, du bist echt der hammer! ;)

Mit freundlichen Grüßen

Valume
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Microsoft Office
Access Verknüpfte Tabellen Passwort ändern

Frage von mijacd zum Thema Microsoft Office ...

LAN, WAN, Wireless
Access Point: Ubiquiti UAP AC PRO Einschätzung Reichweite (4)

Frage von TimMayer zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
Freifunk über vorhandene Access Points ausstrahlen (2)

Frage von Uwoerl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Direct Access mit VPN aufbau (6)

Frage von geocast zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...