Office: (Office 2010) Löschabfrage

Helfe beim Thema Löschabfrage in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe sicherlich 150 verschiedene Beiträge zu Löschabfragen gefunden und gelesen. Hat mir aber nicht wirklich geholfen. Ich habe ein... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Gismor0808, 24. April 2011.

  1. Löschabfrage


    Hallo,

    ich habe sicherlich 150 verschiedene Beiträge zu Löschabfragen gefunden und gelesen. Hat mir aber nicht wirklich geholfen.

    Ich habe ein Löschabfrage aus 2 Tabellen erstellt und das Ergebnis in der Anzeige ist richtig.
    Beide Tabellen sind über Feld2 verknüpft
    Alles aus "Domain" anzeigen und nur die aus "Bestand"........
    Wenn ich aber auf "Ausführen" gehe:

    "Löschen aus Angegebenen Tabellen nicht möglich"

    Tabelle "Bestand" mit Feld1, Feld2, Feld3 hat weniger Datensätze als
    Tabelle "Domain" mit Feld1, Feld2 bis Feld8

    Feld2 (ist Text) wird verglichen
    Der Angezeigte Wert soll nun in Tabelle "Domain" gelöscht werden.

    Was mache eigendlich falsch??

    :)
     
    Gismor0808, 24. April 2011
    #1
  2. Hallo,
    sind die Tabellen im Beziehungseditor in Beziehung gebracht worden?
    Ist dabei relationale Integrität eingestellt worden mit Löschweitergabe?

    Ansonsten lösche in beiden Tabellen separat.
    Zuerst in der Detail-Tabelle danach in der Master-Tabelle. (1:n)

    Willst du die Löschung per Code aufrufen, dann verwende folgendes:
    Code:
    Gruß Andreas
     
    avogt_at_home, 26. April 2011
    #2
  3. Hallo,
    nein, die Tabellen stehen nicht in Beziehung.
    ich habe nur eine Beziehung in der Abfrage erstellt um die Daten anzeigen, die in der Domain-Tabelle gelöscht werden sollen.
     
    Gismor0808, 26. April 2011
    #3
  4. Löschabfrage

    Vielleicht solltest Du die Abfrage zeigen und nicht nur darüber reden.
    Auch ist mir das genaue Anliegen noch schleierhaft. Wenn Du in der Domain-Tabelle löschen willst und dazu alles darin anzeigst (zum Löschen) und das Deiner Meinung nach richtig ist, brauchst Du keine zusätzliche Verknüpfung zu einer weiteren Tabelle. Mehr wie alles löschen kann man nicht.
     
  5. Hallo Gismor0808,

    wenn Du nur die Werte aus der Tabelle Domain löschen willst würde ich das in mehreren Arbeitsschritten tun und nicht in einem.

    1. Die Verknüpfung läßt Du so wie sie ist.
    2. Erstelle eine neue Spalte in der Tabelle "Domain" z. B. mit dem Namen "Flag" und nehme diese noch nachträglich in die Auswahlabfrage rein.
    3. Führe eine Aktualisierungsabfrage in der Verknüpfung auf diese Spalte aus und aktualisiere z. B. mit X.
    4. Mache eine neue Löschabfrage nur auf die Tabelle Domain und lösche alle Zeilen in denen in der Spalte "Flag" ein X steht raus.

    Fertig.

    Dein Lösungsansatz ist leider nicht gut, weil Du ja auf gar keinen Fall die Werte aus Bestand löschen willst sondern nur aus Domain. Da würde ich auf gar keinen Fall mit einer Verknüpfung und einer Löschabfrage in einem Arbeitsgang arbeiten. Eine Löschabfrage funktioniert eigentlich nur dann, wenn Du die Zeilen aller Spalten einer Tabelle löschst. Du hast aber da nicht eine Tabelle, sondern zwei Tabellen und in der einen Tabelle sollen die Werte drin bleiben. Deshalb geht das so gar nicht. Eigentlich hast Du ja noch Glück gehabt, dass das so nicht geht. Wäre es theoretisch gegangen hättest Du Deine Werte aus beiden Tabellen gelöscht. Die Tabelle mit den Beständen wäre dann kaputt gegangen.

    Dann noch ein Praxistip. Mache Dir von beiden Tabellen zuerst eine Sicherungskopie und lege erst dann los.

    Viele Grüße aus Stuttgart

    Zuri

    *rolleyes.gif*
     
  6. Guten Tag,

    erst mal danke für den Lösungsvorschlag.
    Habe mir über Nacht mal Gedanken gemacht und volgende Lösung:

    1 Ich habe eine Tabelle mit dem aktuellem Bestand, ist eine verknüpfte Exceltabelle.

    2. Ich habe eine Anfüge-Abfrage erstellt, welche alle Neuen Domains in meine bestehende Tabelle einfügt.

    3. Die Tabelle mit dem aktuellem Bestand ist nun mit der Domain-Tabelle über die Felder Domain--Domain "nur zeigen wenn alle gleich" verknüpft.

    So werden "nicht mehr vorhandenen Domains", nicht mehr gezeigt. Eigendlich das Ergebniss was ich haben wollte.

    Nur noch mal eine obligatorische Frage:

    Die verknüpften Tabellen Domain (Access-Tabelle) und Bestand (Excel-Verknüpfung) stehen in Beziehungstap ...Undefiniert......?????
    Habe mal ein Bild gemacht.
     
    Gismor0808, 27. April 2011
    #6
  7. Zum Löschen müsstest Du Dir aber (umgedreht!) das anzeigen lassen, was ungleich ist.
     
  8. Löschabfrage

    habe natürlich nur ungleich anzeigen lassen.
    Gut gelesen, war Schreibfehler von mir.......
     
    Gismor0808, 27. April 2011
    #8
  9. Hi,

    Access (bzw. die interne Jet-Engine) tut sich ein bisschen schwer mit Löschabfragen, die Joins ("Beziehungslinien") enthalten.

    Du kannst aber trotzdem aus Tabelle A alle Sätze entfernen, die sich (anhand Gleichheit bestimmter Felder) in Tabelle B befinden: mit einem Subselect.

    Code:
    Und zum Beziehungstyp Undefiniert: der entsteht, wenn die Beziehung auf beiden Seiten Felder umfasst, die nicht den jeweiligen Primärschlüssel ausmachen. Mangels Primärschlüsseln ist das bei deinem Tabellengefüge immer der Fall.
     
    Atrus2711, 27. April 2011
    #9
  10. Das verstehe ich nun gar nicht. Wenn ich zwei Tabellen über ungleich verknüpfe, erhalte ich ja ein fast komplettes Kreuzprodukt: Bis auf einen Datensatz (bei eindeutigen Schlüsseln) dürften alle übrigen Datensätze ungleich sein, also jeder Datensatz wird mit fast jedem der Gegentabelle kombiniert.

    Um zum vermutlichen Ausgangspunkt zu kommen. Um alle Datensätze aus der einen Tabelle zu löschen, die in der anderen nicht vorhanden sind, könnte eine Abfrage etwa so aussehen:
    Code:
    Das Sternchen wird nur zum Gucken benötigt, nicht für das Löschen - es werden eh nur ganze Datensätze gelöscht.

    Programmieren ist eine präzise Tätigkeit. Man kommt nicht sehr weit, wenn man nur jedes zweite Wort oder jede zweite Aussage hernimmt (oder gar beliebige). Abgeleitet davon sollte man auch LESEN (was da steht) und SCHREIBEN (was man wirklich will) können.
     
  11. Ich melde mich noch mal zu den Abfragen

    Habe mal Bilder der Abfragen angehangen.
    1. Abfrage mit "ist Null" ich bekomme einen DS der nicht in Bestand-aktuell ist angezeigt.
    2. Das Abfrageergebnis
    3. Das Abfrageergebnis ohne "ist Null"

    DELETE *
    FROM Domailiste D
    WHERE NOT EXISTS
    (SELECT Null FROM [Bestand-aktuell] B
    WHERE D.Domain = B.Domain)

    fragt ab und fragt ab..........
    wo kommt es hin, doch in die Abfrage oder?
     
    Gismor0808, 27. April 2011
    #11
  12. Was soll uns das sagen?
    Siehe SQL-Ansicht
    Eine Abfrage(definition) besteht aus einer SQL-Anweisung (Text nach Regeln), nicht aus Pfeilen und Bildern (wie man nach dem Abfrageeditor glauben könnte.
     
  13. Löschabfrage

    genau da steht diese und führt sich aus......

    Die Pfeile und Bilder soll stehen nur für * zum Gucken
     
    Gismor0808, 27. April 2011
    #13
Thema:

Löschabfrage

Die Seite wird geladen...
  1. Löschabfrage - Similar Threads - Löschabfrage

  2. Löschabfrage: Löschen von DS ohne Zugehörigkeiten in selbiger Tabelle

    in Microsoft Access Hilfe
    Löschabfrage: Löschen von DS ohne Zugehörigkeiten in selbiger Tabelle: Hallo zusammen, ich baue eine Datenbank zur Inventarverwaltung. Dabei soll das Inventar in verschiedene Ebenen aufgebaut werden. Die Idee dazu habe ich schon länger. Zuerst hatte ich für jede...
  3. Löschabfrage -> nur ein Duplikat entfernen

    in Microsoft Access Hilfe
    Löschabfrage -> nur ein Duplikat entfernen: Hallo zusammen, ich habe eine Löschabfrage erstellt, allerdings werden dabei alle Duplikate entfernt: DELETE IN_V5.IDAlex FROM IN_V5 WHERE IDAlex IN (SELECT IDAlex FROM IN_V5 GROUP BY...
  4. Erstellen und Ausführen einer Löschabfrage

    in Microsoft Access Tutorials
    Erstellen und Ausführen einer Löschabfrage: Erstellen und Ausführen einer Löschabfrage Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr......
  5. Dubletten/Löschabfrage

    in Microsoft Access Hilfe
    Dubletten/Löschabfrage: Beitrag hat sich erledigt. Vielen Dank.
  6. Löschen von Duplikaten aus zwei Tabellen mihilfe Löschabfrag

    in Microsoft Access Hilfe
    Löschen von Duplikaten aus zwei Tabellen mihilfe Löschabfrag: Hallo zusammen, ich stehe vor der Herausforderungen aus zwei Tabellen (haupttabelle und Nebentabelle), die Datensätze herauszufiltern, welche in beiden enthalten sind und anschliessend in der...
  7. Löschabfrage über mehrere Tabellen

    in Microsoft Access Hilfe
    Löschabfrage über mehrere Tabellen: Hallo zusammen, ich brauche etwas Nachhilfe, da ich in Access recht wenig mache. Ich möchte eine Löschabfrage zwecks Leerung mehrer Tabellen definieren. Bei einer Tabelle klappt das auch. Wenn...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden