Base - SQL Befehl über mehrere Zeilen in Macro

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

muema
Beiträge: 2
Registriert: Mi, 20.07.2016 15:49

Base - SQL Befehl über mehrere Zeilen in Macro

Beitrag von muema »

Hallo, ich suche nach einer Lösung für folgendes Problem. Vielleicht kann mir ja jemand helfen. Danke vorab!

In einer Base-Datei lese ich über ein Basic-Macro eine Datenbank-Tabelle ein. Den erforderlichen SQL-Befehl schreibe ich zuvor in eine String-Variable. Allerdings ist dieser Codebereich recht unübersichtlich, da die Codezeile extrem lang ist.

Gibt es eine Möglichkeit den Code übersichtlicher über mehrere Zeilen zu schreiben? Eine Trennung mit Unterstrich funktioniert bei mir nicht, da dies den SQL-Befehl unterbricht.

Die Code-Zeile hat den folgenden prinzipiellen Aufbau (gekürzt).
stSql = "SELECT ""ID"", ... FROM ""TABELLE1"" WHERE ..."

Danke + Grüße
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Base - SQL Befehl über mehrere Zeilen in Macro

Beitrag von F3K Total »

Hi,
du kannst den SQL-Text trennen, die Teile jeweils in Anführungszeichen einschließen und ans Ende jeder Zeile +_ anfügen

Code: Alles auswählen

Sub Main
sSQL = "SELECT ""T_HAUPTKATEGORIEN"".""ID_HAUPTKATEGORIE"", ""T_HAUPTKATEGORIEN"".""HAUPTKATEGORIE"" FROM"+_
"( SELECT DISTINCT ""T_HAUPTKATEGORIEN"".""ID_HAUPTKATEGORIE"" FROM ""T_UNTERKATEGORIEN"", ""T_HAUPTKATEGORIEN"", ""T_MATERIAL_GERAETE"", ""T_FILTER"" WHERE"+_
" ""T_UNTERKATEGORIEN"".""FK_ID_HAUPTKATEGORIE"" = ""T_HAUPTKATEGORIEN"".""ID_HAUPTKATEGORIE"" AND ""T_MATERIAL_GERAETE"".""FK_HAUPTKATEGORIE"" "+_
"= ""T_UNTERKATEGORIEN"".""FK_ID_HAUPTKATEGORIE"" AND ""T_MATERIAL_GERAETE"".""FK_UNTERKATEGORIE"" = ""T_UNTERKATEGORIEN"".""ID_UNTERKATEGORIE"" AND"+_
" ( LOWER ( ""HAUPTKATEGORIE"" ) LIKE LOWER ( '%' || ""SUCHTEXT"" || '%' ) OR LOWER ( ""UNTERKATEGORIE"" ) LIKE LOWER ( '%' || ""SUCHTEXT"" || '%' ) OR"+_
" LOWER ( ""MATERIAL_GERAETE"" ) LIKE LOWER ( '%' || ""SUCHTEXT"" || '%' ) OR LOWER ( ""BEMERKUNG"" ) LIKE LOWER ( '%' || ""SUCHTEXT"" || '%' ) OR"+_
" ""SUCHTEXT"" IS NULL ) ) ""qTreffer"" LEFT OUTER JOIN ""T_HAUPTKATEGORIEN"" ON ""qTreffer"".""ID_HAUPTKATEGORIE"" = ""T_HAUPTKATEGORIEN"".""ID_HAUPTKATEGORIE"""
print sSQl
End Sub
Gruß R
muema
Beiträge: 2
Registriert: Mi, 20.07.2016 15:49

Re: Base - SQL Befehl über mehrere Zeilen in Macro

Beitrag von muema »

Danke, funktioniert super!
Antworten