Hallo,
ich weiß, wie ich in einem Makro SQL-Befehle absetzen kann. Zwecks der besseren Lesbarkeit schreibe ich den SQL Code eingerückt in einer Abfrage (SQL-Kommando direkt ausführen angehakt). Nun würde ich gerne wissen, wie ich in einem Makro den SQL-Code direkt aus der Abfrage auslesen kann.
Der String müsste um die Zeilenumbrüche und Tabs bereinigt werden, die Anführungszeichen verdoppelt, um ihn dann an oSQL_Statement.executeUpdate() zu übergeben.
Hintergrund:
Es handelt sich um UPDATE, INSERT INTO - Befehle, die ich aus der Abfrage heraus gar nicht ausführen kann, diese dient nur zum Speichern wg. der Übersichtlichkeit bei der Erstellung des Codes.
Ich möchte mir das manuelle Copy & Paste und umformatieren sparen.
Außerdem wäre es schön, die Daten nicht zweimal in einer Datei speichern zu müssen.
Vielen Dank!
Grüße,
EinsamerBaumWald
🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
Makro: SQL Code einer Abfrage auslesen und BASIC gerecht formatieren zur Verwendung in executeUpdate()
-
EinsamerBaumWald
- Beiträge: 31
- Registriert: Fr 28. Nov 2014, 20:41
Re: Makro: SQL Code einer Abfrage auslesen und BASIC gerecht formatieren zur Verwendung in executeUpdate()
SQL-Code:
.getByIndex(3) verweist auf Abfrage 3 (gezählt wird von 0 bis n). Da kannst Du auch .getByName("MeineAbfrage") verwenden.
zwecks Übersichtlichkeit:
kann man im Makrobereich auch übersichtlich gestalten. z.B. so:
wird dann natürlich komplexer, wenn man " braucht ...
cave: Nach den "_" MUSS DIREKT EIN ZEILENUMBRUCH FOLGEN.
Code: Alles auswählen
thisDatabaseDocument.DataSource.QueryDefinitions.getByIndex(3).Commandzwecks Übersichtlichkeit:
kann man im Makrobereich auch übersichtlich gestalten. z.B. so:
Code: Alles auswählen
sSQL = "Select " & _
" Preis, " & _
" Artikelname " & _
" from " & _
" Artikel " & _
" where " & _
" ID_Artikel = " & cStr(sArtikelnummer) & _
" order by " & _
" Preis"
cave: Nach den "_" MUSS DIREKT EIN ZEILENUMBRUCH FOLGEN.
Zuletzt als neu markiert von EinsamerBaumWald am Sa 25. Feb 2017, 09:59.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️