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

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, 13496 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 ...

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 ...

Datenbanken

Access Datenbank wie am einfachsten Datensätze aufbereiten

Frage von Dr.CornwallisDatenbanken5 Kommentare

Liebe Gemeinde, ich brauche eure Hilfe, wie würdet ihr in Access 2010 eine Datenbank aufbauen bzw. die ug. Anforderungen ...

Neue Wissensbeiträge
Server-Hardware
HP iLO ist gefährdet (iLO 4))
Tipp von AlFalcone vor 8 StundenServer-Hardware

Gemäss Twitter und Heise gibt es eine Angriffsmöglichkeit auf iLO Quelle: iLO ist gefährdet

CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 17 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

Heiß diskutierte Inhalte
Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung27 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...

Router & Routing
Subnetzmaske vergrößern
gelöst Frage von groovesurferRouter & Routing18 Kommentare

Hallo, hat jemand schonmal getestet was passiert, wenn man die Subnetzmaske bei laufendem Betrieb (wenn user im Netzwerk verbunden ...