PDA

Vollständige Version anzeigen : SQL Syntax?


horse79
15.10.2001, 12:10
Hallo,

ich brauche einen SQL-String, kenn aber leider die Syntax nicht. In Tabelle1 gibt es Datensätze mit jeweils einer ID-Nummer. In Tabelle2 gibt es viele Datensätze mit evtl. der selben Zahl wie die ID-Nummer in dem Feld "LöschID". Jetzt sollen alle Datensätze in Tabelle2 gelöscht werden, bei denen die ID Nummer mit dem Feld "LöschID" übereinstimmt. Das ganze soll von einem Button aus vom Formular1 aus gehen (Datenherkunft Tabelle1). Wie lautet die richtige Syntax?

Danke

Kurt aus Kienitz
15.10.2001, 12:30
Hallo,

Die Ereignisprozedur Beim Klick des Buttons müsste ungefähr so aussehen:

Private Sub PbDatenLoeschen_Click()

CurrentDb.Execute "DELETE FROM Tabelle2 WHERE EXISTS(" & _
"SELECT * FROM Tabelle1 WHERE Tabelle1.ID = Tabelle2.LöschID);"

End Sub


Kopiere aber vor dem 1. Versuch deine DB, man weiß ja nie ;)

HTH

MAP_SM
15.10.2001, 12:30
hi,

Genaue Syntax kann ich dir jetzt auch nicht sagen, aber einen kleine Tipp auch für die Zukunft:

erstelle dir doch einfach eine Abfrage, in der du dann versuchst alle deine argumente mit unterzubringen.
wenn Sie fertig ist gehst du einfach auf SQL-Ansicht und kopierst dir die Syntax herraus.
Die kannst du ja dann in dein Modul einfügen und dort dann rumlöschen.. :-) und so.

mache ich auch immer wenn ich die Syntax nicht weiß.

MAP

horse79
15.10.2001, 12:46
@Kurt:

mein Code lautet:
CurrentDb.Execute "DELETE FROM zDaten WHERE EXISTS(" & "SELECT * FROM tblBedarf WHERE tblBedarf.ID = zDaten.LöschID);"
Leider löscht es mir alle Datensätze. Kann ich statt tblBedarf.ID irgenwas wie me.Id oder [formular].[id] reinschreiben?

@Map_sm:
Hatte ich probiert, bin aber auf kein Ergebnis gekommen. Trotzdem merci.

Kurt aus Kienitz
15.10.2001, 13:22
Hallo nochmal,

Wenn Du einen Wert aus dem Formular verwenden möchtest, dann reicht:

Private Sub PbDatenLoeschen_Click()

CurrentDb.Execute "DELETE FROM zDaten WHERE zDaten.LöschID = " & Str$(Me.ID) & ";"

End Sub

horse79
15.10.2001, 13:30
Super, so flutscht dass.

Dank an den SQL-Gott Kurt!