Je wilt de prijs zien in een los tekstveld als je een artikel kiest? Daarvoor zijn 2 oplossingen, waar je in ieder geval even over moet nadenken.
Wat is het probleem? als je artikelen verkoopt, heb je
in beginsel genoeg aan het artikelID in de bestellingentabel. Op basis van ArtikelID kun je namelijk altijd de prijs opzoeken van het artikel. Probeem echter, is dat je daarmee de prijs dynamisch maakt. Als je dus de prijs verhoogt of verlaagt, dan gebeurt dat automatisch ook in de eerder geleverde orders. En dat mag uiteraard niet, want dan klopt je boekhouding niet meer.
Dat kun je dus op 2 manieren oplossen: a) door de prijs
die op het moment van bestellen geldt op te nemen in de order tabel, of b) een tabel te gebruiken waarin je de prijsmutaties bijhoudt. In het laatste geval kun je de juiste prijs altijd terugvinden van de bestelling.
De tweede oplossing is het lastigst te maken, dus meestal kiezen mensen voor de eerste oplossing. Die houdt dus in dat je in je tabel Orders twee velden gebruikt: ArtikelID en Prijs. De prijs moet dan gevuld worden
op het moment van artikel kiezen. Dus een actie <Bij Klikken> van de keuzelijst cboArtikel die in de actie het veld Prijs vult met bijvoorbeeld deze opdracht:
Code:
Me.Prijs.Value = Me.cboArtikel.Column(2)
(2) is uiteraard een gok; normaal gesproken is de eerste kolom het ArtikelID, de tweede de Artikelnaam en de derde de prijs.