Avatar billede zalam Nybegynder
31. oktober 2008 - 16:35 Der er 13 kommentarer og
2 løsninger

Hjælp til udtryk

Jeg har et problem.

Jeg har en tabel hvori jeg har antal km fra lager til kunde.

Jeg har en anden tabel hvor prisen på transport er given, således

Mellem 0 km og 30 km = pris
Mellem 31 km og 60 km = pris
osv.

Hvordan laver jeg et udtryk, som kan vise prisen for transporten fra lager til kunde for hver eneste kunde i min database???
Avatar billede mugs Novice
31. oktober 2008 - 16:40 #1
Hej

Nu ved vi jo ikke hvordan db er opbygget, om der er relationer mellem tabellerne o.s.v.

Men ret beset kan du vel lave en kombinations boks med opslag i pristabellen, således at du henter en pris og lagrer den i kundetabellen.

Men du skriver ikke hvilken version du benytter, ellers javde jeg nok bakket ud ;o)
Avatar billede zalam Nybegynder
31. oktober 2008 - 18:48 #2
Det er office 2007.

Det er vist lettere at jeg sender databsen til en eller anden.
Avatar billede mugs Novice
31. oktober 2008 - 18:53 #3
Det er det nok ;o)

Men mit forslag vil fungere i enhver version tidligere end 2007.
Skriv ALTID hvilken version du bruger - Det gør det lettere for os alle sammen.
Avatar billede zalam Nybegynder
31. oktober 2008 - 21:21 #4
¨Jeg tror også dit forslag virker i 07 jeg kan bare ikke rigtig få det til at funke :(
Avatar billede mugs Novice
31. oktober 2008 - 21:38 #5
Får du fejl? Eller sker der bare ingen ting?

Ikke for at være uhøflig, men din kommentar er intetsigende og bibringer ikke til en løsning af problemet!
Avatar billede zalam Nybegynder
31. oktober 2008 - 21:57 #6
Jeg kan ikke få formuleret et udtryk således, at den kan beregne det i én omgang.

Jeg ved udmærket hvordan jeg matematisk gør det - det er intet problem, men rent funktionsmæssigt at få skrevet det rigtige eller trykket det rigtige om man vil, det virker bare ikke for mig. Så jeg får intet resultat.
Avatar billede mugs Novice
31. oktober 2008 - 22:03 #7
Har du fået min db afsendt herfra Kl 21:51?
Der kan du se syntaksen. (Acc2000)
Avatar billede mugs Novice
31. oktober 2008 - 22:06 #8
I Acc 200 er syntaksen for et udtryk i en forespørgsel således:

Udtryk1: DLookUp("[FELT]";"TABEL";"[ID]=" & [ID])

Hvor FELT er det felt hvorfra du vil hente data, og TABEL er den tabel der indeholder data. ID er et unikke felt der skal eksistere i begge tabeller og naturligvis skal svare til værdierne i begge tabeller.
Avatar billede zalam Nybegynder
31. oktober 2008 - 23:17 #9
Det stemmer fint over ens med 2007.

Det forstår jeg også.

Men jeg kan ikke se hvordan jeg kan skrive et udtryk der SELV bestemmer hvilken takst det er som "turen" koster.

Det er (så vidt jeg husker) data for 400 ture. med forskellige KM tal.

Km tallene er som i beskrevet et til forskellige "takster".

Jeg kan bare ikke se hvordan jeg kan skrive et udtryk, som selv bestemmer taksten fx. hvis vi har 3 ture en med; 25 km en med 61 km og en med 98km.

Takstern er så:
0 - 30 km  50kr
31-64km 100kr
65-130km 130kr
Avatar billede Slettet bruger
01. november 2008 - 00:34 #10
Lav en forespørgsel:

SELECT DinTabel.Kunde, DinTabel.AntalKm, 50 AS Pris
FROM DinTabel
WHERE (((DinTabel.AntalKm) Between 0 And 30))
UNION SELECT DinTabel.Kunde, DinTabel.AntalKm, 100 AS Pris
FROM DinTabel
WHERE (((DinTabel.AntalKm) Between 31 And 64))
UNION SELECT DinTabel.Kunde, DinTabel.AntalKm, 130 AS Pris
FROM DinTabel
WHERE (((DinTabel.AntalKm) Between 65 And 130));
Avatar billede terry Ekspert
02. november 2008 - 10:51 #11
I have received a dB from zalam from another question. Also a mail where the question here is more specific.
"lav en tabel der viser hvad 1 ton Nonfood (tonage i tabellen udgifter) koster i transport til hver af byerne i postnummer tabellen."

So what zalam is actually after is how much it cost to transport X number of tones from A to B. Where B is a store in a town/city. So joins on other tables (not given here) are required.

What I suggest is make a query (qryFindPris) which can be used in other querires too.

SELECT Pnr.Postnr, Pnr.By, Pnr.Km, (SELECT Pris FROM PRIS P WHERE [Pnr]![Km] Between MinKm and MaxKm) AS KmPris
FROM Postnr AS Pnr;

Then make a query for solution to question I have received.

SELECT Udgifter.Forretningsnr, Udgifter.Måned, Udgifter.Tonage, Butikker.Postnr, qryFindPris.KmPris, [Tonage]*[KmPris] AS TotPris
FROM (Udgifter INNER JOIN Butikker ON Udgifter.Forretningsnr = Butikker.Forretningsnr) INNER JOIN qryFindPris ON Butikker.Postnr = qryFindPris.Postnr;

If the solution can be used you should also concider giving points to mugs/spg as I am sure parts of their answers could have helped in the question given here.
Avatar billede zalam Nybegynder
02. november 2008 - 11:08 #12
Det ser ud til at virke.

Mange tak for hjælpen. Hvis en af jer har lyst må I godt forklare, hvad det der query gør sådan mere præcist.
Avatar billede mugs Novice
02. november 2008 - 11:22 #13
En query (forespørgsel) laver et udtræk fra en eller flere tabeller. Når du har et sådant udtræk, kan du indsætte f.eks. kriterier, der begrænser antallet af poster.

Ligeledes kan du bruge f.els. Between, der begrænser posterne til en valgt periode.

Du kan lave beregninger som Terry har gjort her: [Tonage]*[KmPris] AS TotPris, hvor beregningen [Tonage]*[KmPris] bliver vist i udtrykket: TotPris.
Avatar billede terry Ekspert
02. november 2008 - 11:26 #14
the first query just finds the Km pris for each postnr (WHERE KM BETWEEN Min and max)

If you look at the next query in design view you can see it is necessary to JOIN  Butikker to find the Postnr for each Butik. Then with a JOIN on the first query to find the KM/Pris to the PostNr. And then [Tonage]*[KmPris] to giv eyou the total pris.
Avatar billede zalam Nybegynder
02. november 2008 - 11:35 #15
doh..

Dvs. det er en alm forespørgsel, hvor jeg bruger between og beregner priserne i intervallet. - Hmm det jo super logisk, når man ser det gjort.
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