Toon posts:

Access: twee criteria in de dlookup functie

Pagina: 1
Acties:
  • 969 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb als besturingselement van een veld de dlookupfunctie gebruikt, namelijk de volgende:

=DLookUp("[Aantal_geregistreerde_uren]";"test";"[007_Naam]='" & [Form]![Naam] & "'")

Deze functie bevat nu 1 voorwaarde, ik wil er graag 2 voorwaardes/criteria inzetten. Als ik dit doe krijg met de volgende code:

=DLookUp("[Aantal_geregistreerde_uren]";"test";"[007_Naam]='" & [Form]![Naam] & "'" And "[007_Datum]='" & [Form]![Datum] & "'")

Komt er de melding "#Fout" in het tekstveld te staan. Weet iemand hoe ik dit probleem kan oplossen?

Alvast bedankt

  • Boss
  • Registratie: September 1999
  • Laatst online: 00:09

Boss

+1 Overgewaardeerd

En als je de datum eerst los doet? Misschien zit er een fout in je datum-filter expressie. (moeten daar geen # omheen ipv ' ?

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 13-08 21:01
Volgens mij gaat er iets met de quotes niet goed rondom en in de voorwaarde.

Zie ook http://www.mvps.org/access/general/gen0018.htm (eerste zoekresultaat Google met zoekargument Dlookup).

Vlinders moet je volgen, niet vangen...


Verwijderd

Topicstarter
Die aanhalingstekens om de voorwaarde van de datum waren niet goed, dat moeten inderdaad hekjes zijn. Ik heb op die site gekeken (bedankt hiervoor). Daar hebben ze het ook over combineren van voorwaarden, alleen combineren ze daar voorwaarden die of alleen string zijn of alleen datum. Ik moet een gecombineerde voorwaarde hebben van een string en een datum, maar dat kan ik nergens vinden.
Weet iemand of dit uberhaupt mogelijk is en hoe ik dit kan realiseren

  • Boss
  • Registratie: September 1999
  • Laatst online: 00:09

Boss

+1 Overgewaardeerd

Moet gewoon kunnen hoor.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 13-08 21:01
Om een datum hoef je geen quotes te zetten (wel #); om stringvelden (enkele) quotes.

Vlinders moet je volgen, niet vangen...


Verwijderd

Topicstarter
Ik probeer echt van alles, maar het lukt me niet. De volgende odes werken niet:

=DLookUp("[Aantal_geregistreerde_uren]";"test";"[007_Naam]='" & [Form]![Naam] & "'" And "[007_Datum]=# & [Form]![007_Datum] & # ")

en

=DLookUp("[Aantal_geregistreerde_uren]";"test";"[007_Naam]='" & [Form]![Naam] & "'" And "[007_Datum]='" # & [Form]![007_Datum] & # "'")

Heb verschillende sites bekeken, maar kan niet vinden wat ik fout doe???

  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 13-08 21:01
1. Ga quotes matchen (1e quote is begin-tekst, 1e quote is einde tekst) en kijk of alles klopt.
2. Probeer jouw voorwaarden eerst stukje voor beetje in een stringveld te zetten:
strVW = "[007_Naam]='" & [Form]![Naam] & "'"
debug.print strVW
strVW = strVW & " AND ...."
debug.print strVW
etc
totdat je alle voorwaarden hebt gehad.
Als je debugged zie je per regel in Venster Direct wat er in de voorwaardenstring staat en dus waar het fout gaat.... Suc6!

Vlinders moet je volgen, niet vangen...


  • Boss
  • Registratie: September 1999
  • Laatst online: 00:09

Boss

+1 Overgewaardeerd

Probeer:

code:
1
2
=DLookUp("[Aantal_geregistreerde_uren]";"test";"[007_Naam]='" & [Form]![Naam] &
 "' And [007_Datum]=#" & [Form]![007_Datum] & "#")


Grote kans dat het dan werkt.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Verwijderd

Topicstarter
Bedankt voor de reactie Boss. Maar helaas werkt het nog steeds niet. Ik snap er niks van :?
Mocht iemand anders nog ideeen hebben dan hoor ik het graag

  • Boss
  • Registratie: September 1999
  • Laatst online: 00:09

Boss

+1 Overgewaardeerd

Geeft 'ie nog steeds de melding #Fout of krijg je nu gewoon helemaal geen resultaat?

Anders (zoals hierboven aanbevolen) in de debugger invoeren, waarbij je de ; moet vervangen door ,

Dan is er wel te vinden waar het fout gaat.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Verwijderd

Topicstarter
Ik krijg nog steeds de melding #fout. Maar ik zal het in de debugger proberen. Al weet ik niet wat daarmee bedoeld wordt, maar ik zoek het wel even uit. Bedankt

Verwijderd

Topicstarter
Boss ik heb nu de code getypt in VBA, de code ziet er als volgt uit:

[geregistreerd] = DLookup("[Aantal_geregistreerde_uren]", "[test]", "[007_Naam]='" & [Form]![Naam] & "'" & "[007_Datum]=#" & [Form]![007_Datum] & "#")

Hierbij krijg ik de volgende foutmelding:

Afbeeldingslocatie: http://www.jodebo51.freeler.nl/img/temp.JPG

Ik zie niet welke operator er ontbreekt, weet jij of iemand anders dit wel?

Alvast bedankt.

  • Boss
  • Registratie: September 1999
  • Laatst online: 00:09

Boss

+1 Overgewaardeerd

Ik denk dat er ergens AND tussen moet...

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Verwijderd

Topicstarter
Als ik de volgende code invoer:

[geregistreerd] = DLookup("[Aantal_geregistreerde_uren]", "[test]", "[007_Naam]='" & [Form]![Naam] & "'" And "[007_Datum]=#" & [Form]![007_Datum] & "#")

Komt hij met de melding dat de typen niet overeenkomen.

In ieder geval bedankt voor de hulp tot zover, ik ga zelf nog maar een beetje pielen.

  • Pyrowired
  • Registratie: Februari 2004
  • Laatst online: 05-01-2025
Je dlookup klopt nog niet helemaal, het AND gedeelte hoeft niet tussen aanhalingstekens te staan.

Dus:
code:
1
2
[geregistreerd] = DLookup("[Aantal_geregistreerde_uren]"; "[test]"; "[007_Naam]='
" & [Form]![Naam] & "' And [007_Datum]=#" & [Form]![007_Datum] & "#")


er vanuitgaande dat je dit in bij een van de eigenschappen van een query of formulierveld invult.
Mocht je het willen gebruiken in VB dan moet je even de ; vervangen door ,

edit:
Layout code wat netter gemaakt

[ Voor 26% gewijzigd door Pyrowired op 17-08-2005 00:29 ]

Zolang de zon schijnt, blijf ik binnen.


Verwijderd

Topicstarter
Het is me inmiddels gelukt. Bedankt voor alle reacties
Pagina: 1