Früher: Chaos im SQL-Fenster

Du kennst das.
Ein Query mit drei Joins, fünf Bedingungen und einer Subquery.
Und alles steht auf einer Zeile.

Wenn Du dann mal schnell etwas anpassen willst: Viel Spaß beim Suchen.

Access hat da lange geschlampt.
Jetzt wird’s besser – mit der neuen, überarbeiteten SQL-Ansicht (ab Access 365, Build 15128 oder neuer).

Was neu ist – kurz und knapp

  • SQL wird automatisch formatiert
  • Jeder SELECT-, FROM-, WHERE-, GROUP-BY-Block steht auf eigener Zeile
  • Einrückungen sorgen für Struktur
  • Klammern bei Subqueries werden sauber eingerückt
  • Lesbarkeit steigt massiv – auch bei komplexen Statements

Beispiel: vorher vs. nachher

Vorher (klassische Access-Ansicht):

SELECT a.KundeID, a.Name, b.Bestellwert FROM tblKunden a INNER JOIN tblBestellungen b ON a.KundeID = b.KundeID WHERE b.Datum > Date()-30 AND b.Status='offen';

Nachher (neue Ansicht):

SELECT 
    a.KundeID, 
    a.Name, 
    b.Bestellwert
FROM 
    tblKunden AS a
    INNER JOIN tblBestellungen AS b 
        ON a.KundeID = b.KundeID
WHERE 
    b.Datum > Date()-30 
    AND b.Status = 'offen';

Du siehst sofort, was Sache ist.
Keine Scrollerei. Kein Versteckspiel.

Was Du beachten musst

  • Die automatische Formatierung wird beim Speichern angewendet
  • Wenn Du Änderungen machst und speicherst, wird neu formatiert
  • Handgemachte Zeilenumbrüche werden ersetzt
  • Kommentare bleiben erhalten, aber immer am Zeilenanfang

Tipp: Lieber eigene SQL extern speichern (z. B. als Textdatei), wenn Du volle Kontrolle willst

Zugriff auf die SQL-Ansicht via VBA

Du willst SQL dynamisch setzen oder auslesen?
Geht weiterhin wie gehabt.

Beispiel:

Dim qdf As DAO.QueryDef
Set qdf = CurrentDb.QueryDefs("qryKundenOffen")

qdf.SQL = _
    "SELECT a.KundeID, a.Name, b.Bestellwert " & _
    "FROM tblKunden AS a INNER JOIN tblBestellungen AS b ON a.KundeID = b.KundeID " & _
    "WHERE b.Status = 'offen';"

Und: Wenn Du das Query später öffnest, wird es automatisch formatiert angezeigt.

Komplexe Subqueries? Kein Problem mehr

Beispiel mit Subquery:

SELECT 
    a.KundeID,
    a.Name
FROM 
    tblKunden AS a
WHERE 
    a.KundeID IN (
        SELECT 
            KundeID
        FROM 
            tblBestellungen
        WHERE 
            Datum > Date() - 30
    );

Früher: Krampf.
Jetzt: Klarer Aufbau, besseres Debugging.

Kein SQL-Beautifier mehr nötig?

Fast.
Wenn Du rein in Access arbeitest – ja.
Wenn Du SQL extern verwaltest (z. B. Versionsverwaltung), dann empfehle ich weiterhin eigene Formatter.

Tipp: Nutze Tools wie Poor Man’s T-SQL Formatter oder SQL Prompt, wenn Du mit SQL Server arbeitest.

Mein Fazit

Die neue SQL-Ansicht ist kein Gamechanger.
Aber sie spart Dir Zeit.
Und Nerven – vor allem beim Korrigieren von komplexen Joins.

Wenn Du magst, zeig ich Dir, wie Du Query-Logik komplett in Code kapselst – und dabei trotzdem lesbar bleibst.
Dann brauchst Du kaum noch in die Ansicht rein.
Und wenn doch: sieht’s jetzt endlich ordentlich aus.

Categories:

Tags:

No responses yet

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert