structuur van een tabel om gegevens per week te kunnen tonen

Status
Niet open voor verdere reacties.

rebirth

Gebruiker
Lid geworden
17 jun 2008
Berichten
170
Hey,

Ik ben al een hele tijd bezig met een database om gegevens per datum bij te houden. Het allerbelangrijkste van gans deze database is dat ik de gegevens van verschillende mensen kan ingeven op de huidige dag (dus de datum = automatisch datum van vandaag), én dat er een rapport kan afgedrukt worden van 1 persoon een bepaalde maand, met de indeling van de datums per week, beginnende op maandag:

week x: gegevens 01/06/09 | gegevens 02/06/09 | gegevens 03/06/09 | gegevens 04/06/09 | gegevens 05/06/09 | gegevens 06/06/09 | gegevens 07/06/09
week x+1: gegevens 08/06/09 | gegevens 09/06/09 | gegevens 10/06/09 | gegevens 11/06/09 | gegevens 12/06/09 | gegevens 13/06/09 | gegevens 14/06/09
enz...

Nu was ik eerst begonnen met een tabel die alles bijhield per datum en per persoon. Maar op advies van iemand die me zei dat ik nooit een rapport met de layout die ik wil zou kunnen maken met zo'n tabelstructuur, ben ik begonnen met een tabel die er nu als volgt uit zien:

ID persoon, jaar, week, ma_gegevens, ma_datum, di_gegevens, di_datum, wo_gegevens, wo_datum, do_gegevens, do_datum, vrij_gegevens, vrij_datum, za_gegevens, za_datum, zo_gegevens, zo_datum.

Ik betwijfel toch sterk of dit wel de goede aanpak is, en om een beetje te vermijden dat al mijn verdere werk toch voor niets zal blijken te zijn, had ik graag jullie mening eens gelezen. Is dit de goede structuur voor hetgeen ik wil, of was mijn manier van werken toch beter (via persoons ID, datum en gegevens per record), en vooral, klopt het dat ik met mijn werkwijze geen dergelijke layout van rapport kan bereiken? Graag wat advies!
 
Dag of week?

Ik zal mn best proberen te doen om een duidelijke uitleg te geven.

Je keuze is oa afhankelijk van hoe vaak je gegevens invult (input).
Als je elke dag gegevens invult, kun je optie 1 blijven gebruiken.
Vul je 1 keer per week gegevens in, dan zou ik optie 2 gebruiken.

En het is ook afhankelijk van wat voor gegevens je uit de database wilt (output).
Kortom wil je een weergave per dag, dan optie 1.
Wil je een weergave per week, dan optie 2.

Ik begrijp uit je verhaal dat je elke dag gegevens in de Db pompt, dus je kunt de 1e optie behouden. Maar je wilt output per week, dus komt overeen met optie 2. Is dus niet gelijk. Jammer... :)

Je kunt in principe met beide tabelstructuren een rapport maken met de layout die jij wilt. Je kunt bijvoorbeeld ook berekenen op wat voor dag en in welke week 02-01-2327 valt.

Optie 2 is wel simpeler m.b.t het weeknr, dit staat dan in de tabel. Dit kun je ook automatisch laten invullen en de tabelstructuur is makkelijker voor het aanmaken van een rapport.
Voor optie 1 geldt dat je het weeknummer wel kunt bepalen met een formule, is zoiets als:
Code:
Format([datum];"ww";0;3)
, maar het aanmaken van een rapport is iets ingewikkelder dan bij optie 2.

Je hebt in principe nog steeds de keuze uit deze 2 opties. :confused:
 
Vergeet optie 2 en vul gewoon alles in per dag in het veld Datum. Je invulformulier wordt een stuk overzichtelijker, en databasetechnisch ben je veel lekkerder bezig.
Je kunt namelijk als je een rapport gaat maken aangeven hoe je het rapport wilt groeperen, en dat kan op dag, maand of week, net wat je wilt. De flexibiliteit die je wilt krijg je nooit als je optie 2 gebruikt. Vergeet die optie dus en vraag die persoon voorlopig maar geen advies meer ;) (althans niet over Access...)

Uiteraard helpen we je graag als je er mee vastloopt...

Michel
 
Bedankt voor de reacties :thumb:
Ik ga jullie advies volgen, maar ik vrees dat ik wel hier de nodige hulp zal moeten inroepen wanneer het er op aankomt om de indeling per week te maken in mijn rapport en formulier.
 
Zet, als je verder hulp nodig hebt, maar een voorbeeldje neer, dan kunnen we met je mee denken!

Michel
 
Het is zo ver, de rest van m'n database is klaar, dus ik ben dit weekend begonnen aan mijn overzicht per week. Helaas; wat ik ook probeer, ik krijg maar niet hetgeen ik wil. Wat ik dus zou willen, is een overzicht van alle dagen per week. Dus bij voorkeur eigenlijk ook voor de dagen waarop geen data gegevens is, maar hier zouden de gegevens dus leeg moeten zijn onder die datum. Maar het belangrijkste voor mij is dat ik het overzicht op weekbasis zou kunnen krijgen. In bijlage een db met een voorbeeld hoe mijn tabel er uitzien waarop dit zou moeten werken. Kan iemand me helpen, of op een goede weg zetten? Alvast bedankt!!! :thumb:
 

Bijlagen

  • db1.zip
    11,3 KB · Weergaven: 30
Als je een overzicht per week gaat maken, betekent dat dus dat je gegevens gaat groeperen op een bepaald element, en dat je bepaalde waarden wilt zien over dat element.
Ik begrijp uit het verhaal dat je wilt groeperen op weken, en dat je per week een overzicht wilt zien per dag. Dat zou moeten met een Kruistabel query, waarbij je op één veld een berekening kunt laten uitvoeren, zoals SOM of AANTAL, één veld als kolomkop, in dit geval het veld [DATUM] opgemaakt als naam van de dag, en minstens een veld als rijkop, bijvoorbeeld [JAAR], [MAAND] en [WEEK]

Ik heb een voorbeeld query gemaakt, en die zit hierbij. Kijk maar eens of dit in de buurt komt....


Michel
 

Bijlagen

  • db1 v2.rar
    11 KB · Weergaven: 32
Fantastisch Michel, hiermee kan ik zeker al wat!
Misschien nog 2 vraagjes als ik mag, is er een mogelijkheid om de week te laten beginnen bij maandag (ik vermoed dat dit iets te maken heeft met het engels - nederlands datumformaat, of vergis ik me hier?)
Deze query geeft me de uren welke ik nodig heb. Maar zou het bvb ook mogelijk zijn om eenzelfde tabel te krijgen, maar met in plaats van het verschil van de uren, bvb gewoon de namen (om bvb te zien welke mensen op welke dagen aanwezig waren. Ik heb zelf wat zitten proberen, door die als waarde aan te duiden, maar blijkbaar volstaat dit niet. Of is dit enkel mogelijk bij berekeningen?
 
Vraag 2 is wat lastiger, dus daar moet ik vanavond naar kijken, anders wordt de baas verdrietig :(

Vraag 1 kun je zelf oplossen:
Als je in het query-ontwerpscherm staat, zie je een expr1 veld als kolomkop gedefinieerd. Als je de cursur in het veld zet, en op de knop Eigenschappen klikt, zie je een scherm met de kolominstellingen. In de regel Kolomtekst zie je de omschrijvingen staan van de verschillende kolommen. Deze tekst moet je als volgt aanpassen:

"ma";"di";"wo";"do";"vr";"za";"zo"

Voor de duidelijkheid hierbij ook nog een plaatje.

Michel
 

Bijlagen

  • Query.jpg
    Query.jpg
    50,6 KB · Weergaven: 68
Hey Michel,

Alle begrip voor je tijd en je baas hoor Michel ;) ik ben al erg blij met je hulp, anders was ik er op m'n eentje nooit uitgeraakt. Dus neem gerust je tijd! Intussen ga ik wat experimenteren met je uitleg omtrent m'n 1e vraag. Hartelijk dank!
 
Ik heb voor de personen een aparte kruistabel gemaakt, die het aantal uren per week per persoon laat zien. Je hebt in een kruistabel altijd een berekening nodig, dus ik heb dezelfde berekening gebruikt als in de andere query. Je zou ook een telling kunnen maken van de aanwezigheid per week; dat zie je in Aanwezigheid2.

Kortom: met kruistabellen kun je verschillende soorten verbanden leggen tussen de gegevens, afhankelijk van de gekozen functie. Je kunt deze queries in rapporten gebruiken en verder verfraaien met extra berekeneningen, maar dat is een volgende stap! Laat eerst maar weten of dit in de buurt komt...

Michel
 

Bijlagen

  • db1 v3.rar
    11,9 KB · Weergaven: 31
De mogelijkheden beginnen me duidelijk te worden :D
Maar als ik het goed begrijp is het dus niet mogelijk om bvb de namen als waarde te krijgen ipv als rij of kolomkop?
 
Dat is inderdaad erg lastig, zoniet onmogelijk. Wat je zou kunnen doen, is een getalveld opnemen dat verwijst naar een persoonsnummer, en dat vermenigvuldigen met 1, en dat als expressie in het waardeveld gebruiken.

Daarvoor is het uiteraard wel nodig om een tabel met personeelsgegevens te hebben. Daarna moet je weer een vertaalslag zien te maken waarbij je de nummers vervangt door de namen, maar dat zou eventueel op een rapport kunnen. Ik denk echter dat je e.e.a. beter kunt oplossen door de personen als rijkop in een kruistabel te plaatsen.

Misschien is het handig, als je in Word een voorbeeldje maakt zoals je denkt dat je het op papier zou willen hebben, dan kan ik wat beter beoordelen of het ook mogelijk is.

Michel
 
Hey Michel,

In bijlage een word documentje met daarbij een voorstelling van wat ik uiteindelijk zeker op een rapport zou moeten kunnen krijgen. De reden waarom dit er precies zo zou moeten uitzien, is omdat dit een document voor de overheid is, en dit dus in die precieze layout moet afgeleverd worden. Ik had eerst ook al zitten denken om alle gegevens op te vragen aan de hand van de ID's, vandaar mijn vorige vraag trouwens, omdat ik dacht dat dit op z'n eigen erg moeilijk te behalen is met access. Maar misschien kan jij met je kennis een ander licht werpen op dit probleem.

In ieder geval bedankt voor alle tijd die je hier wil insteken om me te helpen! :thumb:
 

Bijlagen

  • Voorbeeld maandfiche.doc
    25,5 KB · Weergaven: 33
Hey Michel,

Zou je al de tijd gevonden hebben om mijn word documentje eens te bekijken?

Bjorn
 
Niemand die me kan vertellen hoe ik aan die tabelweergave zou kunnen geraken?
 
Beetje druk geweest..... Ik zal er vandaag naar kijken!

Michel
 
Ik ben er nog steeds mee bezig.... Ik heb de komende tijd wat meer tijd beschikbaar, dus het gaat wel lukken ;)

Michel
 
Hey Michel,

Sorry voor het blijven aandringen, maar zou je intussen al een idee hebben of dit realiseerbaar is? Of eventueel iemand anders die hier heel veel van kent?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan