Supportnet / Forum / Datenbanken
Löschen einer Abfrage in Access
Frage
Hallo,
ich habe in Access eine Tabelle mit den Spalten A (Kundennummer) B und C. Nun möchte ich die Datensätze löschen, bei denen B + C Null ergibt. Dazu habe ich eine Abfrage erstellt in der die Spalten B und C addiert werden und mit dem Kriterium "=0" gefiltert. Das Ergebnis dieser Abfrage lässt sich aber nicht mehr löschen!!!
Kann mir jemand sagen, wie ich diese gefilterten Datensätze löschen kann?
Antwort 1 von Teddy7
Verstehe ich das richtig, dass Du die Auswahlabfrage nicht in eine Löschabfrage umändern kannst ?
Das passiert, wenn die Zuordnung der beiden Tabellen nicht eindeutig ist.
Gruß
Teddy
Das passiert, wenn die Zuordnung der beiden Tabellen nicht eindeutig ist.
Gruß
Teddy
Antwort 2 von Teddy7
Oh - Sorry - sehe gerade, dass ich Unsinn erzähle.
Du hast also eine Abfrage erstelle, in der Du eine zusätzliche Spalte definiert hast, die 2 andere Spalten addiert ?
Und wie versuchst Du dann zu löschen ?
Du hast also eine Abfrage erstelle, in der Du eine zusätzliche Spalte definiert hast, die 2 andere Spalten addiert ?
Und wie versuchst Du dann zu löschen ?
Antwort 3 von hikE
Wäre es nicht einfacher, statt in einer Abfrage irgendwas zu multiplizieren, in der Tabelle nach
FeldB Ist Null Und FeldC Ist Null
zu filtern? Das so gefilterte Ergebnis lässt sich ganz problemlos löschen. Und den Filter kannst Du als eigene (Lösch)Anfrage abspeichern, und auf diese Weise jederzeit wieder benutzen.
Sobald Du Abfragen zum Berechnen einer dritten Spalte verwendest, kannst Du die zugrundeliegenden Datensätze nicht löschen, weil Du mit der berechneten Spalte ein Element hinzugefügt hast, das mit den Datensätzen in der Tabelle in Beziehung steht.
Und du willst ja eigentlich nur unausgefüllte Datensätze eliminieren, wenn ich das richtig verstehe.
FeldB Ist Null Und FeldC Ist Null
zu filtern? Das so gefilterte Ergebnis lässt sich ganz problemlos löschen. Und den Filter kannst Du als eigene (Lösch)Anfrage abspeichern, und auf diese Weise jederzeit wieder benutzen.
Sobald Du Abfragen zum Berechnen einer dritten Spalte verwendest, kannst Du die zugrundeliegenden Datensätze nicht löschen, weil Du mit der berechneten Spalte ein Element hinzugefügt hast, das mit den Datensätzen in der Tabelle in Beziehung steht.
Und du willst ja eigentlich nur unausgefüllte Datensätze eliminieren, wenn ich das richtig verstehe.
Antwort 4 von roland.stork
Hallo,
das Kriterienfeld auszuweiten ist eine gute Idee, aber die Felder B und C waren auch schon berechnende Felder. Das Problem war, dass sich Datensätze aus einer Abfrage mit berechnenden Feldern nicht löschen lassen (bzw. ich weiß nicht wie es geht). Mittlerweile habe ich eine unelegante Lösung gefunden. Die Abfrage habe ich in eine Anfügeabfrage umgewandelt. Mit der daraus resultierenden neuen Tabelle und der ursprünglichn Tabelle lässt sich dann eine Löschabfrage erstellen. Zugegeben... elegant ist anderes, aber es funktioniert.
Vielen Dank
das Kriterienfeld auszuweiten ist eine gute Idee, aber die Felder B und C waren auch schon berechnende Felder. Das Problem war, dass sich Datensätze aus einer Abfrage mit berechnenden Feldern nicht löschen lassen (bzw. ich weiß nicht wie es geht). Mittlerweile habe ich eine unelegante Lösung gefunden. Die Abfrage habe ich in eine Anfügeabfrage umgewandelt. Mit der daraus resultierenden neuen Tabelle und der ursprünglichn Tabelle lässt sich dann eine Löschabfrage erstellen. Zugegeben... elegant ist anderes, aber es funktioniert.
Vielen Dank