Avatar billede zack Nybegynder
18. februar 2003 - 11:38 Der er 31 kommentarer og
1 løsning

Fejlfinding i DLookup sætning

Hvad er fejlen i denne sætning:

=IIf(IsNull(DLookUp("[1]";"[for_prosamlet]";"[dessin] = " & [tekst2] & " AND [Farve]= " & [tekst4]));Null;"0")

Jeg skal have den til at returnere værdien 0, hvis den ikke finder noget ved DLookUp.
Avatar billede henrik13 Nybegynder
18. februar 2003 - 12:16 #1
Der ligger en makro til det.
Avatar billede sjap Praktikant
18. februar 2003 - 12:16 #2
Der skal ' omkring strenge i kriterierne

=IIf(IsNull(DLookUp("[1]";"[for_prosamlet]";"[dessin] = '" & [tekst2] & "' AND [Farve]= '" & [tekst4])) &"'";Null;"0")
Avatar billede henrik13 Nybegynder
18. februar 2003 - 12:18 #3
' Ja
    DoCmd.Echo True, ""
    'Nej
    DoCmd.Echo False, ""
Avatar billede henrik13 Nybegynder
18. februar 2003 - 12:20 #4
Slå skærmopdatering til:
    DoCmd.Echo True, ""

Slå skærmopdatering Fra:
    DoCmd.Echo False, ""

Vh Henrik
Avatar billede sjap Praktikant
18. februar 2003 - 12:32 #5
henrik13

Måske er der noget jeg har misforstået, men jeg forstår simpelthen ikke, hvad det er du vil.

zack
Du skal lige være opmærksom på, at du faktisk har sat IIf sætningen til at være Null, hvis der IKKE er noget i DLookup'en og dermed til "0", hvis der er noget i den. Jeg kan ikke gennemskue, hvad det er du vil, men måske skal de to byttes om?
Avatar billede henrik13 Nybegynder
18. februar 2003 - 13:12 #6
Undskyld.
Jeg fik sat svaret forkert. Det skulle havde været i http://exp.dk/spm/318744.
Så du bedes afvise mig.
Vh Henrik
Avatar billede zack Nybegynder
18. februar 2003 - 13:14 #7
Ja...Superjap...

0 hvis der ikke er noget i den.
Avatar billede sjap Praktikant
18. februar 2003 - 13:22 #8
zack

Hvad skal den så være, hvis der er noget i den?

=IIf(IsNull(DLookUp("[1]";"[for_prosamlet]";"[dessin] = '" & [tekst2] & "' AND [Farve]= '" & [tekst4])) &"'";"0";Null)
Avatar billede zack Nybegynder
18. februar 2003 - 13:25 #9
Så skal den vise den værdi, den slår op.
Avatar billede sjap Praktikant
18. februar 2003 - 13:29 #10
=IIf(IsNull(DLookUp("[1]";"[for_prosamlet]";"[dessin] = '" & [tekst2] & "' AND [Farve]= '" & [tekst4] &"'"));"0";DLookUp("[1]";"[for_prosamlet]";"[dessin] = '" & [tekst2] & "' AND [Farve]= '" & [tekst4] &"'"))
Avatar billede zack Nybegynder
18. februar 2003 - 13:35 #11
Hmmm.. den melder fejl på den.
Avatar billede sjap Praktikant
18. februar 2003 - 13:41 #12
Lad os tage det i mindre portioner:

=IIf(IsNull(DLookUp("[1]";"[for_prosamlet]";"[dessin] = '" & [tekst2] & "' AND [Farve]= '" & [tekst4] &"'");"0";"Næsten OK")

Lad mig høre om den virker?
Avatar billede zack Nybegynder
18. februar 2003 - 13:44 #13
"et indtastede udtryk indeholder en funktion med et forkert antal argumenter"
Avatar billede sjap Praktikant
18. februar 2003 - 13:49 #14
Der manglede lige en parentes:

=IIf(IsNull(DLookUp("[1]";"[for_prosamlet]";"[dessin] = '" & [tekst2] & "' AND [Farve]= '" & [tekst4] & "'"));"0";"Næsten OK")

Virker den så (altså så den skriver 0 eller næsten OK)
Avatar billede zack Nybegynder
18. februar 2003 - 13:53 #15
Næh.. det er kun det du skriver, jeg skal sætte ind ikk'?

Den kommer med fejl
Avatar billede sjap Praktikant
18. februar 2003 - 14:02 #16
Nu er ovenstående i hvert tilfælde lavet rigtigt. Fejlen kan skyldes en (eller flere) af følgende):

- Tabellen "for_prosamlet" er stavet forkert.
- Feltet "1" findes ikke i "for_prosamlet".
- Feltet "dessin" findes ikke i "for_prosamlet".
- Feltet "farve" findes ikke i "for_prosamlet".
Avatar billede rosted Nybegynder
18. februar 2003 - 14:17 #17
Hvilken fejl kommer den med nu?
Avatar billede zack Nybegynder
18. februar 2003 - 14:21 #18
Hmm.. allle tingene er opfyldt. Det er dog en forespørgsel, og ikke en tabel.

Denne sætning virker fint, hvis den finder en værdi:

=DLookUp("[2]";"[for_prosamlet]";"[dessin] = " & [tekst2] & " AND [Farve]= " & [tekst4])
Avatar billede sjap Praktikant
18. februar 2003 - 14:23 #19
Er tekst2 og tekst4 tal?
Avatar billede sjap Praktikant
18. februar 2003 - 14:25 #20
Hvis tekst2 og tekst4 er tal skal der stå

=IIf(IsNull(DLookUp("[1]";"[for_prosamlet]";"[dessin] = " & [tekst2] & " AND [Farve]= " & [tekst4]));"0";"Næsten OK")
Avatar billede zack Nybegynder
18. februar 2003 - 14:25 #21
ja...
Avatar billede sjap Praktikant
18. februar 2003 - 14:26 #22
Hvad siger den så?
Avatar billede zack Nybegynder
18. februar 2003 - 14:28 #23
Så står der 0!
Avatar billede sjap Praktikant
18. februar 2003 - 14:28 #24
Jamen så virker det vel (måske).
Avatar billede sjap Praktikant
18. februar 2003 - 14:29 #25
Nu skal du så lige finde et tilfælde hvor den skriver "Næsten OK", så vi kan lave en test på resten.
Avatar billede zack Nybegynder
18. februar 2003 - 14:30 #26
to sek...
Avatar billede sjap Praktikant
18. februar 2003 - 14:30 #27
Når du har fundet den, skulle nedenstående give dig det resultat, du leder efter.

=IIf(IsNull(DLookUp("[1]";"[for_prosamlet]";"[dessin] = " & [tekst2] & " AND [Farve]= " & [tekst4]));"0";DLookUp("[1]";"[for_prosamlet]";"[dessin] = " & [tekst2] & " AND [Farve]= " & [tekst4]))
Avatar billede zack Nybegynder
18. februar 2003 - 14:31 #28
Det har jeg fundet.. såå..
Avatar billede zack Nybegynder
18. februar 2003 - 14:36 #29
Så kører det. Tak.
Avatar billede rosted Nybegynder
18. februar 2003 - 14:51 #30
=nz(DLookUp("[1]";"[for_prosamlet]";"[dessin] = " & [tekst2] & " AND [Farve]= " & [tekst4]);"0") ville gøre det samme og er lidt mere overskuelig.
Bare en tanke.
Avatar billede sjap Praktikant
18. februar 2003 - 15:13 #31
rosted

Det er da også rigtigt. Jeg mente nok at der fandtes en sådan funktion - jeg kunne bare ikke komme på navnet.
Avatar billede rosted Nybegynder
18. februar 2003 - 15:21 #32
Det er heller ikke noget specielt nemt navn at huske :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester