Kruistabel criteria ingeven

Status
Niet open voor verdere reacties.

JessicaVdb

Gebruiker
Lid geworden
11 jul 2017
Berichten
17
Hallo iedereen

Ik hoop dat de titel uberhaut een beetje duidelijk is, want het probleem is nogal ingewikkeld om uit te leggen. Voor de duidelijkheid, ik heb geen probleem met het ingeven van criteria's in een kruistabel, enkel met hoe ik de criteria moet opmaken.

Wat is juist mijn probleem:
Ik werk op een bedrijf waar er specifieke opleidingen (trainingen) gegeven moeten worden per type van product. Er zijn echter ook algemene trainingen die voor elk type hetzelfde zijn. Deze trainingen heb ik netjes per ploeg in een kruistabel staan en je kan telkens het type dat je wilt zien selecteren. Hierbij staan dus telkens enkel de werknemers die de belangrijkste trainingen (STW-trainingen) aan dit type gekregen hebben. Echter wil ik de algemene trainingen ook weergeven in dezelfde kruistabel, maar dan komen alle werknemers van die bepaalde ploeg in de kruistabel (aangezien deze natuurlijk de algemene trainingen hebben gehad, maar niks specifiek voor dat type).

Om het duidelijk te maken nog een voorbeeld:

Kruistabel hoe ze nu is:
Knipsel1.PNG

Kruistabel hoe ik wil dat ze is:
Knipsel2.PNG

Ik hoop dat er iemand snapt wat ik bedoel, en dat die een oplossing weet.

Alvast bedankt
 
Ik heb eerlijk gezegd geen idee wat je bedoelt, en je plaatjes helpen dus ook niet. Wellicht een db met dummydata en de juiste queries. Ik zie dat je in de kruistabel 2 weken niet laat zien: wkn2 en wkn5. Dus als je dit zegt:
... ik heb geen probleem met het ingeven van criteria's in een kruistabel, enkel met hoe ik de criteria moet opmaken.
Dan verwacht ik dat je wkn2 en wkn5 kunt uitfilteren uit de kolomkop. Maar dat blijkt dus niet zo te zijn. Wat is precies het probleem? Overigens maak je criteria nooit op, dus dat zou het probleem ook niet mogen zijn :).
 
@OctaFish, en nee ik maak geen ruzie:d

Over slecht lezen gesproken;
Hierbij staan dus telkens enkel de werknemers
Ik zie dat je in de kruistabel 2 weken niet laat zien
Zal Wn1 WerkNemer 1 zijn of WeekNummer 1? Dus waar je de weeknummers vandaan haalt?

Natuurlijk waardeer ik jouw kennis en al jouw reacties. Dat we het af en toe niet met elkaar eens zijn moet kunnen toch? Om mijn kennis van Access weer wat op te halen komen we elkaar in dit onderdeel van het forum ongetwijfeld wat vaker tegen. (reageren is leren) of is het leren van de reacties?:d

@JessicaVdb, ook gezien jouw vorige vraag is het handig dat je de Db even plaatst (met in elke tabel een paar records ontdaan van gevoelige informatie). Plaatjes kosten tijd om na te bouwen en geven nagenoeg nooit het het juiste antwoord op een ogenschijnlijk eenvoudige vraag.
 
Laatst bewerkt:
Dat we het af en toe niet met elkaar eens zijn moet kunnen toch?
Lijkt mij geen probleem; zou anders ook alleen maar saai zijn. Ik begon mijn antwoord met de opmerking dat ik er geen snars van snapte. Wn1 kan wat mij betreft alles zijn. En van mij mag elk bedrijf zijn werknemers nummeren, en ze per week ontslaan. En dan kom je vanzelf aan de code WN1, etc. :D. Ach, een veldnaam is nauwelijks boeiend hier. Als je kan filteren, kan je filteren. Je kan niet zeggen dat je getallen wél kunt filteren, en tekst niet. Dat is hetzelfde als zeggen dat je wél met je rechter been vooruit kan lopen, maar niet met links. :D
 
Wn is dus weldegelijk werknemer en niet weken. Ik had toch niet over weken gesproken dacht ik?

Maar goed in bijlage dus een voorbeelddatabase. In Query1 is het dus de bedoeling dat enkel werknemer Jef in de query blijft staan, aangezien ik enkel de personen wil die als SoortTraining een Level training hebben. Maar de twee Type trainingen moeten wel blijven. Dus zowe 107 als algemeen.

Bekijk bijlage Database1.zip
 
Een veldnaam an sich is niet boeiend, en of het dus WerkNemer of WeekNummer is, ook niet. De discussie geeft alleen maar aan dat het kiezen van juiste veldnamen (of de inhoud) dus wel degelijk uitmaakt voor de perceptie die een buitenstaander van een probleem kan hebben. En nu blijkt dus dat je in je draaitabel gewoon namen hebt staan. Had je dat in je eerste plaatjes al laten zien, dan was de discussie er niet eens geweest :).

Bedoel je dit?
Code:
TRANSFORM Last(Trainingen.LevelTraining) AS LaatsteVanLevelTraining
SELECT Werknemers.Ploeg, Trainingen.SoortTraining, Trainingen.TypeTraining, Trainingen.NaamTraining
FROM Werknemers INNER JOIN Trainingen ON Werknemers.Clocknummer = Trainingen.Clocknummer
WHERE (((Werknemers.Ploeg)="2") AND ((Trainingen.Clocknummer) In (SELECT Clocknummer FROM Trainingen WHERE SoortTraining="Level training")))
GROUP BY Werknemers.Ploeg, Trainingen.SoortTraining, Trainingen.TypeTraining, Trainingen.NaamTraining
PIVOT [Voornaam] & " " & [Achternaam];
 
Een veldnaam an sich is niet boeiend, en of het dus WerkNemer of WeekNummer is, ook niet. De discussie geeft alleen maar aan dat het kiezen van juiste veldnamen (of de inhoud) dus wel degelijk uitmaakt voor de perceptie die een buitenstaander van een probleem kan hebben. En nu blijkt dus dat je in je draaitabel gewoon namen hebt staan. Had je dat in je eerste plaatjes al laten zien, dan was de discussie er niet eens geweest :).

Bedoel je dit?
Code:
TRANSFORM Last(Trainingen.LevelTraining) AS LaatsteVanLevelTraining
SELECT Werknemers.Ploeg, Trainingen.SoortTraining, Trainingen.TypeTraining, Trainingen.NaamTraining
FROM Werknemers INNER JOIN Trainingen ON Werknemers.Clocknummer = Trainingen.Clocknummer
WHERE (((Werknemers.Ploeg)="2") AND ((Trainingen.Clocknummer) In (SELECT Clocknummer FROM Trainingen WHERE SoortTraining="Level training")))
GROUP BY Werknemers.Ploeg, Trainingen.SoortTraining, Trainingen.TypeTraining, Trainingen.NaamTraining
PIVOT [Voornaam] & " " & [Achternaam];

Hier krijg ik dus inderdaad in de database die ik jullie gestuurd heb de oplossing die ik wilde. Nu deze nog proberen omvormen naar mijn database.

Dankje!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan