Avatar billede djhansen Nybegynder
03. marts 2003 - 12:40 Der er 34 kommentarer og
1 løsning

Bruge forespørgsel istedet for Tabel i Dlookup / Dcount

Mit opslag hedder således =IIf(IsNull([A]);Null;IIf(DCount("[Forhandlernr]";"CO forhandlerprovision md 1";"[Forhandlernr]=" & [A])>0;"Ja";"Nej"))

Min tabel som den kikker i hedder "CO forhandlerprovision md 1", istedet for denne tabel, vil jeg lave en forespørgsel som kun indeholder denne tabel (samme data og samme feltnavne), men med en yderelige kriterie, som går at datamængden bliver begræset.

I min "streng" skal den istedet kikke i min forespørgsel der hedder "CO forhandlerprovision md 1x" I denne forespøgsel skal man taste en måned. Denne måned skal den forespørge efter i rapportudtrækket.

Jeg har prøvet at ændre navnet til forespørgslen, men det lykkedes ikke. Istedet at returnere ja/nej, kommer error.
Avatar billede juks Novice
03. marts 2003 - 12:48 #1
årøv lige at poste den kode du skriver når du vil bruge forspørgelsen
Avatar billede djhansen Nybegynder
03. marts 2003 - 12:51 #2
Jeg forstår ikke helt. Jeg er ikke særlig god til koder, og opretter mest med Access hjælp..
Avatar billede hugopedersen Nybegynder
03. marts 2003 - 12:58 #3
Er du 100% sikker på at alle felter du refererer til i den IIF / DCount er med i din forespørgsel ?

PS: mellemrum i tabelnavne/querynavne/feltnavne ser rigtig godt ud, men der er @£$@£$£ noget gylle når man skal bruge det :-)
Avatar billede terry Ekspert
03. marts 2003 - 13:04 #4
are you saying that the table version works?

table and field names containing spaces should always be enclosed in []

=IIf(IsNull([A]);Null;IIf(DCount("[Forhandlernr]";"[CO forhandlerprovision md 1]";"[Forhandlernr]=" & [A])>0;"Ja";"Nej"))
Avatar billede juks Novice
03. marts 2003 - 13:04 #5
prøv at ligge den kode/opslag der returnere den error herinde så vi kan se den som den ser ud når den ligge i din database (klip & sæt ind)
Avatar billede djhansen Nybegynder
03. marts 2003 - 13:11 #6
Denne virker. Her kikker den i tabellen "CO forhandlerprovision md 1" om det forhandlernr. jeg har i feltnavn "A" om det står i feltnavn "Forhandlernr" i tabel.
=IIf(IsNull([A]);Null;IIf(DCount("[Forhandlernr]";"CO forhandlerprovision md 1";"[Forhandlernr]=" & [A])>0;"Ja";"Nej"))

Nu vil jeg istedet have den til at kikke i feltnavn "Forhandlernr" i min forespørgsel navn "CO forhandlerprovision md 1x" som har et kriteriefelt.

I min tabel er der indtastet en md ud fra hver post. Hvis jeg skriver vi skal kikke i md 2, skal de kun returner sand, hvis A er i min forespørgsel efter kriterie på md 2. Jeg har lavet forespørgslen.
Avatar billede terry Ekspert
03. marts 2003 - 13:57 #7
I do NOT thonk you can use a parameter query inj your Dlookup!

You need to have a field on the form, or maybe a combo containing months 1 to 12. Then your Dlookup uses this field for finding the correct month.


=IIf(  IsNull([A]); Null; IIf(DCount("[Forhandlernr]";"[CO forhandlerprovision md 1x]";"[Forhandlernr]=" & [A]) >0 & ” AND [md] = ” & me.MDCombo;"Ja";"Nej"))


[Md] is the month field in your query, and me.MDCombo is the combo (new) containing the chosen month
Avatar billede djhansen Nybegynder
03. marts 2003 - 14:10 #8
Det virker ikke, ellers forstår jeg ikke helt.
Avatar billede terry Ekspert
03. marts 2003 - 14:22 #9
Maybe its me who doesnt quite understand!

If you are doing this in a query then it should look something like this.
First remove the "kriteriefelt" from your query (CO forhandlerprovision md 1x) then your "opslag" should look something like this. [Indtast MD] should prompt you to enter a month

=IIf(  IsNull([A]); Null; IIf(DCount("[Forhandlernr]";"[CO forhandlerprovision md 1x]";"[Forhandlernr]=" & [A]) >0 & ” AND [md] = ” & [Indtast MD];"Ja";"Nej"))
Avatar billede terry Ekspert
03. marts 2003 - 14:26 #10
This is maybe correct if forhandler mustbe = [A] AND MD must be = the entered month

=IIf(  IsNull([A]); Null; IIf(DCount("[Forhandlernr]";"[CO forhandlerprovision md 1x]";"[Forhandlernr]=" & [A] & ” AND [md] = ” & [Indtast MD] ) >0 &;"Ja";"Nej"))
Avatar billede djhansen Nybegynder
03. marts 2003 - 14:36 #11
Invalid syntax. (comma)
Avatar billede terry Ekspert
03. marts 2003 - 15:09 #12
are you using this in a query or what?
Avatar billede terry Ekspert
03. marts 2003 - 15:10 #13
you can sent your dB to eksperten@santhell.dk and I will take a look when I get home.
Avatar billede terry Ekspert
03. marts 2003 - 15:32 #14
if you sent it I need to know where I need to look
Avatar billede djhansen Nybegynder
03. marts 2003 - 15:34 #15
Jeg har sendt en email nu. Skal jeg oversætte det til engelsk, eller kan du læse det på dansk ?

I have sent a email now. Do I need to translate too english ore can you read in danish.
Avatar billede terry Ekspert
03. marts 2003 - 16:02 #16
I understand danish 99.99999999 % :o)
Avatar billede juks Novice
03. marts 2003 - 17:02 #17
99,9998 % :-)
Avatar billede terry Ekspert
03. marts 2003 - 20:22 #18
djhansen>I got your mail but word documents etc doesnt help me very much. It means I have to put a database together myslef before I can look at the problem

If there is personal data then you can remove this and create fictive data, and if your concerned about your program then just send me the parts which I need.
If you can not do this then I cant help as it will take me FAR TOO LONG.
Avatar billede djhansen Nybegynder
04. marts 2003 - 08:14 #19
Jeg har nu slettet alt udnødvendigt i databasen, og kan sende denne til dig. Den fylder 29,7 MB. Skal jeg sende den på eksperten@santhell.dk ?
Avatar billede terry Ekspert
04. marts 2003 - 08:54 #20
you should first compact the database (tools-database utilities-compact repair menu) and then zip it if possible. Yes if you send it to the same address then I will take a look when I get home.
Sorry it will have to wait, but I am rather busy.
Avatar billede juks Novice
04. marts 2003 - 10:32 #21
send den til jhc-it@tdcadsl.dk så skal jeg lave det med det samme
Avatar billede djhansen Nybegynder
04. marts 2003 - 10:37 #22
Så fejl vil jeg alligevel ikke være. Jeg giver lige Terry en chance først. Ellers mange tak
Avatar billede juks Novice
04. marts 2003 - 10:48 #23
du må da gerne give ham pointne alleligevel ville bare hjælpe dig hvis det hastede..
Avatar billede djhansen Nybegynder
04. marts 2003 - 10:51 #24
Jeg kan prøve at sende dig en kopi af den mail jeg har sendt til Terry. Ang. pointene, så ved jeg faktisk heller ikke rigtig hvad i bruger dem til.. Men værsgo.
Avatar billede juks Novice
04. marts 2003 - 11:06 #25
IIf(IsNull([A]);Null;IIf(DCount("[Forhandlernr]";"[CO forhandlerprovision md 1]";"[Forhandlernr]=" & [A] & [”] And [md]=[”] & [Indtast MD])>0;"Ja";"Nej"))
Avatar billede juks Novice
04. marts 2003 - 11:10 #26
det er lidt svært for mig da de´felter du referer til ikke eksistere i den version du har sendt til mig , og den forspørgelse du taler heller ikke er der ...

denne her koder virker ihvertfald men kan ikke af prøve om den virker edfter din hensigt ... den giver ihvertfald enten ja el nej


IIf(IsNull([A]);Null;IIf(DCount("[Forhandlernr]";"[CO forhandlerprovision md 1]";"[Forhandlernr]=" & [A] & [md]=[Indtast MD])>0;"Ja";"Nej"))
Avatar billede juks Novice
04. marts 2003 - 11:17 #27
hmmm
fortæl mig lige hvad a står for ... der er ikke et felt i din tabel der hedder a er det noget man indtaster manuelt
Avatar billede djhansen Nybegynder
04. marts 2003 - 11:47 #28
IIf(IsNull([A]);Null;IIf(DCount("[Forhandlernr]";"[CO forhandlerprovision md 1]";"[Forhandlernr]=" & [A] & [md]=[Indtast MD])>0;"Ja";"Nej"))
Denne kommer med et nej, i både md 1 og md 2, på et nummer som er registeret med md 1.

Den behøver ikke nødvendigvis at kikke i forespørgslen, blot den returnere Ja, hvis eks. 200866 er i tabellen med måned 1. I tabellen kan der stå 200866 i 2 linier med både md 1 og md 2. Så skal den komme med JA, når jeg trækker på begge måneder.

Mht. "A" så er det de samme data som vil stå i forhandlernr i tabellen ligedan med B C D osv.
Avatar billede terry Ekspert
04. marts 2003 - 13:53 #29
djahnsen, didnt you know that you can buy candy for the points :o)
If juks can help then thats great and he can also have what ever points you think, just as long as there are  few for me so I can get some more candy :o)
Avatar billede djhansen Nybegynder
04. marts 2003 - 14:02 #30
OK.. Jeg har dog ikke hørt fra Juks endnu..
Avatar billede juks Novice
04. marts 2003 - 15:38 #31
jeg tror du skal holde dig til terry , det var ikke den opgave du lagde ud med har desværre ikke mere tid til at kigge på problemet idag desværre. løsningen er mere kompleks end først antaget
Avatar billede terry Ekspert
05. marts 2003 - 08:43 #32
dhhansen, I have received your mail and will look at it just a soon as I get time. I am VERY busy at the moment and it does look as though the problem isnt exactly as first described, even so I am sure we can find a solution, or at least a work around, but it will not be unitil I get time. Hopefully tomorrow.
Avatar billede djhansen Nybegynder
05. marts 2003 - 08:54 #33
ok
Avatar billede terry Ekspert
05. marts 2003 - 21:47 #34
SELECT [CO forhandlerprovision md 1].Forhandlernr, IIf(DCount("Forhandlernr","Co forhandlerprovision md 1","Forhandlernr = " & [Forhandlernr] & " AND [Måned]= " & [Md])>0,"Ja","Nej") AS JaNej
FROM [CO forhandlerprovision md 1];

You will be asked to enter the month. Then for every record you will get a Ja or Nej if this or any other record withh the same forhandlernr has a month = what ever you entered.
Avatar billede djhansen Nybegynder
06. marts 2003 - 08:17 #35
Nu virker forespørgslen. Jeg opretter lige ydereligere point, eftersom jeg skal have den til at returnere det ja eller nej i min rapport ud fra hver af mine numre.

Den streng SELECT.. skulle jeg indsætte den i rapporten, for der virker den ikke. Den er ikke afsluttet.
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