4D v14.3DELETE SELECTION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
DELETE SELECTION
|
DELETE SELECTION {( Tabellenname )} | ||||||||
Parameter | Typ | Beschreibung | ||||||
Tabellenname | Tabelle |
![]() |
Tabelle zum Bearbeiten oder Haupttabelle ohne Angabe | |||||
Der Befehl DELETE SELECTION löscht alle Datensätze in der aktuellen Auswahl der Tabelle Tabellenname. Ist die aktuelle Auswahl leer, hat er keine Auswirkung. Wurden die Datensätze gelöscht, ist die aktuelle Auswahl von Tabellenname leer.
Datensätze, die während einer Transaktion gelöscht werden, sind für andere Benutzer und Prozesse gesperrt, bis die Transaktion bestätigt oder abgebrochen wird.
Datensätze, die nicht gelöscht werden konnten, weil sie von einem anderen Prozess gesperrt waren, legt 4D in die Menge “LockedSet”.
Tabellenname ist optional. Wird der Parameter nicht angegeben, bezieht sich DELETE SELECTION auf die Haupttabelle.
Warnung: Das Löschen einer Datensatzauswahl sollte mit Bedacht verwendet werden, denn die Operation ist dauerhaft und lässt sich nicht mehr rückgängig machen.
Ist die Option Datensätze vollständig löschen im Inspektorfenster nicht markiert, erhöht das die Löschgeschwindigkeit beim Verwenden von DELETE SELECTION. Weitere Informationen dazu finden Sie im Handbuch 4D Designmodus im Abschnitt Datensätze definitiv löschen.
Folgendes Beispiel zeigt alle Datensätze aus der Tabelle [People] und lässt den Anwender wählen, welche er löschen möchte. Das Beispiel ist in zwei Teile gegliedert. Der erste Teil ist eine Methode, die Datensätze anzeigt, der zweite eine Objektmethode für die Schaltfläche Löschen.
Die Methode:
ALL RECORDS([People]) ` Wähle alle Datensätze
FORM SET OUTPUT([People];"Listing") ` Setze Formular
DISPLAY SELECTION([People]) ` Zeige alle Datensätze an
Die Objektmethode für die Schaltfläche Löschen, die im Fußteil des Ausgabeformulars erscheint. Sie verwendet die vom Benutzer ausgewählten Datensätze (die Menge UserSet) zum Löschen der Auswahl. Hat der Benutzer keine Auswahl getroffen, hat DELETE SELECTION keine Auswirkung.
` Bestätige, dass der Benutzer die Datensätze wirklich löschen will
CONFIRM("Sie haben "+String(Records in set("UserSet"))+" Personen zum Löschen gewählt."
+Char(13)+"Klicken Sie zum Löschen auf OK.")
If(OK=1)
USE SET("UserSet") ` Verwende die vom Benutzer gewählten Datensätze
DELETE SELECTION([People]) ` Lösche Datensätze in Auswahl
End if
ALL RECORDS([People]) ` Wähle alle Datensätze
Datensätze, die während der Ausführung von DELETE SELECTION gesperrt sind, werden nicht gelöscht. Sie werden in der Menge LockedSet abgelegt. Mit dieser Menge können Sie anschließend prüfen, ob Datensätze gesperrt waren. Die folgende Schleife wird ausgeführt, bis alle Datensätze gelöscht sind:
Repeat ` Wiederhole für alle gesperrten Datensätze
DELETE SELECTION([ThisTable])
If(Records in set("LockedSet")#0) ` Gibt es gesperrte Datensätze
USE SET("LockedSet") ` Wähle nur die gesperrten Datensätze
End if
Until(Records in set("LockedSet")=0) ` Bis es keine gesperrten Datensätze mehr gibt
Produkt: 4D
Thema: Auswahl
Nummer:
66
Erstellt: < 4D v6
DISPLAY SELECTION
Einführung in Mengen
MODIFY SELECTION
TRUNCATE TABLE
Überblick zu Datensatz sperren
4D Programmiersprache ( 4D v12.4)
4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v13.5)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)
Geerbt von : DELETE SELECTION ( 4D v11 SQL Release 6)