[Access 2000] Componenten tabel

Pagina: 1
Acties:

  • Sherlock
  • Registratie: Mei 2000
  • Laatst online: 22:12
Ik wil een database opzetten om wat simpele facturen te maken, aan de hand van vrachtbrieven.

Nu is het zo dat onze verpakkingen (bijv. dozen) zijn opgebouwd uit een aantal componenten. Bijvoorbeeld Doos1 bestaat uit een inlegvelA en een doosA. Omdat het voor een gebruiker veel werk is om elke keer inlegvelA en doosA in te vullen, wil ik graag dat zij Doos1 kunnen selecteren, waarna het zootje gekoppeld wordt.

Nu heb ik twee tabellen gemaakt: tblDozen en tblDozen_Componenten

De tabel Dozen_Componenten ziet er als volgt uit:
code:
1
Component_ID   Naam_Component   Componenttype   Prijs   Statiegeld


De tabel Dozen ziet er als volgt uit:
code:
1
Code_doos_ID   Naam_doos   Component...   AantalComponent...
Waarbij "..." staat voor 1 t/m 8.

Is dit een handige/juiste manier of valt dit slimmer aan te pakken?

And if you don't expect too much from me, you might not be let down.


  • Boss
  • Registratie: September 1999
  • Laatst online: 04-09 10:35

Boss

+1 Overgewaardeerd

Dat is niet de goede manier. Maak een tabel met alle beschikbare componenten (zoals je die al hebt) en eentje met de dozen.

In de tabel met dozen zet je alleen de naam, id en iets van opmerkingen ofzo. Vervolgens maak je een tabel met DoosID en ComponentID en ComponentAantal als enige kolommen. Die koppel je aan de andere 2 tabellen.

Op die manier kan je een doos maken die uit 1 t/m 'oneindig' componenten bestaat.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • Sherlock
  • Registratie: Mei 2000
  • Laatst online: 22:12
Aha, dat klinkt inderdaad beter! En in die laatste tabel zet ik een autonummering veld als primary key?

And if you don't expect too much from me, you might not be let down.


  • Boss
  • Registratie: September 1999
  • Laatst online: 04-09 10:35

Boss

+1 Overgewaardeerd

Kan je doen, maar in principe heeft die tabel geen primary key nodig. Je zal er toch nooit in willen zoeken.
Wat je wel kan doen is een key maken op de combinatie van doos en doos-component. Dan kan iemand niet 2x hetzelfde component bij een doos invoeren.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • whoami
  • Registratie: December 2000
  • Laatst online: 04:19
Hier heb je wellicht wel wat aan.
Boss schreef op 06 november 2003 @ 10:07:
Kan je doen, maar in principe heeft die tabel geen primary key nodig. Je zal er toch nooit in willen zoeken.
Iedere tabel heeft een primary key nodig.
Een primary key is handig als je wilt zoeken, maar de bedoeling van een primary key is om iedere row uniek te maken/te kunnen aanspreken.

[ Voor 67% gewijzigd door whoami op 06-11-2003 10:23 ]

https://fgheysels.github.io/


  • Sherlock
  • Registratie: Mei 2000
  • Laatst online: 22:12
Boss schreef op 06 november 2003 @ 10:07:
Wat je wel kan doen is een key maken op de combinatie van doos en doos-component. Dan kan iemand niet 2x hetzelfde component bij een doos invoeren.
Je bedoelt een combinatieveld? Dus LinkDoosID = "DoosID + ComponentID" ?
Hoe doe ik dat?
whoami schreef op 06 november 2003 @ 10:22:
Hier heb je wellicht wel wat aan.
Iedere tabel heeft een primary key nodig.
Een primary key is handig als je wilt zoeken, maar de bedoeling van een primary key is om iedere row uniek te maken/te kunnen aanspreken.
Bedankt voor de link, het is eigenlijk al te lang geleden dat ik me daarmee bezig gehouden heb.

Zijn jullie er al over uit of ik nu wel of geen primary key nodig heb? ;)

And if you don't expect too much from me, you might not be let down.


  • Boss
  • Registratie: September 1999
  • Laatst online: 04-09 10:35

Boss

+1 Overgewaardeerd

Ok, maar er is dus geen autonummer veld nodig, omdat het unieke zit in de doos-component combinatie. Zo'n key op 2 velden maak je door bij de tabel de indexen aan te passen. Je hebt dan 2 regels nodig: op de eerste regel geef je de IndexNaam, VeldNaam en Sorteervolgorde. Op de tweede regel laat je de IndexNaam leeg en vul je alleen de VeldNaam en Sorteervolgorde in. Op die manier worden die velden als 1 index gezien.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.

Pagina: 1