Hoe maak ik een weekfilter en hoe pas ik dit op mijn tabel toe.

Status
Niet open voor verdere reacties.

dansivo

Gebruiker
Lid geworden
15 dec 2008
Berichten
35
Mijn probleem is het volgende, op basis van date en met =DatePart("ww";[datum]) heb ik in een formulier het weeknummer aangegeven.
op dit formulier worden ook alle records uit 1 tabel weergegeven over verschillende keuzevakken.
Nu zou ik graag de indeling over de verschillende keuzevakken van dit formulier( welke per week veranderd ) aan het betreffende week nummer willen koppelen en
door bv een weekfilter de mogelijkheid hebben om de indeling zoals die in een bepaalde week was van alle keuzevakken willen opvragen.

Wie kan mij helpen, om dit op zo een simpel mogelijke manier te realiseren????

Ik werk zowel met access 2007 als 2010 maar mijn kennis hierin is beperkt.
 
Je vraag is niet helemaal duidelijk; als ik het goed lees, wil je per week aan de keuzelijsten verschillende velden koppelen. Maar dat is toch eigenlijk meer een gok...
Wat geen gok is, is de functie waarmee je het weeknummer berekent; die is namelijk behoorlijk onbetrouwbaar. Beter is de volgende:
Code:
=Format([datum];"ww";2;2)
Nog beter: een aparte functie die altijd het juiste weeknummer berekent.

Code:
Public Function IsoWeekNummer(d1 As Date) As Integer

   'Attributed to Daniel Maher
   Dim d2 As Long
   d2 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
   IsoWeekNummer = Int((d1 - d2 + Weekday(d2) + 5) / 7)

End Function
Dat werkt dan zo:
Code:
=IsoWeekNummer([datum])
 
Misschien een domme vraag, maar wil het graag zeker weten, deze functie die je beschrijft moet ik die als nieuwe module toevoegen?? of waar moet ik deze anders aan toevoegen ??
 
Als je al een module hebt, kun je de procedure er aan toevoegen. Zo niet: inderdaad een nieuwe module invoegen.
 
Hier een voorbeeldbestandje, waar gezien kan worden waar ik mee bezig ben, zodat het een en ander wat duidelijker wordt misschien, ook bovenstaande functie ingevoegd, zoals te zien is op het formulier is daar het weeknummer weergegeven, nu zou ik de indeling zoals die wordt weergegeven per week willen opvragen, zodat ik bv kan zien waar een monteur 3 weken terug werkzaam was. en dit dan door het aangeven van het weeknummer op te vragen is, maar heb geen idee hoe ik dit voor elkaar moet krijgen, hopelijk kan iemand me op weg helpen.






Bekijk bijlage Voorbeeld van Planbord.rar
 
Ik zou u formulier na de planning aangepast te hebben opslaan in een tabel. Op deze tabel kan je dan een qwery zetten met op het weeknummer criteria [enter Weeknummer]. Als je je qwery laat draaien vraagt access de week nummer in te vullen en krijg je alleen de data van die week te zien.
 
Hoi IVO13,

Dat zou inderdaad de oplossing zijn voor mijn probleem, maar heb een beetje hulp nodig om dit te realiseren, mijn kennis van access is nog niet zo groot, zou je een voorbeeld willen / kunnen plaatsen zodat ik meer inzicht krijg om dit te realiseren, want ook qua qwery zijn er verschillende opties, toevoeg qwery of bijwerk qwery enz.. En hoe krijg ik dat opgeslagen in een nieuwe tabel, hij past het nu al automatisch aan in de bestaande tabel, maar om dat op te slaan in een nieuwe tabel via bv een knop weet ik even niet hoe dat werkt, dus als je me hiermee ook zou willen helpen graag !!!!
 
Bedankt IVO13

Dit is al een heel groot stuk in de goede richting, ben hier even mee aan de slag geweest en doet bijna wat ik bedoelde, alleen is de kopie tabel maar eenmalig aan te maken, wat op zich prima is maar de tabel vullen, door de toevoegqwery naast de huidige week 18, met bv week 19 ( had de datum van mijn pc een week vooruit gezet ) wil niet lukken hij vult de tabel maar 1x en geeft daarna foutmeldingen, weet je misschien een manier om dezelfde tabel te vullen met elke nieuwe komende week, ook net zo op basis van de datum die je nu ook hebt gebruikt zodat deze dan ook weer later per week op te vragen is ?? Dan zou het voor mij in orde zijn en is mijn probleem opgelost.

PS, heel erg bedankt voor je inzet !!!
 
DansIvo,

Je moet in de tabel waarin op geslagen wordt een nieuwe key steken ( gewone autonummering)
Nu zal hij daarop vast lopen omdat je maar 1 x maal een key kan gebruiken.
Dit veld moet je wel verbergen ander werkt het nog niet.
 
Ben driftig bezig geweest om een nieuwe primaire key toe te voegen aan de kopie tabel ( veld toegevoegd archief ID en deze als primaire key gezet veld met rechtermuis toets na openen kolom verbergen ) maar krijg vervolgens een en al foutmeldingen bij het gebruik van de toevoegqwery dus of ik zie iets over het hoofd of dit werkt niet ??? zou je hier nog eens naar willen kijken?? Of misschien uitleggen wat ik niet goed doe ??
 
Laatst bewerkt:
Nu zou ik graag ... door bv een weekfilter de mogelijkheid hebben om de indeling zoals die in een bepaalde week was van alle keuzevakken willen opvragen.
Volgens mij zijn jullie behoorlijk ver van de oplossing afgedwaald; je kunt je vraag simpel oplossen door een keuzelijst op het formulier te maken waarin je de gewenste week filtert. Het enige dat je daarvoor moet doen, is een veld toevoegen aan de rijbron van het formulier die het weeknummer berekent (doe dat met de functie die ik je heb aangereikt, en niet met DatePart zoals je nu doet...) en gebruik dit veld als rijbron voor je keuzelijst. Die krijgt dan de volgende gebeurtenis:

Code:
Private Sub cboWeeknummer_AfterUpdate()
    On Error GoTo Foutje:
    Me.Filter = "[Weeknummer]=" & Me.cboWeeknummer
    Me.FilterOn = True
    Me.Refresh
    Exit Sub

Foutje:
    Me.FilterOn = False
    Me.Refresh
End Sub

Waarom er met extra tabellen wordt gewerkt? Geen idee...
 
Laatst bewerkt:
Ik denk dat ik het principe een klein beetje doorgrond qua filter, maar om te kunnen filteren zullen alle records met aanvulling van weeknummer wel in de tabel moeten worden opgenomen elke week opnieuw, wil ik het later per week terug kunnen filteren hoe de situatie was in een bepaalde week. En met dit stukje waren we bezig om dit voor elkaar te krijgen dat die tabel gevuld zou worden met toevoeging van een weeknummer zodat we het daarna kunnen uit filteren met de manier zoals u dit aanraadt.

Misschien dat u hier ons van dienst kan zijn om ons in de goede richting te wijzen???
 
... maar om te kunnen filteren zullen alle records met aanvulling van weeknummer wel in de tabel moeten worden opgenomen elke week opnieuw
Niet in mijn optiek. Berekeningen als een weeknummer doe je net zo makkelijk in een query die je als basis gebruikt voor het formulier, daarvoor hoef je geen aparte tabel te maken. Gewoon dezelfde bron gebruiken voor het formulier, maar er een query van maken en het Weeknummer er aan toevoegen. Dan kun je daar actief op filteren.
 
OctaFish,

Ben hier al een aantal dagen mee aan het stoeien, maar krijg het niet voor elkaar, met de weekfilter zoals jij die voorstelt, krijg het er niet goed verwerkt, wat ik ook probeer krijg dit filter niet aan de praat op deze manier, zou je een voorbeeldje kunnen posten zodat ik de verschillen naast elkaar kan zien om er zo achter te komen wat ik niet goed doe ??? Voor mij is dit het laatste stukje van de puzzel!!
 
Als je een 2003 voorbeeldje met data kan maken, wil ik er wel een filtertje in kwakken :)
 
OctaFish

Is het mogelijk om dit in het "Voorbeeld van Planbord nieuw.rar" van IVO13 te kwakken omdat dit reeds is geupload??? Of deze aan te passen zodat ik de verschillen kan zien tussen
die van mij en jou oplossing en mijn fouten eruit kan halen en zo daar weer van te leren ??
 
Op basis van je oorspronkelijke vraag heb ik een datumveld aan je tabel toegevoegd (je kunt pas op weeknummers selecteren als je een datum hebt) en een keuzelijst aan het formulier toegevoegd. Deze keuzelijst leest de bestaande weeknummers uit, zodat je alleen kunt kiezen uit ingevoerde weeknummers. De keuzelijsten passen zich vervolgens aan de geselecteerde week aan. Het formulier opent zonder weeknummer, dus in eerste instantie zie je alle records.
Ik kan mij overigens voorstellen dat je op een heel andere manier wilt filteren; nu zijn alle personen gefilterd op dezelfde week, en mij lijkt het juist wel jofel als je in de eerste lijst die personen hebt staan die nu niet niet op een project staan die week... Maar ik heb mij alleen even bezig gehouden met je initiële vraag, vandaar :)
 

Bijlagen

Laatst bewerkt:
Michel

heel erg bedankt, heb er nu even snel naar gekeken en zie dat ik nog al wat foutjes heb gemaakt in vergelijking met jou oplossing, ga me daar nog even verder in verdiepen, maar dit lijkt wel een perfecte oplossing op deze manier, maar bij de 2 rar bestanden die je hebt neergezet in je post is er 1 war ik een melding krijg van een onbekende database indeling en krijg hem ook niet geopend, het betreft "Voorbeeld planbord Nieuw.rar" weet niet of daar nog andere dingen instaan, maar ik krijg hem niet geopend.

Laat je nog wel weten hoe het gaat met de aanpassingen, vind het echt top van jou qua ondersteuning, ben ondertussen ook een inhaalslag aan het maken met jou cursus waar ik ook al een heleboel dingen van heb bijgeleerd.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan