Stefan: Access CASE WHEN in einer SELECT Abfrage

Hallo zusammen

Ich habe folgende SQL Abfrage für MSSQL
SELECT (CASE WHEN len(feld1)>0 THEN feld1 ELSE feld2 END) as feld FROM tabelle

nun bräuchte ich den gleichen Befehl für eine SQL Abfrage in Access. Aber ich kriege es momentan nicht hin. Kann mir jemand einen Tipp geben?

Vielen Dank.

  1. Hello,

    Ich habe folgende SQL Abfrage für MSSQL
    SELECT (CASE WHEN len(feld1)>0 THEN feld1 ELSE feld2 END) as feld FROM tabelle

    VBA:
    SELECT IIF(Len(feld1) > 0), feld1, feld2) AS Feld

    MfG
    Rouven

    --
    -------------------
    Ambition is the last refuge of failure.  --  Oscar Wilde (Irish Poet, Novelist, Dramatist and Critic, 1854-1900)
    1. Danke für die Antwort.
      Es funktioniert so aber ich möchte nun nach dem neuen Feld (feld) sortieren, doch es gibt einen Fehler.
      Wie muss ich nach dem neuen Feld sortieren?

      Hello,

      Ich habe folgende SQL Abfrage für MSSQL
      SELECT (CASE WHEN len(feld1)>0 THEN feld1 ELSE feld2 END) as feld FROM tabelle
      VBA:
      SELECT IIF(Len(feld1) > 0), feld1, feld2) AS Feld

      MfG
      Rouven

      1. Hello,

        Jup, das Problem kenne ich. Access versteht die Alias-Vergabe nicht, d.h. es ist nicht möglich darauf eine Sortierung (und ich glaube auch keine WHERE-Kriterien) anzuwenden.
        Mir bekannter Ausweg ist die Adressierung mittels des Spaltenindex, also z.B. ORDER BY 1

        MfG
        Rouven

        --
        -------------------
        "I wish it need not have happened in my time" - "So do I, and so do all who live to see such times. But that is not for them to decide. All we have to decide is what to do with the time that is given us."  --  J.R.R. Tolkien: "The Lord Of The Rings: The Fellowship Of The Ring"
        1. mit ORDER BY 1 hat's geklappt. Vielen dank

          Hello,

          Jup, das Problem kenne ich. Access versteht die Alias-Vergabe nicht, d.h. es ist nicht möglich darauf eine Sortierung (und ich glaube auch keine WHERE-Kriterien) anzuwenden.
          Mir bekannter Ausweg ist die Adressierung mittels des Spaltenindex, also z.B. ORDER BY 1

          MfG
          Rouven