05. oktober 2001 - 13:58Der er
13 kommentarer og 1 løsning
koble tabeller ved hjelp av bergnede felter
Kan noen forklare meg hvorden jeg kan koble to tabeller i ACCESS, når det ene feltet er et beregnet felt? Tidligere benyttet jeg Lotus Approach, der var det enkelt å koble to tabeller, selv når det ene feltet var et beregnet felt. Håper på snarlig svar. øyvind
I den ene tabellen registreres lengde, bredde og dybde på flater. Det beregnede feltet skal ha forskjellig verdi avhengig av hvor stor overflaten er og på hvilken dybde den ligger. Registreringstabellen skal kobles til en pristabell. Pristabellen har forskjellige poster der både m2 og dybde varierer.
Hvis jeg kan benytte et beregnet felt til å finne riktig postnr. sparer jeg mye tid. Jeg registrerer bare lengde, bredde og dybde. ACCESS finner automatisk riktig postnr og pris
Hvis den beregnede overflade altid svarer til værdier i pristabellen, er der ikke de store problemer, men hvis overfladeberegningen f.eks. kan give 4,87 og der i pristabellen kun er værdier for 4 og 5, er det lidt sværere. Hvilket er tilfældet?
Du kan godt koble forespørgsler med tabeller i vinduet relationer. Du har et beregnet felt i en forespørgsel - så kan du få forespørgslen vist i vinduet relationer, hvor du kan joine feltet til andre tabeller/forespørgsler.
>nih Man kan kun joine felterne, hvis værdierne er ens. Det er derfor jeg er interesseret i om de beregnede værdier altid svarer til dem der findes i pristabellen, eller man skal interpolere.
oyejo> As jens-peter says, does the calculated m2 always exist in the price table? Also what about the depth. Are there a number of records with the same m2 but differnt depth\'s in the price table.
You are going to have to give use more information.
This may help give you some ideas!
In a query you can call a function with paramters and return a price, if thats what your after.
You make a function in a module for example.
Function GetPrice( length as Double, Width as Double, Depth as Double) as Double
Dim ThePrice as Double
\'Then you can use Dlookup etc. to get the correct values to calculate your price (ThePrice)
Den interessante er Q_res: SELECT Q_Areal.areal, Min(tbl_Priser.Areal) AS ØversteInterval, Min(tbl_Priser.Pris) AS pris FROM Q_Areal INNER JOIN tbl_Priser ON Q_Areal.areal <= tbl_Priser.Areal GROUP BY Q_Areal.areal;
som du kan se kan man godt joine \'<=\' istedetfor \'=\'
SELECT Q_Areal.areal, Max(tbl_Priser.Areal) AS mindsteInterval, Max(tbl_Priser.Pris) AS pris FROM Q_Areal INNER JOIN tbl_Priser ON Q_Areal.areal >= tbl_Priser.Areal GROUP BY Q_Areal.areal;
Ja, du har selvfølgelig ret, hvis man kan runde det beregnede areal op til nærmeste areal, der er angivet i pristabellen.
Interpolere betyder at man beregner en værdi mellem to kendte punkter. Hvis man f.eks. ved at areal på 4 m2 koster 100kr og areal på 5 m2 koster 200 kr, så kan man beregne prisen for et vilkårligt areal mellem 4 og 5 m2 ved at antage, at der er en lineær sammenhæng. Dvs. 4,25 m2 koster 125 kr. etc.
Hei og tusen takk for alle de flotte svarene jeg har fått fra Terry, Jens-Peter og Niels. Jeg kan ikke så mye om access, men etter å ha lest Deres svar har jeg funnet ut om moduler, funksjoner og forespørsler. Jeg fikk det faktisk til å fungere!!!
Jeg bruket svaret fra både Niels og Terry. Jeg lager en funksjon i en modul. Denne funksjonen benytter jeg i en spørring.
For å svare på noen av spørsmålene, så er både overflatene og dybdene delt inn i intervaler, slik at i pristabellen er det bare noen få verdier.
Jeg laget derfor en funksjon som tok inn lengde, bredde og dybde, for så få ut en kode som jeg benyttet til koblingen. Jeg benyttet en Select Case setning.
mvh øyvind
Ps. Dette er første gang jeg benytter Eksperten og jeg er imponert over hvor lett det var å få svar. Men jeg rotet litt når jeg skulle akseptere poengene, slik at de kun gikk til Niels. Hva kan jeg gjøre for å gi poeng til Terry og Jens Peter også?
Uansett jeg kommer tilbake med flere spørsmå, blandt annet om hva Dlookup er?
takker for points - Men jeg mangler dem nu ikke. Jeg har rigligt til en bunke spørgsmål. ;)
Jeg lader Thomas, Terry og andre kæmpe om pladcering på top 10.
Niels
Synes godt om
Ny brugerNybegynder
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.