Hallo, in Access 2007 heb ik een database voor stockbeheer van voedingsproducten. Dagelijks stuur ik stock-rapporten door via mail naar de afdelingshoofden van mijn bedrijf. In het rapport worden de totalen van de gewichten berekend van de producten. Dit gebeurt in de "footer" van het rapport.
Wat ik nu wil verwezenlijken is een "target level" stock en van daaruit het gecalculeerde "overstock". De "target level" stock is voor elk product een variabel streefvolume afhankelijk van product (vb voor product A 1000kg, product B 500kg, product C 2000kg). De "overstock" is dan gewoon de som van de gewichten van het product min de "target level" (vb Product A target level= 1000kg en somgewichten is 1500kg dan is de overstock 500kg).
Voor de variabele "target level" maakte ik een ellenlang if expressie in de "control source"
Dit werkt maar het probleem is dat ik niet alle producten van een "target level" kan voorzien omdat na een tijd ik geen if expressie meer kan aanvullen omdat voor access de expressie te lang is.
Ik ga ervan uit dat dit misschien beter in vba geschreven kan worden, echter heb ik daar weinig ervaring mee.
Wat ik nu wil verwezenlijken is een "target level" stock en van daaruit het gecalculeerde "overstock". De "target level" stock is voor elk product een variabel streefvolume afhankelijk van product (vb voor product A 1000kg, product B 500kg, product C 2000kg). De "overstock" is dan gewoon de som van de gewichten van het product min de "target level" (vb Product A target level= 1000kg en somgewichten is 1500kg dan is de overstock 500kg).
Voor de variabele "target level" maakte ik een ellenlang if expressie in de "control source"
Code:
=IIf([Categorie]="Slices A90/30";400;IIf([Categorie]="Slices A42/7";400;
IIf([Categorie]="couvercles frambois";100;IIf([Categorie]="Slices N50/40";400;
IIf([Categorie]="Organic Bio 42/7";1200;IIf([Categorie]="IQF Chevre au lard 15g";200;
IIf([Categorie]="IQF Chevre au lard 25gr";100;IIf([Categorie]="Slices A90/60";400;
IIf([Categorie]="Slices H42/20";400;IIf([Categorie]="Slices H42/7";400;
IIf([Categorie]="Slices N38/15";1200;IIf([Categorie]="Slices N38/20";400;IIf([Categorie]="Slices N42/15";1200;0)))))))))))))
Dit werkt maar het probleem is dat ik niet alle producten van een "target level" kan voorzien omdat na een tijd ik geen if expressie meer kan aanvullen omdat voor access de expressie te lang is.
Ik ga ervan uit dat dit misschien beter in vba geschreven kan worden, echter heb ik daar weinig ervaring mee.