Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Mak am Oktober 03, 2010, 13:40:38

Titel: Keine Anzeige von negativen Gehältern -->Anzeige als Null?
Beitrag von: Mak am Oktober 03, 2010, 13:40:38
Hallo zusammen

ich habe für meine Hausarbeit folgenden Code generiert:

Zitat
SELECT Staff.[lName], Staff.[fName], Staff.salary*([Enter percentage of Rise]/100+1) AS [New Salary after Salary Rise]

FROM Staff

ORDER BY staff.lName, staff.fName;

Nun ist mir folgendes aufgefallen:
Wenn ich einen Wert kleiner als -100% eingebe, erhalte ich ein negatives Gehalt. Und dieses ist unrealistisch, da das Gehalt
min. einen Wert von 0 annehmen kann.

Was müsste ich denn machen um das zu vermeiden, dh. dass eine 0 vermerkt wird für z.b. -200%

Vielen Dank.

gruss
Mak
Titel: Re: Keine Anzeige von negativen Gehältern -->Anzeige als Null?
Beitrag von: oma am Oktober 03, 2010, 14:04:00
Hallo Mak,

z.B. so

New Salary after Salary Rise: Wenn([Enter percentage of Rise]<-100;0;[Staff].[salary]*([Enter percentage of Rise]/100+1))

Gruß Oma
Titel: Re: Keine Anzeige von negativen Gehältern -->Anzeige als Null?
Beitrag von: Mak am Oktober 03, 2010, 14:58:41
Hej oma,

danke für antwort.

Handelt es sich bei deinem Lösungsvorschlag um eine IIF funktion?
wie könnte ich es auch ohne if/wenn function lösen?
Denn dieses könnte eine Aufgabenstellung in der Klausur sein und da wir noch keine If-Funktionen behandelt haben,
wäre die andere Variante sehr interessant für mich ;)
Titel: Re: Keine Anzeige von negativen Gehältern -->Anzeige als Null?
Beitrag von: oma am Oktober 03, 2010, 15:33:24
Hallo,

wir fällt keine andere Lösung ein, zumindest nicht für die angegeben Parameterabfrage!

Da diese Abfragen nicht besonders "elegant" sind, baut man sich besser eigene Eingabeformullare für bestimmte Abfragen/Recherchen in denen man dann für die Eingaben leicht Gültigkeitsprüfungen einbauen kann

Gruß Oma
Titel: Re: Keine Anzeige von negativen Gehältern -->Anzeige als Null?
Beitrag von: Mak am Oktober 03, 2010, 16:36:59
könntest du mir noch bitte zeigen, wo ich die if-Funktion genau einbauen muss?
danke
Titel: Re: Keine Anzeige von negativen Gehältern -->Anzeige als Null?
Beitrag von: oma am Oktober 03, 2010, 16:45:38
Hallo,

eigentlich nur dein New Salary after Salary mit meinen Code austauschen

zusammen:

select IName, fName, salary,
IIf([Enter percentage of Rise]<-100,0, salary*([Enter percentage of Rise]/100+1)) AS [New Salary after Salary Rise]
from Staff
order by IName, fName

Gruß Oma