Queri maken met Salaris per Periode (1 tm 12)

Status
Niet open voor verdere reacties.

KJ1966

Nieuwe gebruiker
Lid geworden
17 nov 2013
Berichten
3
Wie kan mij op weg helpen in Access om een overzicht(queri) te maken met het Brutosalaris per Maand van de diverse werknemers?
Ik krijg het maar niet voor elkaar om een overzicht(queri) te maken van het brutosalaris per Maand (1 tm 12), ik krijg steeds 2 records(Maand 1 en Maand 7) per werknemer ipv 12 records(elke maand).

De basis die ik heb is een Tabel(1) met Werknemers en hun Salariswijzigingen (in Januari en Juli),
en een Tabel(2) van alle Maanden (1 tm 12).

Het DOEL/resultaat dat ik wil bereiken is een overzicht met het Brutosalaris per Maand (1 tm 12),


TABEL (1):
Jaar Werknemer Maand Brutosalaris
2019 Pietje Bell Jan 2.200,00
2019 Pietje Bell Jul 2.450,00
2019 Donald Duck Jan 3.000,00
2019 Donald Duck Jul 3.250,00

TABEL (2):
Id Maand Omschrijving
1 Jan Januari
2 Feb Februari
3 Mrt Maart
4 Apr April
5 Mei Mei
6 Jun Juni
7 Jul Juli
8 Aug Augustus
9 Sep September
10 Okt Oktober
11 Nov November
12 Dec December



DOEL:
Werknemer Maand Brutosalaris
Pietje Bell Jan 2.200,00
Pietje Bell Feb 2.200,00
Pietje Bell Mrt 2.200,00
Pietje Bell Apr 2.200,00
Pietje Bell Mei 2.200,00
Pietje Bell Jun 2.200,00
Pietje Bell Jul 2.450,00
Pietje Bell Aug 2.450,00
Pietje Bell Sep 2.450,00
Pietje Bell Okt 2.450,00
Pietje Bell Nov 2.450,00
Pietje Bell Dec 2.450,00
Donald Duck Jan 3.000,00
Donald Duck Feb 3.000,00
Donald Duck Mrt 3.000,00
Donald Duck Apr 3.000,00
Donald Duck Mei 3.000,00
Donald Duck Jun 3.000,00
Donald Duck Jul 3.250,00
Donald Duck Aug 3.250,00
Donald Duck Sep 3.250,00
Donald Duck Okt 3.250,00
Donald Duck Nov 3.250,00
Donald Duck Dec 3.250,00
 
Van deze opzet klopt niet veel.
in TABEL (1) zet je de personeelsgegevens neer. Dus iets van PersID, Naam,,,DatumInDienst,DatumUitdienst
Van TABEL (2) maak je een 'Koppeltabel' met daarin minimaal het PersID, IngangsdatumSalaris, BrutoSalaris.

Vervolgens zou je dan een Query kunnen maken. Maandnummers, korte maandnamen en volledige maandnamen zijn afgeleiden van een datum en sla je op uitzonderingen na niet op in een tabel.:d
 
Aanvulling: om het door jou gewenste resultaat te krijgen, heb je op zijn minst nog een derde tabel nodig, waarin je de maanden per jaar zet. Voor elk jaar dus 12 nieuwe records toevoegen voor de 12 nieuwe maanden van dat jaar.
Op basis van de tabel met salaris mutaties, waarin je dus voor elke mutatie een apart record maakt (PersID, Datum, Salaris) kun je dan op basis van een Cartesisch Product het overzicht maken.
 
Van deze opzet klopt niet veel.
in TABEL (1) zet je de personeelsgegevens neer. Dus iets van PersID, Naam,,,DatumInDienst,DatumUitdienst
Van TABEL (2) maak je een 'Koppeltabel' met daarin minimaal het PersID, IngangsdatumSalaris, BrutoSalaris.

Vervolgens zou je dan een Query kunnen maken. Maandnummers, korte maandnamen en volledige maandnamen zijn afgeleiden van een datum en sla je op uitzonderingen na niet op in een tabel.:d

Aanvulling: om het door jou gewenste resultaat te krijgen, heb je op zijn minst nog een derde tabel nodig, waarin je de maanden per jaar zet. Voor elk jaar dus 12 nieuwe records toevoegen voor de 12 nieuwe maanden van dat jaar.
Op basis van de tabel met salaris mutaties, waarin je dus voor elke mutatie een apart record maakt (PersID, Datum, Salaris) kun je dan op basis van een Cartesisch Product het overzicht maken.

AenA en OctaFish,

Bedankt voor jullie reactie ik ben weer een stapje verder/wijzer.

Met onderstaande SQL heb ik een queri met alle maanden (1 tm 12) en de daarbij aanwezige salarisgegevens(JAN+JUL). Maar omdat alleen de salarisgegevens van Januari + Juli in de tabel Salarisgegevens staan laat de queri alleen deze gegevens zien. De overige maanden zijn leeg. Ik zal dus eerst nog de tabel met salarisgegevens moeten aanvullen (nietzijnde januari + juli) zodat ook de ontbreken maanden straks in de Queri naar voren komen:

SELECT Perioden.Periode, Salaristabel.[Mdw#], Salaristabel.Totaalbedrag
FROM Perioden LEFT OUTER JOIN Salaristabel ON Perioden.Periode = Salaristabel.[Periode verwerkt];

Ik ga aan de slag om eerst de ontbrekende salarisgegevens aan te vullen.
 
Heb je mijn bericht wel goed gelezen? Ik heb liever dat je hem eerst leest voordat je hem (nogal overbodig, als je het mij vraagt) compleet herhaalt.
 
Hallo OctaFish,
Ik heb het Cartesisch Product even gegoogled, was hiermee n.l. niet bekend, en ben daarmee een stapje verder gekomen.
Ik had dit vervolgens misschien niet helemaal hoeven uit te leggen/ herhalen, maar ik wilde hiermee laten weten wat ik met jullie tips heb gedaan.
Nogmaals bedankt voor je tip, ik was al heel wat tijd kwijt met het zoeken naar een passende oplossing. Access wordt nu steeds leuker om mee te werken al je weet hoe het werkt.
 
Maar waarom een complete quote op mijn laatste bericht zonder dat je er wat bijzet? Heb je aandelen in een kliniek die muisarmen behandelt? :)
 
De eenzame quote verwijdert
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan