Waarde opzoeken via DLookUp

jacw

Gebruiker
Lid geworden
23 sep 2006
Berichten
77
Goedemiddag,

Ik heb een tabel “periode” met de volgende veldnamen [begin datum] [eind datum] [periode]

Nu heb ik ook een formulier “werken” gemaakt met de velden: [datum] [route] [aantal uur] en [periode]

Het formulier werkt goed (diverse relaties gemaakt 1 op veel), alleen ik moet via een keuzelijst de juiste periode kiezen, graag wil ik dat automatiseren door in het formulier een standaarwaarde te creëren. Ik kom dan uit bij DLookUP, wat ik ook probeer krijg het niet voor elkaar.
Code:
=DLookUp("[datum]";"tblPeriode";"now() >= [Begin datum] And Date() <= [Eind datum]")

Wie kan mij op weg helpen met de juiste code.

Met vriendelijke groet,

JacW
 
Zoals je strings moet omsluiten met aanhalingstekens, moet je datums omsluiten met hekjes.
De opbouw van je conditie is bovendien niet juist. Zoals je hem nu opgebouwd hebt, wordt gekeken naar de strings '[Begin datum]' en '[Eind datum]'. Variabelen zoals die datums moet je buiten de conditie-string halen op op de waarde te kunnen selecteren.
En: je wil een periode ophalen geen datum.
Tot slot is het vreemd dat je de ene keer met now() vergelijkt en de andere keer met date(). De tijd is denk ik niet relevant.

Probeer eens:

Code:
=DLookUp("[periode]";"tblPeriode";"Date() >= #" & [Begin datum] & "# And Date() <= #" & [Eind datum] & "#")

Succes niet gegarandeerd, want niet getest. Het zou ook zomaar kunnen zijn dat je de begin- en einddatum even in US-formaat moet zetten.
Veldnamen met spaties zijn trouwens niet handig en begin- en einddatum zijn in het Nederlands sowieso 1 woord.

Verder heb ik niets op te merken 🤣
 
Heel erg bedankt voor je reactie, qua Nederlands heb je helemaal gelijk (Soms een drama).
Ik ben een amateur met het bouwen en hou me ben soms chaotische in het bouwen van een applicatie.
Ik heb het bestand bijgevoegd en laten openen op het formulier waar ik graag de periode als standaard waarde wil hebben ingevoegd, met als bron de [datum] in het formulier.

Alvast heel erg bedankt,
JacW
 

Bijlagen

Ik heb het maar even tot het om de vraag te kunnen beantwoorden minimaal benodigde terug gebracht. Ik liep voortdurend vast in "verrassende" opties.

Het lukt denk ik niet om het met een standaardwaarde op te lossen. Je kan pas gaan zoeken nadat de datum is ingevuld. Ik neem tenminste aan dat de ingevulde datum bepalend is voor de periode en niet de huidige datum (date()). Verder moet je er rekening mee houden dat er geen periode gevonden wordt.
Daarom heb ik een gebeurtenis "na bijwerken" op de datum-control gemaakt. Zodra je een datum kiest (en het veld verlaat) wordt er een stukje code uitgevoerd dat kijkt of er een periode is die aan de criteria voldoet. Merk op dat de IdPeriode opgehaald en vastgelegd wordt. Dat is immers de waarde waar je naar moet verwijzen en waarop (terecht) de relatie ligt.

Overigens zet ik vraagtekens bij het nut van het vastleggen van de periode in de tabel Werken. Het is immers een (van de datum) afgeleid gegeven en afgeleide gegevens leg je normaliter niet vast.
Mijn vraagtekens komen misschien ook voort uit het feit dat ik de bedoeling van de tabellen (nog) niet begrijp.
 

Bijlagen

Helemaal geweldig. Het werkt perfect.
Wij werken per 4 week dus 13 periodes in een jaar waar door ik niet kan selecteren per maand hoe en welke route ik heb gereden in die tijd, vandaar dat ik in de tabel het periode nr als extra heb ingevuld waardoor ik in mijn rapport kan selecteren op een periode.

Maar nogmaals bedankt voor de supersnelle reactie.

Met groet,
JacW
 
Terug
Bovenaan Onderaan