Dlookup probleempje

Status
Niet open voor verdere reacties.

JeroenMioch

Gebruiker
Lid geworden
1 dec 2007
Berichten
215
Hallo :)

Het zou zo simpel moeten zijn, maar zelfs na misschien wel 20 websites te hebben gelezen over de syntaxis van Dlookup lukt mij het volgende niet :

Ik heb een veld (FLDjaarTotalen) op een formulier die een waarde uit een query (QRYaarTotalen) moet weergeven.
Het criteria voor de query word gevoed door een combobox (FLDjaarSelectie) met jaargetallen.

Eerst heb ik geprobeerd de code in de Form_current event te zetten, maar ergens gelezen dat het in het After_update event van het veld FLDjaarSelectie thuishoord, Immers als je een waarde veranderd (bijvoorbeeld van 2010 naar 2009) dan moet de nieuwe waarde in het veld zichtbaar worden. Vermoedelijk kan het op beide manieren, maar laatstgenoemde leek me beter.

De code ziet er als volgt uit :

Code:
Private Sub FLDjaarSelectie_AfterUpdate()
FLDjaarTotalen = DLookup("[jaarSchadeBedrag]", "QRYjaarTotalen")
End Sub

het criteria staat al in de query, en als ik de query run geeft ie het gewenste resultaat, Probleem is dus dat het veld FLDjaarSelectie geen waarde weer geeft op mn formulier.

Iemand enig idee waar ik de plank weer volkomen mis sla ?
 
Laatst bewerkt:
Om te beginnen: de code hoort wel degelijk in het After_Update event, en niet op het OnCurrent van het formulier, omdat de laatste code alleen wordt uitgevoerd als je een ander record activeert. En dat doe je niet via de keuzelijst.
Dan de tweede denkfout: je denkt het criterium in de query gezet te hebben, en dat dat genoeg moet zijn voor de DLookup. Niet dus. DLookup heeft een criterium nodig. Punt. En dat geef je niet. Voeg dat toe aan je DLookup en hij zou moeten werken.
 
Ja eigenlijk wel logisch om het bij after_update te zetten.

Het lukt me echter nog steeds niet om de juiste syntax te vinden voor het criterium ondanks mijn vele pogingen.
De query is gemaakt met de wizard met de totalen per jaar. Hoewel de uitkomst een vier cijferig nummer is, ziet access het denk ik als een datumnotatie. echter de tabel met jaargetallen waar de combobox uit put staat op numeriek. Misschien dat daar de schoen wringt. Ook de uitkomst is een numerieke waarde.

Enerzijds is het leuk om zo te puzzelen, anderzijds frustrerend hahaha
 
Access zal een viercijferig nummer niet als datum behandelen. De vraag is denk ik eerder: wat haal je op uit je combobox? Als je een tabel gebruikt, vermoed ik dat je een Autonummerveld inleest uit de keuzelijst, en niet het jaartal. (Waarom overigens een tabel voor jaartallen??)
 
Hoi Michel,

Een van mn kolommen in de query heet
DatumPerJaar: Format$(TBLcalamiteiten.Datum;'yyyy')
Vandaar ...

Waarom ik een tabel gebruik ? Tja ik weet niet beter dan het zo te doen bij een keuzelijst met invoervak. Is er een betere methode ?

Je kan wel eens gelijk hebben wat dat ID betreft, ik heb het ID veld verwijderd en ga nu even verder knoeien (lol)

Bedankt voor het meedenken trouwens, word zoals altijd ontzettend op prijs gesteld :)

Groet : Jeroen
 
Wat een ingewikkelde manier om een jaartal te produceren....
DatumPerJaar: Year(Datum)
Bovendien maak je er met YEAR ook nog eens een getal van, en geen tekst.
 
Hahahaha, tja de wizard zet het zo neer. Maar het is al gelukt mede dankzij je kritische noten :)

Dank u !
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan