Make a column positive only

2020-05-09 08:08发布

问题:

Happy new year everyone. I will ask my last question for this evening.

I was wondering if it's possible in MS Access to make a column positive only. Since my approach of getting the exact number will only work if the column is >0. So when a number is <0 I want it to be 0 or 'notthing'

This is the whole code

(((([Factuur]![EindKMStand]-[Factuur]![BeginKMStand])-([Factuur]![Dagen]*125))*[Prijzen]![ExtraKM])+([Prijzen]![dag125KM]*[Factuur]![Dagen])) AS TotaalPrijs

This part have to be 0> or =0

((([Factuur]![EindKMStand]-[Factuur]![BeginKMStand])-([Factuur]![Dagen]*125))

is there a way to do this easily?

My whole query code:

SELECT 
SUM(A.TotaalPrijs) As TotaalPrijs,
A.AutoNR,
A.AutoKlasse,
MAX(Factuur.Dagen) as Dagen,
Prijzen.dag125KM as PrijsPerDag,
Prijzen.ExtraKM As PrijsPerExtraKM,
Factuur.FactuurNR,
Factuur.KlantNR,
Factuur.Begindatum,
Factuur.Einddatum,
Factuur.Borg,
Gegevens.voorletters,
Gegevens.tussenvoegsel,
Gegevens.achternaam,
Gegevens.straatnaam,
Gegevens.huisNR,
Gegevens.Postcode,
Gegevens.rekeningNR,
Gegevens.Plaats,
A.KMteVEEL
FROM
(SELECT Factuur.Dagen, Factuur.AutoNR AS carNR, autos.AutoNR, autos.Klasse AS AutoKlasse, Prijzen.Klasse, Prijzen.dag125KM, Prijzen.ExtraKM, (prijzen.dag125KM*Factuur.Dagen) AS MinPrijs, Factuur.FactuurNR, Factuur.KlantNR, Factuur.Begindatum, Factuur.Einddatum, Factuur.Borg, (((([Factuur]![EindKMStand]-[Factuur]![BeginKMStand])-([Factuur]![Dagen]*125))*[Prijzen]![ExtraKM])+([Prijzen]![dag125KM]*[Factuur]![Dagen])) AS TotaalPrijs, Gegevens.voorletters, Gegevens.tussenvoegsel, Gegevens.achternaam, Gegevens.straatnaam, Gegevens.huisNR, Gegevens.Postcode, Gegevens.rekeningNR, Gegevens.Plaats, (([Factuur]![EindKMStand]-[Factuur]![BeginKMStand])-Dagen*125) AS KMteVEEL
 FROM autos, Factuur, Prijzen, Gegevens
    WHERE (((Factuur.AutoNR)=Autos.AutoNR) And ((autos.Klasse)=Prijzen.Klasse) And ((Factuur.KlantNR)=Gegevens.KlantNR))

) AS A

GROUP BY 
    A.AutoNR, A.AutoKlasse, Prijzen.dag125KM, Prijzen.ExtraKM, Factuur.FactuurNR, Factuur.KlantNR, Factuur.Begindatum, Factuur.Einddatum, Factuur.Borg, Gegevens.voorletters, Gegevens.tussenvoegsel, Gegevens.achternaam, Gegevens.straatnaam, Gegevens.huisNR, Gegevens.Postcode, Gegevens.rekeningNR, Gegevens.Plaats, A.KMteVEEL

回答1:

You can use iif():

iif(((([Factuur]![EindKMStand]-[Factuur]![BeginKMStand])-([Factuur]![Dagen]*125)) < 0, 0
    ((([Factuur]![EindKMStand]-[Factuur]![BeginKMStand])-([Factuur]![Dagen]*125))
   )