Marge toekennen aan productgroep

Status
Niet open voor verdere reacties.

danielmolenaar

Gebruiker
Lid geworden
15 jun 2010
Berichten
18
Beste Helpmij-leden,

Ik zit met een probleem waar ik maar geen oplossing voor kan vinden. Het zit alsvolgt:

Ik heb een facturatiesysteem ontwikkeld in MS Access 2007. Hierin vind je onder andere een formulier genaamd Producten. In dit formulier heb ik de velden "Inkoopprijs" "Marge" en "Verkoopprijs". Ik heb er nu voor gezorgd dat de "Verkoopprijs" berekend wordt door de "Inkoopprijs" te vermenigvuldigen met de "Marge". Overigens wordt de "Marge" aangeduid in procenten.
Mijn probleem is nu, dat ik ongeveer 15000+ artikelen heb, en ik wil deze niet 1 voor 1 toekennen (duh :rolleyes:).
Al mijn artikelen zijn ook op Productgroep gesorteerd, en mijn vraag is dus:
Hoe ken ik een marge toe aan een productgroep?

Code:
[b]Besturingselementbron van "Verkoopprijs"[/b]
=[Forms]![Producten]![Inkoopprijs]*[Forms]![Producten]![Marge]+[Forms]![Producten]![Inkoopprijs]

Alvast vriendelijk bedankt voor jullie hulp.

Mvg,
Daniel
 
Om te beginnen kan je formule wat slimmer:
Code:
Besturingselementbron van "Verkoopprijs"
=Me.Inkoopprijs*(1+Me.Marge)
Maar ik snap niet je denkt dat je dat voor alle producten moet bijwerken.... Dat gebeurt namelijk al als je het besturingselement instelt zoals je dat nu hebt gedaan.
Ik krijg de indruk dat je de tabel Producten wilt bijwerken met de berekening. Zodat je het veld gelijk kunt gebruiken. Om te beginnen kan dat uiteraard wel, maar eigenlijk is daar geen noodzaak voor. Je kunt de verkoopprijs dus altijd berekenen als je hem nodig hebt. En als je iets verandert in de bron (inkoopprijs, marge) dan heb je op je formulier automatisch de correcte prijs zonder dat je iets hoeft te doen. In het geval van opslaan van de verkoopprijs, moet je de gegevens bij elke mutatie bijwerken. Waarschijnlijk wil je dat niet.
Wat (uiteraard) wèl belangrijk is, is dat je de Verkoopprijs op het moment van factureren vastlegt. De factuur moet uiteraard worden vastgelegd met de gegevens zoals ze op dàt moment vastliggen. En dat doe je dus door in je Factuurtabel alle velden op je formulier (verkoopprijs, aantal, btw etc) op te nemen en te vullen vanuit je factuurformulier.
 
Als eerste wil ik je bedanken voor de snelle reactie.

Wat je probeert te zeggen (om het even samen te vatten en duidelijk te krijgen) is dus:

1. Ik hoef dus niet alle verkoop prijzen vast te leggen, dit gebeurt al op het formulier zelf.
2. Mijn code voor het besturingselementbron van "Verkoopprijs" kan dus een stuk korter (moet ik die code van jou invoeren bij besturingselementbron of bij programmacode?)
3. De Verkoopprijs moet juist worden vastgelegd op de factuur

Over dat laatste heb ik nog een vraag. Is dit mogelijk door een knop te plaatsen met een "Record opslaan" functie? Dus dat ik op het formulier een knop plaats, waarmee ik de gegevens op het formulier op sla in de tabel "Producten", zodat de gegevens bewaard blijven voor de factuur?

Mvg,
Daniel
 
Hoi Daniel,

Er zijn twee mogelijkheden om een tekstveld op een formulier te vullen: de eerste heb je al ontdekt: je wijst een waarde, formule of veld toe aan een Besturingselementbron. Jammer genoeg kun je dat maar één keer doen. Als het besturingselement van het tekstveld Verkoopprijs dus een formule bevat, kun je er geen tabelveld meer aan hangen.
Je hebt het over een knop waarmee je een waarde opslaat in de tabel [Produkten]. Dat zou ik dus niet doen: de tabel Produkten moet alleen de vaste gegevens bevatten, zoals de Inkoopprijs en de Marge. Omdat de Verkoopprijs fluctueert (afhankelijk van deze twee waarden) zou ik die dus niet opslaan.
Daarnaast heb je facturen, die je neem ik aan wel opslaat? In die tabel heb je het veld Verkoopprijs wèl nodig, en ik zou de waarde dus opslaan in die tabel.
Omdat er dus een berekening plaatsvindt voor de verkoopprijs, moet je een oplossing hebben om het veld op te slaan. Dat kan op een aantal manieren. Ofwel wijs je het Besturingselement toe aan het veld Verkoopprijs in de tabel Facturen, net als de overige factuurvelden, en maak je op een andere plek de berekening van die verkoopprijs, ofwel gebruik je een andere manier om het record op te slaan, waarbij je met VBA een Recordset aanmaakt en het complete record vanuit het formulier toevoegt aan de tabel Facturen. De laatste oplossing geeft je veel meer controle over het record dat je op gaat slaan, maar vergt wat meer werk.
Maar je kunt dus zonder problemen een knop maken, waarmee je het factuurrecord op kunt slaan, als antwoord op de vraag...
 
Michel, je bent een held

Ik bedank je vriendelijk voor je hulp, hier kan ik heel wat mee.

Bedankt!

Daniel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan