Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Löschabfrage mit mehreren Bedingungen
zurück: Achtstelligen Zahlen-Stringwert als Datum formatieren weiter: ersten fünf zeichen ausblenden bei ausgabe von datensatz Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Bitte Status wählen ! Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Gast



Verfasst am:
10. Nov 2004, 18:02
Rufname:

Löschabfrage mit mehreren Bedingungen - Löschabfrage mit mehreren Bedingungen

Nach oben
       

Hallo,

was Access betrifft bin ich recht neu. ich scheitere gerade an folgendem Problem:

Ich hab eine Tabelle mit Referenznummer und einem Betrag.

Ich möchte nun folgende Datensätze löschen:

Die Referenznummer kann doppelt vorkommen.

Alle doppelten Referenznummer deren Summe des Betrags 0 ergibt.

zB

321 -10
321 +10
322 +5
323 +25
323 -25

in diesem fall sollten also die datensätze mit Referenznummer 321 und 323 gelöscht werden.

danke schon mal!!

Markus
Skogafoss
Moderator / Access-Halbprofi ;-)


Verfasst am:
10. Nov 2004, 18:27
Rufname:
Wohnort: Wiesbaden


AW: Löschabfrage mit mehreren Bedingungen - AW: Löschabfrage mit mehreren Bedingungen

Nach oben
       

Hallo Markus,
die Referenznummern, für die die Betragssumme aller Datensätze 0 ist, würdest du über die Abfrage:
Code:
SELECT tblMarkus.RefNr
FROM tblMarkus
GROUP BY tblMarkus.RefNr
HAVING (((Sum(tblMarkus.Betrag))=0));

erhalten. (Wenn du dir das mal anschauen möchtest: Das trägst du in der Entwurfsansicht einer neuen Abfrage bei Ansicht - SQL-Ansicht ein. Du kannst dir das dann zum Verständnis noch einmal in der Entwurfsansicht selbst anschauen. Es wird über die Referenznummer gruppiert und als Bedingung für die Summe der Beträge 0 gesetzt.
Damit hättest du zwar die Referenznummern ermittelt, aber noch nicht gelöscht.)
Dafür machst du dir eine Abfrage, die (indirekt) auf diesem SQL-Statement basiert:
Code:
DELETE tblMarkus.*, tblMarkus.RefNr
FROM tblMarkus
WHERE (((tblMarkus.RefNr) In (SELECT tblMarkus.RefNr FROM tblMarkus GROUP BY tblMarkus.RefNr HAVING (((Sum(tblMarkus.Betrag))=0));)));

Diese löscht alle Datensätze, für die das entsprechende erste SQL-Statement zutrifft.
Das mag erst einmal etwas verwirrend sein, aber wenn du dir das mal anschaust, wird sich sicher einiges klären.
Noch einmal zur Klarstellung: Die erste Abfrage wird NICHT benötigt. Ich habe sie nur hingeschrieben, damit du die "Entwicklung" des zweiten SQL-Statements besser verstehst.
Die Namen der Tabelle und Felder musst du natürlich deinen Namensgebungen anpassen.
Und bitte vorher mal an einer Testtabelle ausprobieren. Ich schließe nämlich die Haftung aus Laughing
Gruß
Skogafoss
Gast



Verfasst am:
12. Nov 2004, 17:00
Rufname:

AW: Löschabfrage mit mehreren Bedingungen - AW: Löschabfrage mit mehreren Bedingungen

Nach oben
       

hallo !!

danke für deine Hilfe. Die erste Abfrage funktioniert schon sehr gut. Bei der Löschabfrage hab ich dann jedoch Probleme.

Ich hab nämlich noch zwei andere Bedingungen zB das die Variable QU gleich "PY" oder null ist. Jetzt komm ich da ein wenig mit der Verschachtelung durcheinander.

ich nach dem ausdruck WHERE folgendes stehen:
Code:
WHERE ((([111 Umssätze_ohne_Geschäftsver].QU) Is Null Or ([111 Umssätze_ohne_Geschäftsver].QU)="PY") AND (([111 Umssätze_ohne_Geschäftsver].[FWFW - Umsätze]) Is Not Null));

wie baue ich dann jetzt den teil deines codes ein?

ein großes dankeschön schon mal und ein schönes wochenende!

grüße,

Markus
Skogafoss
Moderator / Access-Halbprofi ;-)


Verfasst am:
12. Nov 2004, 19:41
Rufname:
Wohnort: Wiesbaden

AW: Löschabfrage mit mehreren Bedingungen - AW: Löschabfrage mit mehreren Bedingungen

Nach oben
       

Hallo Markus,
bedeutet das, dass du nur die löschen willst, für die die Summe der Beträge 0 ist UND für die gleichzeitig deine anderen Bedingungen erfüllt sind?
Wenn das so ist, dann fügst du in die erste Abfrage diese Bedingungen zusätzlich in der gleichen Kriteriumszeile wie die 0 für die Summe ein. Also die Felder in der Zeile Feld zusätzlich auswählen, dann als Funktion "Bedingung" setzenund in die Kriteriumszeile deine Kriterien. Wenn das soweit funktioniert, dann kopierst du dir aus "Ansicht - SQL-Ansicht" den SQL-Code raus und fügst diesen in die zweite Abfrage anstelle der anderen Select-Anweisung, also in die Klammer hinter das IN, ein. Dann müsste es funzen. Wenn nicht, dann melde dich nochmal.
Dir auch ein schönes Wochenende.
Gruß
Skogafoss
Gast



Verfasst am:
15. Nov 2004, 13:22
Rufname:

AW: Löschabfrage mit mehreren Bedingungen - AW: Löschabfrage mit mehreren Bedingungen

Nach oben
       

hallo,

bin jetzt draufgekommen das die abfrage nicht so ganz funktioniert.

nochmal die aufgabenstellung.

ich hab eine tabelle in der Referenznummern doppelt vorkommen können.

Nun möchte ich alle Datensätze löschen deren Referenznummer doppelt vorkommen UND deren Summe des Betrags (genau dieser zwei Referenznummern die doppelt sind) Null ist.

Bsp.:
Code:
Referenznummer    Betrag
1000                  10
2000                   5
1000                 -10

referenznummer 2000 soll in der tabelle bleiben da die summe 5 ist.
referenznummer 1000 sollte gelöscht werden da die summe 0 ist.

danke schon mal!!
Nachtrag: Gast am 15. Nov 2004 um 12:52 hat folgendes geschrieben:
achja vielleicht ist das auch wichtig.

die referenznummen sind vielleicht gleich aber nicht die restlichen felder des datensatzes.

wenn ich jetzt an excel denke wäre eine pivottabelle das richtige dafür. ich grupierre dort einfach nach referenznummer und die summe der beträge. so kann ich dort dann die referenznummern finden bei denen die summe 0 ist.
Skogafoss
Moderator / Access-Halbprofi ;-)


Verfasst am:
15. Nov 2004, 16:01
Rufname:
Wohnort: Wiesbaden


AW: Löschabfrage mit mehreren Bedingungen - AW: Löschabfrage mit mehreren Bedingungen

Nach oben
       

Hallo Markus,
aber das ist doch wieder die Anfangsaufgabenstellung, oder nicht? Wenn du doch keine sonstigen Bedingungen setzen willst, funktioniert meine Lösung doch wieder (also die zweite Abfrage, die Löschabfrage). Es gäbe höchstens das Problem, dass ein Datensatz auch dann gelöscht würde, wenn er der einzige ist und der Betrag 0 wäre. Aber ich denke, das kommt wahrscheinlich nicht vor, da das keinen Sinn macht, oder doch? Wenn ja, dann poste noch mal. Das ist mit einer kleinen Veränderung dann auch schnell gelöst. Gibt es evtl. auch den Fall, dass die Referenznummer mehr als zweimal vorkommt? Sollen die Datensätze, falls die Suimme der Beträge von mehr als zwei gleichen Referenznummern 0 ist, nicht gelöscht werden?
Ansonsten musst du nur meine Löschabfrage mit deinen Namen versehen und es sollte funktionieren.
Gruß
Skogafoss
P.S. Was meinst du mit "ich bin darauf gekommen, dass die Abfrage nicht so ganz funktioniert"?
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler in Löschabfrage!! 4 BorisDieKlinge 1624 12. Apr 2006, 13:17
BorisDieKlinge Fehler in Löschabfrage!!
Keine neuen Beiträge Access Tabellen & Abfragen: Mehrere Bedingungen in DomAnzahl 2 Jette 13257 07. Feb 2006, 23:23
Jette Mehrere Bedingungen in DomAnzahl
Keine neuen Beiträge Access Tabellen & Abfragen: Parameterabfrage mit mehreren Suchbegriffen 17 Anke570 8637 19. Jan 2006, 20:26
accessmichel Parameterabfrage mit mehreren Suchbegriffen
Keine neuen Beiträge Access Tabellen & Abfragen: Formulargesteuerte Abfrage mit mehreren Textfeldern 3 Gast 1321 11. Jan 2006, 20:37
jens05 Formulargesteuerte Abfrage mit mehreren Textfeldern
Keine neuen Beiträge Access Tabellen & Abfragen: Schreibschutz bei mehreren 1:n verknüpfungen 2 matze0815 811 23. Okt 2005, 21:25
matze0815 Schreibschutz bei mehreren 1:n verknüpfungen
Keine neuen Beiträge Access Tabellen & Abfragen: Problem bei Abfrage mit mehreren Filter-Kriterien 11 Mr.Wilson 694 17. Aug 2005, 12:31
Mr.Wilson Problem bei Abfrage mit mehreren Filter-Kriterien
Keine neuen Beiträge Access Tabellen & Abfragen: (A03) DS in einer Excel-Tabelle mit Löschabfrage löschen 6 PrinceArthas 795 08. Aug 2005, 00:13
PrinceArthas (A03) DS in einer Excel-Tabelle mit Löschabfrage löschen
Keine neuen Beiträge Access Tabellen & Abfragen: kumulieren in Abfrage mit mehreren Bedingungen 11 Melanie OG 3547 28. Jun 2005, 18:49
Melanie OG kumulieren in Abfrage mit mehreren Bedingungen
Keine neuen Beiträge Access Tabellen & Abfragen: bei from - klauser mit mehreren joins arbeiten ... 1 Vincent_Vega 612 28. Jun 2005, 15:00
Roadrunner bei from - klauser mit mehreren joins arbeiten ...
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage von Formular zu mehreren Tabellen gleichzeitig 5 Friedel 1238 22. Mai 2005, 11:06
jens05 Abfrage von Formular zu mehreren Tabellen gleichzeitig
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage eines Parameters aus mehreren Spalten gleichzeitig 3 Chrono_Trigger 663 21. Apr 2005, 14:24
Willi Wipp Abfrage eines Parameters aus mehreren Spalten gleichzeitig
Keine neuen Beiträge Access Tabellen & Abfragen: [SQL] GROUP BY mit mehreren Untergruppen? 1 marcos_ 1651 07. Apr 2005, 11:05
marcos_ [SQL] GROUP BY mit mehreren Untergruppen?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Access Tabellen