datums tellen

Status
Niet open voor verdere reacties.
Als het gaat om aantal per jaar dan mag je het veld Datum nog weghalen. Ik denk dat ik je vraag niet helemaal correct heb gelezen omdat je de datums erbij haalde :). En in de filtering heb je de functie WAAR niet gebruikt. En dat moet wel. Dan krijg je zoeits
Code:
SELECT GETUIGTHER, Count(DATA.id) AS AantalID FROM DATA WHERE Year([DATUM])=Year(Date()) GROUP BY GETUIGTHER
;
 
Ik vrees dat het toch niet helemaal duidelijk is wat ik bedoel...

Ik wil geen aantal beurten hebben maar een aantal DAGEN...

Dus, startende vanuit de data tabel wil ik weten hoeveel dagen er per jaar gewerkt werd (ook als is er maar 1 record voor een bepaalde maand)
EN
Hoeveel dagen iedereen individueel gewerkt heeft per jaar

dus het gaat om DAGEN niet om behandelingen

JP (op hoop van zegen)
 
in reactie op #21

iets wat me ook niet zo heel duidelijk is binnen het query-gebeuren, is dat, eens je, op basis van die query, die getallen krijgt... hoe kan je met die getallen dan verder aan de slag?
bvb
Ik wil alle prestaties samentellen
Ik wil de prestaties van "J" en "L" samentellen
Ik wil een calculatie doe op deze cijfers zodat ik de procentverhouding krijg van iedere therapeut in relatie tot het totaal
Of verlang ik teveel?
Bedankt voor de info (... steeds weer opnieuw)
JP
 
Eerst maar even de oplossing, lijkt mij. Twee oplossingen denkbaar (wel meer als je ook VBA meerekent) maar in query verband kun je dus twee dingen doen.
1. Maak een query die groepeert op de velden [GETUIGTHER] en [Datum]. Maak vervolgens een Totalenquery op basis van deze query die groepeert op [GETUIGTHER] en de datumvelden telt. Volgens mij heb je dan wat je zoekt. Of het bruikbaar is weet ik niet, want zelf zou ik eerder nog een kruistabel maken die de telling per maand laat zien. Maar dat komt misschien nog.

De tweede optie is wat minder makkelijk, maar houdt alles wel binnen één query. Je vervangt dan de query die je in de tweede query uit het vorige voorbeeld gebruikt door de SQL van de eerste query, die dan niet meer nodig is. Access gaat dan goochelen met vreemde alias namen, maar dat moet je dan maar voor lief nemen.
Code:
SELECT [%$##@_Alias].GETUIGTHER, Count([%$##@_Alias].Datum) AS AantalDagen
FROM (SELECT GETUIGTHER, DATUM FROM DATA WHERE Year([DATUM])=Year(Date()) GROUP BY GETUIGTHER, DATUM)  AS [%$##@_Alias]
GROUP BY [%$##@_Alias].GETUIGTHER;
 
dat werkt perfect, alleen weet ik niet hoeveel dagen er om het even wie gewerkt heeft, maw. hoeveel dagen is er sowieso iemand in de praktijk geweest

Hoe krijg ik nu deze gegevens netjes in een form en kan ik in deze form ook de waarden van bvb vorig jaar kwijt, mits hier of daar een aanpassing?

Bedankt Michel...
wil toch wel even een en ander kwijt ivm de reacties die ik hier las..
het valt me steeds weer op dat het uiteindelijk jij bent die telkens, heel snel reageert op een vraag.... (anderen doe het ook wel maar maar toch)
ik kan er alleen heel gelukkig mee zijn, want ik heb, als complete leek, heel dikwijls hulp nodig
dat de uitleg die ik krijg niet altijd even duidelijk voor me is neem ik er maar bij, mijn onkunde is hier de oorzaak van en ik heb echt geen tijd om me in acces te verdiepen (al zou het wel nuttig zijn natuurlijk)... ik heb andere katjes te geselen
ik wil je nogmaals heel erg bedanken.. wou dat ik iets kon terugdoen
JP
 
Als je iets aan een afgescheurde pees kan doen, kom ik graag een keer langs :). Wat betreft je aanvullende vraag: die snap ik nog niet helemaal. Misschien kun je in een excelletje of zo even een voorbeeld maken van wat je voor ogen hebt, dan kunnen wij dat wellicht vertalen naar een Access oplossing. Als ik het zo lees, denk ik dat er een functie gemaakt moet worden. Maar wellicht dat je met een draaitabel al een heel eind komt.
 
Eigenlijk is het heel simpel
Waar lees ik ergens hieveel dagen de praktijk open is geweest
Met jou cijfers kan ik dan bekijken hoeveel dagen bvb "M" kilen werken is maar weet niet van de hoeveel dagen in totaal
Bvb M heeft 123 dagen gewerkt van de 240 dat de praktijk open was...

Ps... afgerukte pezen... leuk werk.. je bent meer dan welkom ;)
 
Bedoel je zo iets:
Code:
SELECT [%$##@_Alias].GETUIGTHER, Count([%$##@_Alias].Datum) AS AantalDagen, (SELECT DISTINCT Count([DATA].[DATUM]) AS AantalDagen
FROM (SELECT DISTINCT DATUM FROM DATA WHERE (Year([DATUM])=Year(Date())) )  AS [%$##@_Alias]) AS Dagen
FROM (SELECT GETUIGTHER, DATUM FROM DATA WHERE Year([DATUM])=Year(Date()) GROUP BY GETUIGTHER, DATUM)  AS [%$##@_Alias]
GROUP BY [%$##@_Alias].GETUIGTHER;

Ja, breek me de bek niet open. Ik blijk al zo'n 8 maanden met een afgescheurde pees in mijn schouder rond te lopen. Geen wonder dat ik 's nachts geen oog dicht doe :)
 
Ik krijg:

selectie bevat een ongedefinieerde functie date

JP
 
Heb je de de db al eens gecompileerd? Deze 'fout' heeft doorgaans niks met de query te maken, of met de functie. Er zit dan ergens anders iets niet goed en met DB compileren vind je de fouten doorgaans heel snel.
 
klopt... ziet er goed uit... maar
hoe krijg ik dat nu netjes op mijn scherm
en
kan ik die cijfers ook op een handige manier verkrijgen van vorige jaren
Zou prettig zijn als ik dat op een formuliertje kon hebben
zo iets van
2017 gewerkte dagen: 161 A - 151 L - 97 J - 105 M - 122
2016 gewerkte dagen: 312 ..................

JP

BTW: als je vragen hebt over je schouder mag je me altijd een mailtje sturen... ik zal je graag helpen als ik kan.. wil graag iets terug doen... remember?
 
Het begint langzaam naar een kruistabel te ruiken; dus niet filteren op een jaar, maar alle jaren genereren en dan jaar als rijkdom gebruiken. Kolomkoppen wordt dan Getuigther en de waarde is dan de telling.
 
Michel,
tover jij hier nog iets uit je hoed?
alvast bedankt

JP
 
Heb je hier iets aan?
PHP:
TRANSFORM Count(Alias2.Datum) AS AantalDagen
SELECT Alias2.GETUIGTHER
FROM (SELECT GETUIGTHER, DATUM FROM DATA  GROUP BY GETUIGTHER, DATUM)  AS Alias2
WHERE (((Year([DATUM])) Is Not Null))
GROUP BY Alias2.GETUIGTHER
ORDER BY Alias2.GETUIGTHER, Year([DATUM])
PIVOT Year([DATUM]);
 
En, als je op maanden wilt werken, kan dit ook nog:
PHP:
TRANSFORM Count(Alias2.Datum) AS AantalDagen
SELECT Year([DATUM]) AS Jaar, Alias2.GETUIGTHER
FROM (SELECT GETUIGTHER, DATUM FROM DATA  GROUP BY GETUIGTHER, DATUM)  AS Alias2
WHERE (((Year([DATUM])) Is Not Null))
GROUP BY Year([DATUM]), Alias2.GETUIGTHER
ORDER BY Year([DATUM]), Alias2.GETUIGTHER
PIVOT Format([DATUM],"mmm") In ("jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec");
 
Da's super Michel, maar wat ik nog mis (durf het bijna niet te vragen) is het totaal aantal gewerkte dagen, los van om het even welke therapeut..

JP
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan