Avatar billede djhansen Nybegynder
18. februar 2003 - 09:04 Der er 36 kommentarer og
1 løsning

Dlookup fortsættelse

Jeg har denne streng:
=IIf(DLookUp("Forhandlernr";"CO forhandlerprovision md 1";"[B]='" & [B] & "'")>0;"OK";"NEJ")

Jeg skal have den til ikke at returnere en værdi hvis forhandlernr. ikke er i tabellen.
Avatar billede sjap Praktikant
18. februar 2003 - 09:28 #1
IIf(DLookUp("Forhandlernr";"CO forhandlerprovision md 1";"[B]='" & [B] & "'")>0;"OK";Null)
Avatar billede djhansen Nybegynder
18. februar 2003 - 09:36 #2
Jeg har fundet ud af at min streng ikke virker alligevel. Den returnere nu istedet OK ved alle.
Avatar billede sjap Praktikant
18. februar 2003 - 09:50 #3
Der er vistnok et eller andet sjusk i Access, når man roder med Null værdier. Prøv lige

IIf(IsNull(DLookUp("Forhandlernr";"CO forhandlerprovision md 1";"[B]='" & [B] & "'"));Null;"OK")
Avatar billede djhansen Nybegynder
18. februar 2003 - 10:08 #4
Det virker ikke. Den kommer med OK, alligevel forhandlernr. ikke står i tabellen. Jeg har mange forhandlernumre i rapporten, kan det være fordi, den søger dem alle istedet for kun dem i felt "B".
Avatar billede sjap Praktikant
18. februar 2003 - 10:17 #5
Jeg forstår ikke helt hvad du mener. Findes feltet "Forhandlernr" ikke i "CO forhandlerprovision md 1" tabellen?
Avatar billede rosted Nybegynder
18. februar 2003 - 10:21 #6
Mon ikke du skal bruge en DCOUNT i stedet?
Avatar billede djhansen Nybegynder
18. februar 2003 - 10:26 #7
Jo feltet findes i tabellen. Men den returnere OK, hvis dataene ikke er i tabellen. Den skal kun returnere OK, hvis de data i FELT B (rapport) er i Tabellen Felt "forhandlernr".

Jeg kender ikke DCount, men hvis den kan løse det, så er det fint med mig.
Avatar billede rosted Nybegynder
18. februar 2003 - 10:32 #8
DCount("Forhandlernr";"CO forhandlerprovision md 1";"[B]='" & [B] & "'") returnerer antallet af poster som opfylder kriteriet.
Avatar billede rosted Nybegynder
18. februar 2003 - 10:37 #9
Er lidt forvirret. Er det

DCount("[Forhandlernr]";"CO forhandlerprovision md 1";"[Forhandlernr]='" & [B] & "'")

du mener?
Avatar billede sjap Praktikant
18. februar 2003 - 10:38 #10
Prøv lige med den her:

IIf(IsNull(DLookUp("Forhandlernr";"CO forhandlerprovision md 1";"[Forhandlernr]='" & [B] & "'"));Null;"OK")
Avatar billede djhansen Nybegynder
18. februar 2003 - 10:47 #11
De virke ikke begge 2. Kommer med Error.
Avatar billede rosted Nybegynder
18. februar 2003 - 10:49 #12
iif(DCount("[Forhandlernr]";"CO forhandlerprovision md 1";"[Forhandlernr]='" & [B] & "'")>0;"Ok";"Ikke OK") virker ikke? Findes feltet [B] i tabellen eller er det [Forhandlernr] du vil sammenligne med [B]?
Avatar billede djhansen Nybegynder
18. februar 2003 - 10:57 #13
Forhandlernr hedder feltet i tabellen
Tabellen hedder CO forhandlerprovision md 1
B er feltet, hvor forhandlernr er i rapporten

Dette er en fortsættelse af mit spørgsmål "Dlookup"

DCount("Forhandlernr";"CO forhandlerprovision md 1";"[B]='" & [B] & "'") denne virker, men ikke korrekt. Den returnere et antal, men også på de poster hvor B ikke er i Tabellen.
Avatar billede rosted Nybegynder
18. februar 2003 - 11:19 #14
"[B]='" & [B] & "'") skal være "[Forhandlernr]='" & [B] & "'")
Avatar billede djhansen Nybegynder
18. februar 2003 - 11:29 #15
=DCount("Forhandlernr";"CO forhandlerprovision md 1";"[Forhandlernr]='" & [B] & "'") Denne virker ikke, nu kommer den med Error.
Avatar billede rosted Nybegynder
18. februar 2003 - 11:33 #16
Den returnerer ikke et antal hvis du sætter den ind i control source på et almindeligt text felt?

Hvilken fejl kommer den med?
Avatar billede djhansen Nybegynder
18. februar 2003 - 11:41 #17
Den skriver #error i rapporten ved "vis udskrift".
Den er ligeledes sat ind i en controlsourse, i en rapport.
Avatar billede rosted Nybegynder
18. februar 2003 - 11:43 #18
Kan du ikke lige prøve at skrive præcis hvordan du skriver i feltet nu. Hvad er datatyperne på B og på Forhandlernr?
Avatar billede djhansen Nybegynder
18. februar 2003 - 12:06 #19
Jeg skriver =DCount("Forhandlernr";"CO forhandlerprovision md 1";"[Forhandlernr]='" & [B] & "'") dette er kopieret.
Felterne er number og Double i begge tilfælde.

Det funktionen skal gøre er at se om det nummer(data) der står i felt "B" i rapporten, eksistere i den tabel der hedder "CO forhandlerprovision md 1" i feltnavn "Forhandlernr", Og så returnere enten ja eller nej.
Avatar billede rosted Nybegynder
18. februar 2003 - 12:09 #20
Det skal den altså kunne med:

=iif(DCount("[Forhandlernr]";"CO forhandlerprovision md 1";"[Forhandlernr]=" & [B])>0;"Ja";"Nej")

Evt. [B].[Value]
Avatar billede djhansen Nybegynder
18. februar 2003 - 12:14 #21
Nu virker det. Dog kommer error stadig frem hvis der ikke er nogen data i "B" i rapporten. Kan det fjernes. + hvordan giver jeg dig pointene.
Avatar billede sjap Praktikant
18. februar 2003 - 12:21 #22
Så er jeg tilbage, og det ser heldigvis ud til at i næsten har løst problemet. Den sidste lille detalje burde kunne klares med:

=IIf(IsNull([B]);Null;iif(DCount("[Forhandlernr]";"CO forhandlerprovision md 1";"[Forhandlernr]=" & [B])>0;"Ja";"Nej"))
Avatar billede djhansen Nybegynder
18. februar 2003 - 12:29 #23
Det virker. Sidste ting.
Hvis jeg nu vil ændre min tabel "CO forhandlerprovision md 1" til en forespørgsel. Eftersom jeg gerne vil kunne kriterie på hvilken måned jeg vil have udtrækket i, hvad gør jeg så. (forespørgselnavn: "FORECO")
I min tabel "CO forhandlerprovision md 1" har jeg et felt der hedder "måned". I denne vil der være fra tal 1-12. I min forespørgsel vil jeg så sige det skal være måned 1, og min rapport skal så vise ja/nej ud fra det.
Avatar billede sjap Praktikant
18. februar 2003 - 12:35 #24
Jeg er ikke sikker på, hvad det er du spørger om. Vil du have hjælp til hvordan du laver forespørgslen, eller vil du vide hvordan det påvirker iif-sætningen?
Avatar billede djhansen Nybegynder
18. februar 2003 - 12:36 #25
Hjælp til iff sætningen. Jeg har lavet forespørgslen. Jeg vil blot have at IFF sætningen kikker i en forespørgsel istedet for en tabel.
Avatar billede sjap Praktikant
18. februar 2003 - 12:40 #26
=IIf(IsNull([B]);Null;iif(DCount("[Forhandlernr]";"FORECO";"[Forhandlernr]=" & [B])>0;"Ja";"Nej"))
Avatar billede sjap Praktikant
18. februar 2003 - 12:42 #27
Nåh ja du ville jo også gerne have ændret feltet til "måned" - skal det stadig sammenlignes med [B]?

=IIf(IsNull([B]);Null;iif(DCount("[Måned]";"FORECO";"[Måned]=" & [B])>0;"Ja";"Nej"))
Avatar billede rosted Nybegynder
18. februar 2003 - 12:48 #28
Du kan jo stadig bruge tabelen hvis den indeholder måneder og så benytte begge kriterier.
Avatar billede djhansen Nybegynder
18. februar 2003 - 12:49 #29
Det virker ikke. Jeg kommer heller ikke til at taste hvilken måned det drejer sig om. I forespørglen, skal jeg vælge måned.
Avatar billede rosted Nybegynder
18. februar 2003 - 12:50 #30
=IIf(IsNull([B]);Null;iif(DCount("[Forhandlernr]";"CO forhandlerprovision md 1";"[Forhandlernr]=" & [B] & " AND [Måned]" = [DerHvorDuHarMånedenStående])>0;"Ja";"Nej"))
Avatar billede djhansen Nybegynder
18. februar 2003 - 12:52 #31
Men min rapport indeholder ikke hvilken md. jeg forespørger på. Jeg skal kunne køre rapporten, og så taste hvilken måned det drejer sig om.
Avatar billede djhansen Nybegynder
18. februar 2003 - 12:57 #32
Hej Rosted, jeg tror det virker. Jeg har tilføjet et fiktivt felt med md. Tusinde tak til Jer begge
Avatar billede rosted Nybegynder
18. februar 2003 - 12:58 #33
Det var så lidt. Hvorfor afviser du så svaret?
Avatar billede sjap Praktikant
18. februar 2003 - 12:59 #34
I forespørgslen kan du i kriteriefeltet under "Måned" skrive

=[Parameter:]

Det får den til at spørge om måned.
Avatar billede sjap Praktikant
18. februar 2003 - 13:01 #35
Nåh ok - hvis problemet er løst, så glem mit sidste forslag.
Avatar billede rosted Nybegynder
18. februar 2003 - 13:03 #36
Tak
Avatar billede sjap Praktikant
18. februar 2003 - 13:06 #37
Utak er verdens løn  ;-(
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