Sie können diesen Abfrage-Typ nutzen, um den Datenbestand, auf den  zugreift, direkt mit Hilfe von SQL-Befehlen zu verändern. So können Sie z.B. einfache Suchen/Ersetzen-Funktionen realisieren. Gleich zu Beginn eine Warnung: Wenn Sie auf diese Art und Weise unkontrolliert in der Datenbank Veränderungen vornehmen, umgehen Sie (fast) alle Überprüfungsmechanismen von . Es kann somit zu Inkonsistenzen kommen, da  eine Datenstruktur erwartet, die Sie zerstört haben. Sie sollten also sehr sicher in Ihrem Tun sein, wenn Sie eine Daten-Veränderungs-Abfrage durchführen. Daher ist auch eine vorherige Datensicherung sinnvoll.

Nachdem Sie im Bereich „Abfrage-Typ" den Knopf „Daten-Veränderung" aktiviert haben, wandelt sich der am unteren Ende des Dialoges angeordnete Schalter „Drucken" zum Schalter „Ausführen" um, da das Ziel einer Daten-Veränderung kein Ausdruck, sondern eine Daten-Manipulation ist. Gleichzeitig verschwinden einige Registerblätter, nur noch das Registerblatt „SQL-Anweisung" erscheint weiterhin.

Es kann in dieser Dokumentation nicht auf die standardisierte Daten-Abfragesprache SQL eingegangen werden. Zu Informationen zu diesem Thema existiert eine Reihe von hervorragenden Büchern im Fachhandel. , das die SQL-Abfrage direkt an die Borland Database Engine weiterreicht, unterstützt (bis auf einige Ausnahmen) den Standard SQL-92.

Um eine sinnvolle Anfrage zu stellen, müssen Sie über das Datenmodell von  bescheid wissen, Sie müssen wissen, in welcher Tabelle welche Information unter welchem Spaltennamen zu finden ist. Sie finden eine Übersicht über wichtige Datenbanken/Tabellen unter der Überschrift „Von  verwendete Datenbanken“.

Im Folgenden soll exemplarisch die Definition einer Abfrage zur Umsetzung aller  eines Kurses in einen anderen dargestellt werden.

Die Syntax dafür lautet:


Update SLD
Set Kurs=“en99“
Where Kurs=“en25“


Obige Abfrage ersetzt alle Kurs-Einträge der SLD-Tabelle (d.h. bei allen Kurswahlen), denen der Kurs „en25" zugeordnet ist, durch „en99". Wenn Sie nach Eingabe dieser Abfrage den „Ausführen"-Schalter in der Menüleiste betätigen, werden also alle Teilnehmer des Kurses en25 in den Kurs en99 überschrieben. Sie können diese Abfrage mit Hilfe des Schalters „Speichern" oder „Speichern unter" in bekannter Weise in einer Datei sichern, um sie zu einem späteren Zeitpunkt noch einmal (mit Hilfe des Menüpunktes „Abfrage laden") laden und ausführen zu können.

Sicher haben Sie sich schon nach der Bedeutung der rechts neben dem SQL-Eingabefeld stehenden Liste gefragt.



Bei der Datenerfassung mit  sind Sie mehrfach mit Auswahlfeldern konfrontiert worden, die Ihnen die Selektion einer Möglichkeit aus einer festen Liste von Alternativen vorschreiben. So können Sie z.B. bei der Funktion einer Kurswahl zwischen den Werten „normal, still, Hucke-Pack und Sport-Theorie" wählen.  kodiert diese Wahl durch numerische Werte. Um diese Werte nicht direkt eingeben zu müssen, können Sie bei den benutzerdefinierten Abfragen auf die oben aufgelisteten Konstanten zugreifen, die Platzhalter für diese Codes darstellen. Wenn Sie also z.B. nur die Kurswahlen ersetzen wollen, die eine „stille" Funktion haben, könnte Ihre Anfrage wie folgt aussehen:


UPDATE SLD
SET Kurs=“en99“
WHERE (Kurs=“en25“) AND (Funktion=:wstill)


Die ersten zwei Buchstaben einer Konstanten geben in der Regel den Verwendungszweck der Konstante vor.

Konstante/Konstanten-Präfix

Bedeutung / Verwendungszweck

PLK1

Code für Leistungskurs 1

PLK2

Code für Leistungskurs 2

PP3

Code für 3. Prüfungsfach

PP4

Code für 4. Prüfungsfach

PP4Ersatz

Code für Ersatz für 4. Prüfungsfach

mpa...

mündliche Prüfungsart: angesetzte, freiwillige oder keine

mündliche Prüfung

wf...

Funktion der Kurswahl

ka...

Kursart (in Kurswahl und Kurs-Kartei)

fc...

Fehlercode

Ein hilfreiches Leistungsmerkmal der benutzerdefinierten Abfrage ist die Benutzung von sog. benutzerdefinierten Parametern. Diese Parameter, deren Bezeichnung mit einem % beginnen muss, können Sie als Platzhalter in Ihrer Abfrage verwenden. Der einzusetzende Wert für diese Platzhalter wird bei der Ausführung der Abfrage in einem Dialog erfragt. So können Sie die obige SQL-Abfrage zu einer Art generischen Ersetzungs-Abfrage erweitern:


UPDATE SLD
SET Kurs=%Neuerkurs
WHERE Kurs=%Alterkurs


Wenn Sie diese Abfrage ausführen, erscheinen nacheinander zwei Dialogboxen, die Sie zum Eingeben der Werte auffordern, die für die Platzhalter „Neuer Kurs" und „Alter Kurs" eingesetzt werden sollen. Bitte denken Sie (wie in dem Dialog erwähnt) daran, dass Sie den Inhalt von String-Parametern mit Anführungszeichen einschließen müssen.