Avatar billede zack Nybegynder
12. marts 2001 - 15:01 Der er 28 kommentarer og
2 løsninger

DLookup med flere kriterier

Hvordan laver man en DLookup med to eller flere kriterier?

=DLookUp(\"[Sumofantal gods]\";\"[hjempoialt]\";\"[PO] = \" & [kombinationsboks 18])

Der er kombinationsbok 18 kriteriet, men hvis nu jeg skal bruge flere kriterier, f.eks. kombinationsboks 18 og råvare, hvordan gør jeg så?
12. marts 2001 - 15:03 #1
Simpelthen ved at indsætte et and:

=DLookUp(\"[Sumofantal gods]\";\"[hjempoialt]\";\"[PO] = \" & [kombinationsboks 18] & \" AND Felt2 = \" & Me![txtbox1])


/Thomas
Avatar billede proaccess Nybegynder
12. marts 2001 - 15:04 #2
Du skal bruge AND eller OR, som i WHERE-delen af en SQL-sætning.

Dette kunne for eksempel være:
=DLookUp(\"[SumOfAntal Gods]\";\"[hjempoialt]\";\"[PO]=\" & [Kombinationsboks 18] & \" AND [Råvare]<>\'FISK\'\")

HDH
ProAccess
12. marts 2001 - 15:06 #3
Mere pædagoisk:

=DLookUp(\"[Sumofantal gods]\";\"[hjempoialt]\";\"[PO] = \" & [kombinationsboks 18] & \" AND Råvare= \" & Me![Råvare])

PS: Husk apostroffer, hvis det er et tekst-felt.

/Thomas 
Avatar billede zack Nybegynder
12. marts 2001 - 15:14 #4
I er hurtige. Jeg skal lige have det afprøvet. Der kan godt gå et par dage.

Hav tålmodighed.
Avatar billede zack Nybegynder
12. marts 2001 - 15:14 #5
Ændrer det noget, at råvare feltet er et text felt?
12. marts 2001 - 15:15 #6
Ja, så skal der stå:

=DLookUp(\"[Sumofantal gods]\";\"[hjempoialt]\";\"[PO] = \" & [kombinationsboks 18] & \" AND Råvare= \'\" & Me![Råvare] & \"\'\")

mvh
Thomas
Avatar billede zack Nybegynder
12. marts 2001 - 15:20 #7
Skal der ikke også være to kriterier her: DLookUp(\"[Sumofantal gods]\";\"[hjempoialt]\";\"[PO]* = \"

* ved stjernen?
Avatar billede proaccess Nybegynder
12. marts 2001 - 15:24 #8
Jo, hvis kombinationsboks 18, også er tekst, så skal der også apostroffer dér, det nemmeste er at benytte \', for så kommer de ikke i karambolage med de \"er, som adskiller de enkelte dele af din funktion.

ProAccess
12. marts 2001 - 15:25 #9
Jo, således:

=DLookUp(\"[Sumofantal gods]\";\"[hjempoialt]\";\"[PO] = \'\" & [kombinationsboks 18] & \"\' AND Råvare= \'\" & Me![Råvare] & \"\'\")

mvh
Thomas
 
Avatar billede zack Nybegynder
12. marts 2001 - 15:27 #10
Jeg mener, at hvor der står PO, som efter min opfattelse er en henvisning til forespørgslen, skal der vel også være en henvisning til råvare?
12. marts 2001 - 15:30 #11
Hmmm, [PO] referere ganske rigtigt til feltet i tabellen/forespørgslen ligesom Råvare ferererer til feltet i forespørgslen.

Me![Råvare] hentyder til feltet på formularen.

/Thomas
12. marts 2001 - 15:31 #12
De kantede parenteser ([]) skal med, hvis der indgår et mellemrum i navnet. Ellers er de ikke nødvendige.

Dette var blot en servicemeddelelse.

/Thomas
Avatar billede zack Nybegynder
12. marts 2001 - 15:38 #13
Her er den foreløbelige:

=DLookUp(\"[sendt]\";\"[overfør råvare]\";\"[PO] = \" & [kombinationsboks 3] & \" AND Råvare= \'\" & [Me]![Råvare] & \"\'\")

Hvor sendt er det den skal finde.
Overfør råvare er forespørgslen.
PO er det første kriterie
Kombinationsboks 3 er hvor i formularen, man indtaster det første kriterie, nemlig Po.
Råvare er det andet kriterium.
12. marts 2001 - 15:39 #14
Hvis PO er nummerisk og Råvare er tekst, så skulle den være rigtig!
Virker det ikke?

Avatar billede proaccess Nybegynder
12. marts 2001 - 15:42 #15
Hvis du har en kontrol på din formular, som hedder Råvare, så skulle det virke :-)

Avatar billede zack Nybegynder
12. marts 2001 - 16:17 #16
Det virker ikke rigtigt.

Den kommer med denne fejlbesked: #Navn?
12. marts 2001 - 16:25 #17
Det kan enten skyldes, at der er lidt kludder med navnene. Hvis f.eks. tekstboksen, som du skriver udtrykket i, hedder \"Råvare\"

Det kan også skyldes at f.eks PO i virkeligheden ER tekst.

Prøv at gennemgå alle felter.
Avatar billede proaccess Nybegynder
12. marts 2001 - 20:41 #18
Hej Zack,

er du kommet videre med denne??
Du kan eventuelt prøve at fjerne [Me]! og dermed nøjes med [Råvare], på samme måde som med [Kombinationsboks 3].

ProAccess
12. marts 2001 - 20:44 #19
Ja, selvfølgelig Proaccess! Det er det, der er fejlen (dumme mig!)
\'Me\' bruges kun i VBA. Hvis man overhovedet skal bruge noget i formview skal det være [Form] istedet for Me.

Sorry

/Thomas
Avatar billede proaccess Nybegynder
12. marts 2001 - 21:11 #20
Det vigtigste er jo bare at vi får hjulpet Zack!

Og jeg foreslår da også at pointene bliver delt pænt over. ;-)

Avatar billede zack Nybegynder
12. marts 2001 - 21:19 #21
Ja, men det virker stadigvæk ikke.

=DLookUp(\"[sendt]\";\"[overfør råvare]\";\"[Po] = \" & [kombinationsboks 7] & \" AND kombinationsboks 10= \'\" & [Råvare] & \"\'\")

Hvor kombinationsboks 10 er det andet kriterie, råvare.

Po er tal og råvare er tekst.
Avatar billede zack Nybegynder
12. marts 2001 - 21:23 #22
Jeg roder lidt rundt i det.

1. kriterie i formularen er kombinationsboks 7
I forespørgslen hedder den produktion. Formatet er tal.

2 kriterie i formularen er kombinationsboks 10, og hedder i forespørgslen råvare. Formatet er tekst.

Håber det hjælper.
Avatar billede proaccess Nybegynder
12. marts 2001 - 21:28 #23
Hej Zack, prøv så denne:

=Dlookup(\"[Sendt]\";\"[Overfør råvare]\";\"[Po]=\" & [Kombinationsboks 7] & \" AND [Råvare]=\'\" & [Kombinationsboks 10] & \"\'\"

Så skulle den være dér
Avatar billede proaccess Nybegynder
12. marts 2001 - 21:29 #24
HOV, du siger at 1. kritierie hedder Produktion i forespørgslen, det skal du så skrive i stedet for [PO] !!!
Avatar billede zack Nybegynder
12. marts 2001 - 21:33 #25
Ok, men den fortæller mig, at der mangler en afsluttet parentes eller en kantet parentes eller en streng.
12. marts 2001 - 21:35 #26
=Dlookup(\"[Sendt]\";\"[Overfør råvare]\";\"[Po]=\" & [Kombinationsboks 7] & \" AND [Råvare]=\'\" & [Kombinationsboks 10] & \"\'\")

Avatar billede zack Nybegynder
12. marts 2001 - 21:43 #27
Det virker ikke.

Kombinationsboks 7 er lig med produktion i fors. overfør råvare.

hjælper det?

=Dlookup(\"[Sendt]\";\"[Overfør råvare]\";\"[produktion]=\" & [Kombinationsboks 7] & \" AND [Råvare]=\'\" & [Kombinationsboks 10] & \"\'\")
13. marts 2001 - 07:51 #28
Zack, du må lære at navngive dine objekter ordentligt. Man kan ike have en kombinationsboks, som hedder hverken [Kombinationsboks 7] eller [Kombinationsboks 3] fordi så opstår den slags forviklinger.

Der er forskellige konventioner, som man kan benytte sig af, som man lyster. Mange vælger at sætte txt foran Textbox\'e og cmbo foran kombinationsbokse, så din Råvare således ville hedde \"cmboRåvare\".

Samtidig er det også vigtigt at man navngiver sine felter i tabeller og forespørgsler fonuftigt. Dvs helst ikke forkortelser som PO, hvis man kan undgå det. Hellere skrive lidt mere.

Tilbage til dit problem; Du er nødt til at kontrollere at du i forespørgslen [Overfør råvare] har både et felt der hedder \"Sendt\", \"Produktion\" og \"Råvare\". Hvis du er helt sikker på det, så kan problemet skyldes dine kombinationsbokse, som returnere en forkert værdi. Hvis du har flere kolonner i boksen, skal du sikre dig, at egenskaben \"bundet kolonne\" er den kolonne, som du ønkser at refererer til i forhold til [Produktion] og [Råvare].

Er du med på hvad jeg mener?

/Thomas

Avatar billede zack Nybegynder
26. marts 2001 - 14:36 #29
For en god indsats. Det var nok bare mig der klumrede rundt i det.
26. marts 2001 - 15:10 #30
Tak fordi du afsluttede spørgsmålet (og gav point for det :)
Hvis bare alle gad at afslutte deres spørgsmål....

/Thomas
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