Waarde van veld in tabel wijzigen op basis van een berekend veld.

Status
Niet open voor verdere reacties.

patRRick900RR

Gebruiker
Lid geworden
24 jun 2013
Berichten
27
Ik ben een database aan het maken die meerjaren onderhoudscontracten berekend en inzichtelijk maakt.
Een debiteur heeft meerdere lokaties, elke lokatie heeft meerdere onderhoudsjaren (2013, 2014, 2015 enz.).

Op het formulier 'onderhoudsdetails' heb ik een subform geplaatst op basis van een query. Deze query bestaat uit de tabel 'Artikelen' en 'Onderhoudsregels'. De tabel 'Artikelen' heeft een veld [prijs].

Deze prijs zou, op basis van een berekend veld [eenheden] welke in de footer van het subform staat, moeten wijzigen. M.a.w. als het aantal eenheden hoger wordt, betaald de debiteur een lagere prijs.

Ik zit aan twee opties te denken:
1. een tabel staffels aanmaken met daarin de prijzen per artikel per staffel bijv: 1 - 10, 11 - 25 enz. enz.
2. de tabel artikelen uitbreiden met een aantal velden [Staffel]
Nu is het ook zo dat dit slechts geldt bij een aantal artikelen.

Kan ik dit doen door VBA code te hangen aan het berekende veld [Eenheden] en op basis daarvan met DAO de tabellen aanpassen? Welke event handler pas ik dan toe op het veld [Eenheden] zodat deze altijd meeloopt, en kan iemand met op weg helpen met de DAO code?

Andere suggestie zijn uiteraard welkom! Thanks!

frm_onderhoudsdetails.jpg
 
Als het aantal staffels beperkt is, kun je die velden wel opnemen in de artikelen tabel. Een staffel tabel kan uiteraard ook, al verandert dat niet eens zoveel aan het probleem. En één van de problemen die je erbij krijgt, is dat het aanpassen van de prijzen een stevige klus gaat worden. Bovendien kun je, als je het zo inricht, geen prijsafspraken met individuele klanten maken. Als je de prijzenkorting op een vaste manier vastlegt (altijd 5% bij 1-10, altijd 10% bij 11-25 etc) dan kun je de prijs ook met een formule laten uitrekenen. Je kunt dan volstaan met een functie die je aanroept vanaf het veld [Aantal]. In een veld [Korting] zet die dan het kortingsbedrag, of wat je maar wilt.
Voordeel van een functie is, dat je nooit meer staffelprijzen hoeft aan te passen; die worden immers berekend op basis van de artikelprijs.
Jouw vraag is dermate specifiek overigens, dat we een opzetje veel beter op basis van een voorbeeldje jouwerzijds kunnen bouwen. Ik heb in ieder geval geen kant-en-klare oplossing liggen, en mij ontbreekt de tijd om zelf een voorbeeldje te maken.
 
Hallo Octafish, bedankt voor je reactie. Ik heb het anders opgelost. Aan de locatie hangt nu een tabel "Klantenkaart" waarop de diverse onderhouds items weergegeven worden. Deze info heb ik later sowieso nodig in een rapport. Met een simpel if statement in de DAO kies ik nu een ander artikelnummer. Groet, Patrick
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan