Vinzenz Mai: Ersetzen eines Wertes in der Ausgabe

Beitrag lesen

Hallo Michael,

CASE ... WHEN ... END ?

Soweit ich weiß, unterstützt Microsoft Access _nicht_

CASE ... WHEN ... END,

JetSQL, der SQL-Dialekt der JetEngine, dem Datenbankmanagementsystem hinter MS Access hat mit Transact-SQL, dem SQL-Dialekt des MS SQL-Server nichts zu tun.

Du kannst aber

IIf(<ausdruck1>, <ausdruck2>, <ausdruck3>)

verwenden. Die durchaus sehr gute Online-Hilfe von Microsoft Access weiß mehr über IIf() und noch viel mehr über JetSQL, ich zitiere:

<zitat quelle="MS Access Onlinehilfe">
IIf (Funktion)

Gibt einen von zwei Teilen zurück, abhängig von der Auswertung eines Ausdrucks.

Syntax

IIf(expr, truepart, falsepart)

Die Syntax der IIf-Funktion besteht aus folgenden benannten Argumenten:

Argument Beschreibung
expr Erforderlich. Der auszuwertende Ausdruck.
truepart Erforderlich. Der zurückgegebene Wert oder Ausdruck, wenn expr den Wert True ergibt.
falsepart Erforderlich. Der zurückgegebene Wert oder Ausdruck, wenn expr den Wert False ergibt.

Hinweise

IIf wertet immer sowohl den Teil truepart als auch den Teil falsepart aus, auch dann, wenn nur einer von beiden Teilen zurückgegeben wird. Aus diesem Grund kann es zu unerwünschten Nebeneffekten kommen. Wenn z. B. die Auswertung von falsepart zu einem Fehler aufgrund einer Division durch Null führt, tritt ein Fehler auch dann auf, wenn expr den Wert True hat
</zitat>

Du solltest sie benutzen :-)

Freundliche Grüße

Vinzenz