[VBA] Access. Eerste record vinden geeft problemen

Pagina: 1
Acties:

  • ND863
  • Registratie: September 2001
  • Laatst online: 09-07-2022

ND863

Forget aircraft - Fly Airbus

Topicstarter
Ik ben bezig met een contacten project, en dit is voor mij pas de 2e keer dat ik Access serieus gebruik om een GUI te creëren dat meerdere mensen gaan gebruiken. Ik heb de volgende code, die aan de hand van PRS_ID gegevens op een label moet laten zien.

code:
1
If IsNull(DLookup("[Voorletters]", "PRS", "[ID]=" & Current_PRSID)) = False Then strForeletters = DLookup("[Voorletters]", "PRS", "[ID]=" & Current_PRSID) & " "


Hij doet het prima, op 1 ding na; Dlookup geeft altijd Null terug als de gevonden record de allereerste record is. Bij mijn vorige project had ik dat omzeild door een lege eerste record te gebruiken, maar daar werden de records puur voor berekeningen gebruikt. Dit lijkt me niet echt een nette oplossing. Kan iemand me uit de brand helpen? :)

To be, or not to be a FRUITVLIEG!??


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:58

Creepy

Tactical Espionage Splatterer

Access? Dat hoort in Officesuites en -software :)

Overigens, je haalt nu twee keer hetzelfde record op. De eerste keer om te kijken of het null is en vervolgens op de gegevens op te halen, dat kan vast slimmer ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Afaik is er geen enkele reden waarom dlookup geen gegevens op zou halen op het eerste record, tenzij je met Access95 werkt. Eerder klopt je query niet.
Zet eens een onderbrekingspunt op die regel en check de waarde van current_prsid en controleer of het record als is opegslagen.

Verder met creepy, en sowieso zijn er met vba maar weinig situaties waarbij dlookup een optimale oplossing is, en het zou me niet verbazen als je er beter aandoet een afhankelijk besturingselement te gebruiken ipv een label.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • ND863
  • Registratie: September 2001
  • Laatst online: 09-07-2022

ND863

Forget aircraft - Fly Airbus

Topicstarter
Bedankt voor de tips! Ik was er gister achtergekomen dat current_PRSID juist bij die éne op 0 blijft staan. Dat ga ik eerst even doorzoeken. (lijkt me stug dat ik het 2 projecten een verkeerde query heb, maar een fout is zo gemaakt natuurlijk)

En ik moet inderdaad een goede manier vinden om "incorrect use of Null" to verwerken. Ipv labels toch maar bound textboxen gebruiken en dan de record source veranderen.

To be, or not to be a FRUITVLIEG!??


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Daar heeft Access nz() voor. :)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland