Avatar billede jjjakobsen Mester
10. juni 2002 - 10:53 Der er 17 kommentarer og
1 løsning

Beregning

Kan man i Access trække to tal fra hinanden i een kolonne, og derefter trække to tal fra hinanden i en anden kolonne, for så til sidst at dividere det første resultat med det sidste?
Avatar billede jjjakobsen Mester
10. juni 2002 - 10:56 #1
Ved ar registrere sekunder stigende i een kolonne, og i en anden kolonne registrere hvor mange meter en sæl dykker, kan man ved at trække sekunderne fra hinanden og dividere antal meter trukket fra hinanden, finde ud af dykke hastighed.
Simpelt i Excel, men i Access?
Avatar billede terry Ekspert
10. juni 2002 - 11:09 #2
You can make a query if you just want to show the information.
10. juni 2002 - 11:53 #3
Hvis du har en tabel, som hedder "DinTabel" og felterne A, B, C og D, så skal din SQL-sætning se således ud:

Select [A]-[B] as Tæller, [C]-[D] as Nævner, [Tæller]/[Nævner] as Resultat From [DinTabel]

Dette indsætter du ved at vælge menuen Vis->SQL visning, når du står i en forespørgsel.
Avatar billede nih Novice
10. juni 2002 - 11:54 #4
Lav beregningen i formularen eller raporten.
Alt efter din tabel struktur, kan det være en fordel at lave mellemberegninger i en forespørgsel.

Niels
Avatar billede nih Novice
10. juni 2002 - 11:55 #5
Thomas, du er et par minutter foran mig idag :o)
10. juni 2002 - 11:57 #6
Sorry ;o)
Jeg havde ellers ventet en times tid på dig. Men jeg syntes at det var synd for jjjakobsen at han ikke fik noget svar ;o)
Avatar billede nih Novice
10. juni 2002 - 11:59 #7
Det er bare 'sjovt' at hver gang jeg poster et indlæg, har du lige været der.
Det er jo heller ikke helt samme svar.
10. juni 2002 - 12:24 #8
Hvis der kun er 2 kolonner, hvordan helt præcist vil du så have dem trukket fra hinanden? Du kan jo ikke trække dem fra hinanden 2 gange og derefter dividere resultat med hinanden, da det vel altid vil give 1 ??
Avatar billede nih Novice
10. juni 2002 - 12:26 #9
SELECT (max([felt1]) - min([felt1]))/(max([felt2]) - min([felt2]))
FROM dintabel

Niels
Avatar billede jjjakobsen Mester
10. juni 2002 - 12:27 #10
Jeg har kun to kolonner.
Een med sekunder stigende, og een delt op i meter.
De to tal divideret med hinanden vil give hastigheden hvormed en sæl dykker.
Avatar billede nih Novice
10. juni 2002 - 12:29 #11
hvorfor duer mit løsningsforslag ikke
Avatar billede hansk Nybegynder
10. juni 2002 - 12:30 #12
Problemet er vel at du skal finde ud af hvilke 2 rækker du vil beregne på.
Når du har bestemt dette kan du foretage beregningen som følger:

SELECT (Max(sekunder)-Min(sekunder)) / (Max(meter)-Min(meter)) FROM Tabel WHERE kriterie(som vælger to poster)
Avatar billede nih Novice
10. juni 2002 - 12:34 #13
eller der 'mangler' et tredje felt at gruppere på.

SELECT (max([felt1]) - min([felt1]))/(max([felt2]) - min([felt2]))
FROM dintabel
group by [dykketur]
Avatar billede nih Novice
10. juni 2002 - 12:36 #14
dykketur er 3. kollone, hvor de 2 tider/afstande der hører sammen, har samme unikke nummer.
Avatar billede jjjakobsen Mester
10. juni 2002 - 14:11 #15
Jeg har et sekund felt og et meter felt.
Sekund feltet stiger med 1. sekund, og meter feltet stiger med 5 meter
Jeg skal fortløbende ned gennem de to felter trække tallene fra det foregående og dividere med det sidste fra meter-feltet.
Ud fra det kan jeg beregne en kurve der viser sælens acceleration.
Avatar billede jjjakobsen Mester
10. juni 2002 - 14:37 #16
Undskyld jeg ikke er præcis, men jeg skal hele tiden ned gennem felterne trække den post fra der liger ovenover og så dividere.
Den næste post vil jo hele tiden være større, og skal trækkes fra den foregående, og bagefter dividres de to resultater fortløbende.
Avatar billede hansk Nybegynder
10. juni 2002 - 15:47 #17
Med almindelig SQL kan du kun lave operationer på rækkeniveau. Når du nu skal til at blande værdierne fra de enkelte rækker, kan du ikke umiddelbart gøre dette, du vil blive nødt til at føre foregående rækkes værdier ned på næste række. Det kan du så gøre i en opdateringsrutine. Du skriver ikke noget om at du har en nøgle på tabellen? Hvordan kender du rækkefølgen af opservationer?

Du vil formentlig have gavn af at behandle rækkerne i et recordset, hvor du kan bevæge dig frem og tilbage og opdatere på tværs af rækker. Men du bliver nødt til at udvide tabellen med kolonner for foregående rækkes observationer.
Avatar billede jjjakobsen Mester
08. juni 2011 - 07:34 #18
ok
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