Formule EXCEL inbouwen in MS ACCESS

Status
Niet open voor verdere reacties.

hjwebdesign

Nieuwe gebruiker
Lid geworden
9 mei 2006
Berichten
2
Ik heb een formule in excel die ik wil zetten in access, maar weet niet hoe? De formule berekent winstmarges

als volgt
Ik heb de volgende tabel (dit is een voorbeeld)

artikelnr | prijs leverancier | omschrijving | verkoopprijs
1 4 muis

2 10 toetsenbord

3 60



Wat er moet gebeuren in de formule is als volgt:
prijs leverancier < 5 euro ==> verkoopprijs=prijs leverancier + 3
prijs leverancier < 20 euro ==> verkoopprijs=prijs leverancier + 4
prijs leverancier < 50 euro ==> verkoopprijs=prijs leverancier + 4
prijs leverancier < 100 euro ==> verkoopprijs=prijs leverancier + 5
prijs leverancier < 200 euro ==> verkoopprijs=prijs leverancier + 10
prijs leverancier < 300 euro ==> verkoopprijs=prijs leverancier + 15
prijs leverancier < 500 euro ==> verkoopprijs=prijs leverancier + 20

Dus de verkoopprijs wordt bij
artikel 1 4+3 = 7 euro
artikel 2 10 + 4 = 14 euro
etc


De formule in excel luidt!

=ALS(B41<5,B41+3,ALS(B41<50,B41+4,ALS(B41<100,B41+5,ALS(B41<200,B41+10,ALS(B41<300,B41+15,ALS(B41<500,B41+20))))))
 
In Access kun je daarvoor de funktie IIF gebruiken.
Funktie zet je dan in een query.
Andere (in mijn optiek betere) optie is een eigen funktie te schrijven in VBA.

Wat is je kennisniveau qua Access?

FESTER
 
Ik zou in dit geval geen IIF functie gebruiken maar het SELECT CASE statement. Dat maakt je code een stuk overzichtelijker en onderhoudbaarder.

SELECT CASE me![prijs leverancier]
CASE > 0 AND < 5
me![verkoopprijs] = me![prijs leverancier] + 3
CASE >= 5 AND < 20
etc.

END SELECT
 
Het is wellicht beter om het zo te maken dat je marges opnieuw kunt instellen.
Maak een tabel met 3 kolommen
inkoopmin 100
inkoopmax 200
marge 10

Maak dan een query met een kolom Verkoopprijs
Verkoop: [artikelprijs]+DLookUp("[marge]";"marges";"[inkoopmax] >=" & [artielprijs] & " and [inkoopmin]<" & [artikelprijs])

GG
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan