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
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
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 ;)
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
könntest du mir noch bitte zeigen, wo ich die if-Funktion genau einbauen muss?
danke
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