Relatie velden in zelfde tabel.

Status
Niet open voor verdere reacties.

Boma

Gebruiker
Lid geworden
20 mei 2007
Berichten
5
Ik probeer voor de kantinecommissie binnen onze vereniging een eenvoudige database te maken voor het noteren van bestellingen, die niet contant afgerekend worden.
Ik heb daarvoor 3 tabellen: 1) Klanten met 1 veld bevattende de Voornaam en Achternaam
2) Artikelen met 2 velden zijnde 1) Artikelnaam en 2) Prijs v/h artikel
3) Bestellingen met 6 velden 1)Datum 2)Naam (Keuzelijst-Klanten-Naam) 3) Aantal 4)Artikel (Keuzelijst-Artikelen-Artikelnaam) 5) Prijs (??????) 6) Bedrag (Aantal*Prijs).

Mijn probleem is dat ik bij de keuze in de tabel bestellingen in veld 4 (Artikel gerelateerd aan tabel Artikelen-veld Artikel) het artikel wil kiezen en dat dan automatisch het veld Prijs in Tabel Bestellingen in gevuld wordt met de prijs, die in Tabel Artikelen - veld Prijs gekoppeld is aan het gekozen artikel.
 
Dit kun je makkelijkst doen door:
1 - in het opzoekveld 'artikelnaam' ook de prijs mee te nemen als kolom
2 - in de AfterUpdate eventhandler voor veld 'artikelnaam' de prijs met VBA uit deze extra kolom halen en in je veld 'prijs' zetten.

Ik zou overigens wel e.e.a normaliseren door gebruik te maken van IDs, want nu ga je per regel onder meer de volledige naam opslaan.
 
Al vermoed ik dat de keuzelijsten zijn gemaakt met de wizard, en die slaat natuurlijk de ID's (of in ieder geval de sleutelvelden) op. En dat mag best een naam zijn. Al zijn unieke codes voor Klanten en Artikelen beter (want korter en beter uniek te houden).
In het Nederlands gaat het om de gebeurtenis <Na bijwerken> van de keuzelijst, en je krijgt dan een formule als
Code:
Me.txtPrijs = Me.cboArtikel.Column(1)
Daarbij uitgaande van
1. naam txtPrijs voor de artikelprijs
2. naam cboArtikel voor de keuzelijst met artikelen
3. de artikelprijs staat in de tweede kolom van de keuzelijst cboArtikel. Access telt namelijk vanaf 0, en niet 1
 
Waar is het formulier? Ik zie geen formulieren, en zonder formulier gaat het niet werken. Bovendien gebruik je in de tabel <Bestellingen> keuzelijsten; maak daar zo snel mogelijk tekstvakken van. En gebruik voor Klanten niet de Klantnaam (niet uniek) maar verander dat in het veld KlantID zodat je de tabel kunt koppelen aan Klanten.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan