van weekdag naar datum

Status
Niet open voor verdere reacties.

arnoderuig

Gebruiker
Lid geworden
8 sep 2000
Berichten
577
Ik heb in een contractendatabase een tabel waarin per contract de startdatum en de einddatum van het betreffende contract zijn opgenomen. Daarnaast bevindt zich in dat record voor elke weekdag een aanvinkveld. Hieruit is dus per contract te lezen voor welke weekdagen (maandag, dinsdag e.d.) het contract geldt. Er kunnen meerdere weekdagen zijn aangevinkt. In een query wil ik van alle contracten (binnen een bepaalde datumreeks) alle contractdata verzamelen (bijvoorbeeld om per datum te berekenen hoeveel contracten er lopen).

Stel dat in een contractregel (met contractnummer 10034) staat dat het contract geldt van 1 januari 2004 tot en met 31 december 2004 en dat het contract geldt op dinsdag en donderdag. Als ik selecteer de contracten die lopen van 26 april 2004 tot en met 30 april 2004 moet voor bovenstaand contract de volgende regels in de query voorkomen:
contractnr datum
10034 27 april 2004
10034 29 april 2004

Groet,
Arno.
 
Dit is wel te doen, maar ik zou het in vba maken.
Je zou eerst een tabel kunnen vullen met de datums tussen de opgegeven grenzen met daarbij de dag ma, di, woe etc.
En dan daarna alle contracten selecteren die tussen de grenzen vallen en die dan per datum laten kijken of de dag is aangevinkt.Dit resultaat kun je dan weer in een resultaat tabel schrijven
 
en verder

Is het veel gevraagd om een voorbeeld te geven hoe dat er in VBA uit moet gaan zien. Je mag ervan uitgaan dat ik de datumtabel dan al heb.
 
mooi

Ontzettend bedankt voor je voorbeeld. Ik denk dat ik hiermee een heel eind kom. IK zal de database verder onderzoeken op zijn toepassingsmogelijkheden. Mochten er oplossingen denkbaar zijn die alleen leiden tot een query dan blijf ik natuurlijk geinteresseerd.
 
ingewikkeld

Ik blijf het toch wat ingewikkeld vinden. Ik heb intussen, ik ben nog maar net begonnen met deze database, over wat varianten zitten nadenken. Ik denk dat onderstaande variant mogelijk wel aardig is.

Ik maak een datumtabel waarin alle mogelijke data (in eerste instantie van bijvoorbeeld 2004) zijn opgenomen. In een tweede veld wordt dan de dag (maandag, dinsdag e.d.) opgenomen. In een derde veld wordt het aantal contracten dan bijgehouden.

Bij invoer van een nieuw contract moet dan een macro starten. Die macro loopt dan alle dagen binnen het nieuwe contract af en verhoogt het aantal met 1 (per datum, waarop de dag is aangevinkt binnen het contract). Voordat de macro zijn werk doet moet hij natuurlijk eerst controleren of de datumtabel wel alle data binnen het contract bevat; zoniet dan moet er eerst een macro worden gestart die aanvullende datums in de datumtabel opneemt.

Vanuit de datumtabel kan dan een kruistabel worden gemaakt die het aantal contracten per werkdag telt binnen een bepaalde periode. Op die wijze kan ik vooraf laten controleren of ik een nieuw contract wel kan aangaan.

Is dit realiseerbaar en wie kan mij dan helpen met de VBA-code.

Ik sta uiteraard open voor andere oplossingen.

Groet,
Arno.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan