Tabellen koppelen met Query lukt niet goed

Status
Niet open voor verdere reacties.

Aris1969

Gebruiker
Lid geworden
3 apr 2004
Berichten
55
Ik heb 3 tabellen. Simpel voorgesteld:

tabel 1:

order klant
1 a
2 b
3 b
4 c
5 d


tabel 2:

order artikel
1 77
1 88
2 44
3 44
3 66
4 77
4 77
4 88


tabel 3:

order kleur
1 wit
2 wit
2 groen
3 geel
4 rood
5 geel

Hiervan wil ik een Query maken die het volgende resultaat geeft:

Query resultaat:

Order klant artikel kleur
1 a 77 wit
1 88
2 b 44 wit
2 groen
3 b 44 geel
3 66
4 c 77 rood
4 77
4 88
5 d geel

Maar hoe kan ik dat doen? Het principe is simpel: De Query moet alle waarden van de 3 tabellen bij elkaar voegen en weergeven zoals hierboven. Dus met lege cellen/velden op het moment dat de waarden ook niet in de 3 'bron' tabellen bestaan.

Het is de bedoeling het resultaat te exporteren naar Excel...

Tot nog toe is mij dit niet gelukt omdat de Query in Access (2003) telkens de lege velden in het resultaat opvult door waarden te herhalen uit de tabellen indien deze waarde bestaat. Je krijgt dan bijvoorbeeld achter alle order '4' kleur 'rood'. Maar dat wil ik niet: In tabel 3 staat bij order '4' maar 1 keer rood en dus moet in het Query resultaat de kleur rood ook maar 1 keer weergegeven en niet 3 x achter elke '4'.
 
De output die jij wilt kan je niet maken aan de hand van queries.
Een klant heeft 1 of meer orders die bestaat uit 1 of meer artikelen met 1 of meer kleuren.

Het lijkt wel of je output volledig willekeurig is.

Tabel 2 en 3 zijn niet genormaliseert. Die zou je samen moeten voegen. Kan een order zowel wit als groen zijn?
 
Je hebt geen Primairy Key in de tabellen.

TBL_Klant

Klant ID
Klant naam

TBL_Order

Order ID
Klant ID
Kleur ID
Order.......

TBL_Kleur
Kleur ID

Dit zal volgens mij al veel helpen.

Ook een voorbeeld posten, is gemakkelijk.
 
Voorbeeld van database

Bedankt voor jullie reactie tot zover!

Bijgaand heb ik nu een voorbeeld toegevoegd van dat wat ik wil bereiken. In het aparte bijgevoegde Excel bestand zitten drie werkbladen: De eerste laat het huidige Access Query resultaat zien met daarin aangeven wat niet klopt. Het tweede en derde werkblad de gewenste uitkomst.

Het resultaat moet uiteindelijk op deze manier in Excel terecht komen, omdat ik dat zo moet aanleveren.

De 'echte' tabellen komen via een Query uit een IBM I-series (AS400) omgeving en de opbouw daarvan ligt dus vast. Wanneer deze opbouw van tabellen niet tot het gewenste resultaat kan leiden, zullen de tabellen dus ook ook binnen Access aangepast moeten worden. Maar hoe?

Frustrerend voor mij is dat ik het 'handmatig' zo kan invoeren in Excel, dus zit er een logica in. Alleen hoe vertaal ik deze logica naar Access? Als het slechts een paar regels zouden zijn zoals bijgevoegd voorbeeld, zou ik het met de hand doen... Maar helaas zijn het er in werkelijkheid wat meer.
 

Bijlagen

  • voorbeeld.zip
    16,4 KB · Weergaven: 39
De output die jij wilt kan je niet bereiken met een query. Gebruik de query die je hebt en maak een rapport. In het rapport kan je velden groeperen. Daarmee kan je de output maken die je wilt.

HTH:D
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan