Draaitabel urenregristratie

Status
Niet open voor verdere reacties.

JDR001

Gebruiker
Lid geworden
26 jan 2011
Berichten
44
Ik ben bezig om een draaitabel voor een uren registratie te maken. Ik wil per week een draaitabel kunnen uitdraaien van de totaal uren, die een medewerker heeft gemaakt. Ook wil ik de totaal uren per jaar voor deze week en het totaal na deze week. Het is me gelukt de dagen maandag t/m zaterdag in een draaitabel toe te voegen. Alleen als ik de totaal voor en na toe wil voegen lukt me dit niet. Het lukt me wel om apart het totaal toe te voegen. Alleen kan ik de totaal uren voor de desbetreffende week, de week zelf (ma t/m za) en de totaal uren na de desbetreffende week niet in een draaitabel krijgen. In excel heb ik een voorbeeld gemaakt van wat ik precies wil, om mijn verhaal wat te verduidelijken.
Bedankt zovast
 

Bijlagen

Volgens mij heb je een Excel vraag; ik zou de vraag (laten) verplaatsen.
 
Nee dit is voor een MS Access database. Ik heb het excel bestand ter verduidelijking van mijn vraag erop gezet.
 
Zonder voorbeeld db wordt het wel wat lastiger, want het moet dan noodzakelijkerwijs algemeen blijven. Dus wat je wilt, is geloof ik twee extra kolommen erbij, die het totaal berekenen van de weken voor de geselecteerde week, en het totaal inclusief de geselecteerde week. In Excel kun je dat wat makkelijker doen dan in Access, omdat een kruistabel in Access vrij hard gegevens teruglevert; wil je er extra kolommen bij, dan zul je die moeten opnemen in het Queryontwerp als Rijkop. Omdat je een totaal wilt dat niet is gebaseerd op de waarden die normaal berekend worden, zul je daar een extra query voor moeten maken. Daarin kun je dan ook gelijk het nieuwe totaal opnemen overigens mocht je dat willen. Deze extra query koppel je op basis van de PersoonsID aan de kruistabel, en het totaal veld Tot_Vorige_Week gebruik je dan als Rijkop. Door de waarden van het Waardeveld ook nog als Rijkop te gebruiken, krijg je ook een compleet totaal.
Nogmaals: zonder voorbeeldje kunnen we niet zo heel veel...
 
Laatst bewerkt:
Hierbij het bestand van de voorbeeld database. Je hebt inderdaad het probleem goed begrepen. In de voorbeeld database heb ik een draaitabel gemaakt. Ik weet echter niet hoe ik een totaal vorige week en een totaal huidige week kan toevoegen. Kan iemand mij helpen?
 

Bijlagen

Ik heb op het werk even een voorbeeldje gemaakt, maar daar kan ik nu uiteraard niet bij... Maar het idee is vrij simpel: maak een query die het weektotaal berekent tot de gevraagde week, en voeg die toe aan de draaitabel. Koppel de twee queries en zet het vorige totaal erbij. Ik zal nog even kijken of ik in jouw voorbeeld wat kan brouwen.
 
Ik heb een nieuwe query gemaakt (qUrenregistratie_Totaal_Kruistabel) die wel ongeveer doet wat je vraagt. Het formulier mag je zelf maken :D
 

Bijlagen

Bedankt voor je voorbeeld.
Dit is een hele stap in de goede richting. Ik wil alleen de uren en overuren apart onderelkaar in een draaitabel. Ik krijg dit alleen niet voor elkaar. Weet jij of dit mogelijk is?
Bedankt zovast
 
Beste Octafish,
Ik ben inmiddels al een heel eind met de draaitabel. Ik loop echter nog tegen een probleem aan namelijk:
Ik wil eigenlijk dat alle namen in de draaitabel standaard verschijnen ook al zijn er in de desbetreffende week geen uren gemaakt voor deze persoon. Nu wordt er gefilterd en worden alleen de namen weergegeven waarvan er uren zijn gemaakt in de desbetreffende week.
Bijvoorbeeld: Wanneer ik een nieuwe werknemer toevoeg, dan moet ik perse in de vorige weken uren toevoegen en in de huidige week. Anders wordt namelijk de naam van de persoon niet weergegeven. Als ik bijvoorbeeld alleen in de huidige week uren voor deze nieuwe persoon toevoeg worden deze niet in de draaitabel weergegeven (Totaal Draaitabel). Ook wanneer ik in de voorgaande weken uren toevoeg en vervolgens geen uren in de huidige week, dan worden de totaal uren niet weergegeven.
Weet jij of hier een simpele oplossing voor is?
Alvast bedankt.
 

Bijlagen

Daar is een simpele oplossing voor, als je de namen als Kolomkop gebruikt. Om dat uit te leggen een voorbeeldje van een kruistabel waarin je de omzetten per maand wilt laten zien. Daarbij gebruik je een veld met de formule Format([Factuurdatum;"mmmm") als kolomkop om de namen van de maanden voluit te zien als kolomkop. Dit heeft echter twee nadelen: de eerste is dus dat je de kolommen alleen ziet als er data is voor die maand, wat bij een omzetgrafiek voor het huidige jaar alleen in December het geval is, en het tweede nadeel is, dat de kolommen alfabetisch zijn geordend, zodat het jaar ineens met April begint. Ook niet handig!

Door een veldeigenschap aan te passen, kun je dat omzeilen: als je op de knop <Eigenschappen> klikt als de cursor in het veld KolomKop staat, dan zie je een regel <Kolomkoptekst>. In deze regel kun je alle waarden zetten die kunnen voorkomen in je tabel, in de volgorde waarin je ze wilt hebben. Voor de maanden is dat natuurlijk:
Code:
Januari;Februari;Maart;April;Mei;Juni;Juli;Augustus;September;Oktober;November;December
Deze tekst plak je dus in die regel Kolomkoptekst, en dat is alles... Als je nu de query uitvoert, zie je alle gedefinieerde kolommen, ook als ze leeg zijn. Maak je in deze constructie een typfout, doordat je een letter teveel typt, of te weinig, dan zal Access een lege kolom laten zien, want er kan voor die specifieke naam dan niks gevonden worden.

Wil je de namen als Rijkop, dan zit er niks anders op dan de tabel Mederwerkers te koppelen als een Outer Join, en daarbij alle records uit Medewerkers tonen te gebruiken.
 
Bedankt voor de reactie.
Het aanpassen van de kolomkoptekst is gelukt.
Ik snap alleen de outer join niet. Hoe kan ik dit precies doen?
bedankt zovast
 
Die heb je alleen nodig als je alle namen wilt zien als Rijkop. Je haalt vermoedelijk de namen toch al uit de medewerkerstabel?
 
Ja klopt.
Ik zou ook graag alle medewerkers die in de medewerkerstabel staat ook in de draaitabel zien. Ook zijn er dan bepaalde velden niet ingevoerd.
Weet jij hier een simpele oplossing voor?
 
Dat is nog een beetje lastig, omdat je virtuele records moet maken (gegevens bestaan immers niet). Ik heb daar wel een idee voor, maar dat kost nog wat tijd; met een cartesisch product is er nog wel wat mogelijk. Geduld dus...
 
Het zou ook al goed zijn wanneer er één waarde voor de uren en overuren zijn ingevuld, hij de record in het rapport weergeeft. Bijvoorbeeld: Als ik aan het begin van het jaar alle medewerkers voor de uren en overuren een 0 invoer, hij dan alle records weergeeft. Nu is het zo dat er in de voorgaande weken en in de huidige week een waarde ingevoerd moet worden. Anders wordt de medewerker niet weergegeven.

Als er alleen in de voorgaande weken een waarde ingevoerd wordt en vervolgens de medewerker weergegeven wordt in het rapport, ben ik ook al tevreden.
 
Dat blijft toch een stukje database vervuiling, want je gaat dan extra records toevoegen die je eigenlijk niet nodig hebt. Door het met een query op te lossen hoeft dat niet. En dat scheelt dus records en werk. Daarom zou ik zelf voor de query-optie gaan. Al werkt het met dummy records uiteraard wel...
 
Dat is inderdaad waar. Het is beter om het met een query te doen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan