Top-Themen

Aktuelle Themen (A bis Z)

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

Frage Microsoft Microsoft Office

GELÖST

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

Mitglied: Valume91

Valume91 (Level 1) - Jetzt verbinden

31.03.2009, aktualisiert 16:47 Uhr, 13359 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!

MfG 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?

MfG 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

MfG

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.

MfG 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! ;)

MfG

Valume
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Access Verknüpfte Tabellen Passwort ändern
Frage von mijacdMicrosoft Office

Hallo zusammen, wir haben bei uns im Haus mehrere Accessdatenbanken die Verknüpfte Tabellen von einem SQL Server beinhalten. Nun ...

Datenbanken
Datensatz hinzufügen, nicht überschreiben Access
gelöst Frage von Dr.CornwallisDatenbanken19 Kommentare

Liebe Gemeinde, ich habe folgenden Code (bei Button klick): Wähle ich mit diesem Code einen anderen Wert im Kombifeld ...

Microsoft Office
Löschen von bestimmten Datensätzen
gelöst Frage von Anna2701Microsoft Office4 Kommentare

Hallöchen zusammen, ich möchte gerne einen bestimmten Datensatz aus Access mit Hilfe von SQL löschen lassen. Habe es hinbekommen, ...

Datenbanken
Datensatz mit 2 Felder anfügen Access
gelöst Frage von Dr.CornwallisDatenbanken2 Kommentare

Hallo, ich habe 2 Felder: 1. Kombifeld - PersNr zum auswählen 2. Textfeld - hier kann man beliebigen Text ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...