SQL Abfrage mit Bedingung in Access 2003/2007

11/10/2007 - 12:51 von Markus | Report spam
Hallo,
Wie kann man bitteschön je nach Fall verschiedene Spalten wàhlen?

SELECT
CASE
WHEN (SELECT Generation FROM AktuelleGeneration)=5 THEN Liste.Feld5
ELSE Liste.[Feld1-4]
END
FROM Liste
Where Liste.Name= 'abcd'

Leider muss das alles in einem SELECT sein und die Datenbank Struktur darf
ich nicht àndern! Deratrige Abfragen habe ich bereits mit Erfolg auf SQL
Server 2000 eingesetzt. Geht das auch in Access 2003/2007?

Danke!
Markus K.
 

Lesen sie die antworten

#1 Henry Habermacher [MVP Access]
11/10/2007 - 12:58 | Warnen spam
Hallo Markus

"Markus" wrote:
Wie kann man bitteschön je nach Fall verschiedene Spalten wàhlen?

SELECT
CASE
WHEN (SELECT Generation FROM AktuelleGeneration)=5 THEN Liste.Feld5
ELSE Liste.[Feld1-4]
END
FROM Liste
Where Liste.Name= 'abcd'



SELECT IIF(Nz(DLookup('Generation', 'AktuelleGeneration'), 0)=5,
Liste.Feld5, Liste.[Feld1-4])
FROM Liste
Where Liste.Name= 'abcd'

Da der DLookup() nicht vom aktuellen Record abhàngig ist, sollte dieser nur
einmal je Abfrage aufgerufen werden, so dass sich hier ein Konstrukt über
Joins, etc. kaum lohnt.


Gruss
Henry

Keine E-Mails auf Postings
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von MS Access (Taste F1)
Downloads: http://www.dbdev.org

Ähnliche fragen