🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

(gelöst) SQL Befehl zum löschen aller Datensätze einer Tabelle in ein Makro einbauen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Stegull
Beiträge: 37
Registriert: Di 6. Dez 2022, 13:36

(gelöst) SQL Befehl zum löschen aller Datensätze einer Tabelle in ein Makro einbauen

Beitrag von Stegull » Mo 9. Jan 2023, 23:35

Sehr geehrte Helfer,

das Löschen aller Datensätze einer Tabelle1 gelingt mir mit dem direkt eingegebenen SQL-Befehl DELETE FROM "Tabelle1". Ich würde diese Funktion gern auf einer Schaltfläche eines Formulars mit einem Klick durchführen können. Dazu bräuchte ich ein Makro. Ich habe mir das Makro Handbuch heruntergeladen und muss konsternierend feststellen dass mir zuviel Grundwissen fehlt um das dort Aufgeschriebene zu verstehen.

Wie müsste das Makro aussehen, welches mir alle Datensätze in Tabelle1 löscht, die Definition aber erhält?

Vielen Dank im Vorraus
Zuletzt geändert von Stegull am Di 10. Jan 2023, 12:01, insgesamt 1-mal geändert.

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: SQL Befehl zum löschen aller Datensätze einer Tabelle in ein Makro einbauen

Beitrag von RobertG » Di 10. Jan 2023, 08:02

Meinst Du das Kapitel Makros aus dem Base-Handbuch oder die Kurzanleitung zur Makroprogrammierung?

Code: Alles auswählen

SUB DeleteWholeContent(oEvent AS OBJECT)
oForm = oEvent.Source.Model.Parent
oConnection = oForm.activeConnection()
oSQL_Statement = oConnection.createStatement()
stSql = "DELETE FROM ""Tabelle1"""
oSQL_Statement.executeUpdate(stSql)
END SUB
Die Doppelung der doppelten Anführungszeichen dient dazu, das nachfolgende doppelte Anführungszeichen zu maskieren. Du musst also in dem SQL-Code bei allen doppelten Anführungszeichen ein weiteres doppeltes Anführungszeichen hinzufügen.
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Stegull
Beiträge: 37
Registriert: Di 6. Dez 2022, 13:36

(gelöst) Re: SQL Befehl zum löschen aller Datensätze einer Tabelle in ein Makro einbauen

Beitrag von Stegull » Di 10. Jan 2023, 12:01

Danke Robert,

ganz fantastisch!

Ich habe mir das Handbuch Base_09_Makros_V72 heruntergeladen. Das soll keine Kritik an den Autor darstellen, sondern meine Unfähigkeit verdeutlichen, dieses Thema leicht aufzunehmen.

Vielen vielen Dank!

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: (gelöst) SQL Befehl zum löschen aller Datensätze einer Tabelle in ein Makro einbauen

Beitrag von RobertG » Di 10. Jan 2023, 15:19

… und der Autor liest und berät hier ja mit. Bis auf den Anfang des Macro-Kapitels stammt der gesamte Inhalt des Handbuches von mir.
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Stegull
Beiträge: 37
Registriert: Di 6. Dez 2022, 13:36

Re: (gelöst) SQL Befehl zum löschen aller Datensätze einer Tabelle in ein Makro einbauen

Beitrag von Stegull » Di 10. Jan 2023, 15:37

Das ist mir vollkommen klar.
Respekt!


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten