Avatar billede nopper Praktikant
09. februar 2010 - 10:08 Der er 11 kommentarer og
1 løsning

Finde gennemsnit i spil

Jeg er igang med at lave en databse i Access 2007. Jeg skal have udregnet gennemsnit for hver spiller, over et vist antal runder. Hvordan gør jeg lige det?. Jer er newbie indenfor access.

Runde_1 + Runde_2 = Total. Ca 25 gange. Runder med nul må ikke tælles med

Skal jeg lave beregninger i en formular eller en forespørgsel?
09. februar 2010 - 11:19 #1
Jeg gaar ud fra denne tabel:
Spiller Ronde Resultat
Spiller1 1  6
Spiller1 2  5
Spiller1 3 
Spiller1 4  3
Spiller2 1
Spiller2 2
Spiller2 3  5
Spiller2 4  6

Hvis du saa laver en  query i SQL mode saa giver denne kode det resultat du spoerger om:

SELECT Spiller, AVG(Resultat)
FROM nopper
WHERE Resultat IS NOT NULL
GROUP BY Spiller
Avatar billede nopper Praktikant
09. februar 2010 - 11:53 #2
Jeg er lidt ude på herrens mark. jeg newbie, så dette er lidt sort snak for mig. Laver du sql i en Forespørgsel eller formular.
query i SQL mode er det Udtryksgenerator.
09. februar 2010 - 13:10 #3
Nu er det mig der er lidt paa herrens mark fordi min Access (2007) er paa Hollandsk (jeg bor i Belgien) hvor alle navne er anderledes, saa jeg ved ikke hvad "forespoergsel" og "udtryksgenerator" er.  "Formular" kan jeg genkende, men den bruger jeg ikke.  Lad mig beskrive:

Paa den oeverste del af skaermen (hedder Ribbon paa engelsk, Lint paa hollandsk) er der en vandret menu med fem items som jeg frit oversaetter til Start, Lave, Externe data, hjaelpemidler for databaser, og udvikle.  Naar jeg trykker paa Lave faar jeg mulighed for at lave tabeller, formularer, rapporter, og Ovrige.  Under oevrige er der Query.  Naar jeg trykker paa Query faar jeg en liste med tabeller og under den en side med to dele, den oeverste tom, den underste en tabel hvor man grafisk kan lave queries.  Jeg lukker listen med tabeller og paa den oeverste del klikker jeg med den hojre mus-knap og saa vaelger jeg SQL-gengivelse.  I den side jeg saa faar er der allerede indfyldt "SELECT;"  Det er der jeg placerer min SQL kode.  Naar jeg saa udfoerer querien, enten ved at trykke paa det roede udraabstegn eller ved at vaelge dataark-gengivelse faar jeg saa tabellen der for hver spiller viser gennemsnitlige resultater (der ikke regner nuller med.)

Jeg haaber du har kunnet foelge mig.  Ellers sig til.  Jeg beklager at jeg har maattet vaere saa omstaendelig.
Avatar billede nopper Praktikant
09. februar 2010 - 15:04 #4
Jeg har fundet query sql, men din løsning virker ikke, nok fordi resultat er lavet i en forespøgsel.

Jeg arbelder med følgende data:

medlem_id - runde_1 - runde_2  = Total


Total skal konverters til gennmesnit.
Indskrivningen foregår efter hver runde.
Gennemsnit skal beregne efter hvor mange point den enkelte har i løbet af ca 30 spille aftener.
09. februar 2010 - 19:37 #5
Saa er jeg med igen.  Jeg er saa daarlig til at gaette og jeg har allerede gaettet forkert, saa jeg har behov for mere konkrete oplysninger for at komme videre. 

Siger du at et medlem laver to runder, for points/tid/?? for hver runde og det er summen af de to der taeller?  Ligesom for eksempel slalom hvor man skier to straekninger og laegger tiden sammen?  Og det goer man gentagne (for eksempel 30) gange, og det vil du have gennemsnittet af?

Hvor slaar du resultaterne op?  I en Access tabel med tre kolonner, medlem_id, ronde1 resultat, og ronde2 resultat?  (Der er ingen grund til at slaa totalen og andre beregnede vaerdier op i en database.)  Giv mig navnet paa tabellen og lav en lille opstilling der viser navnene paa kolonnerne og saa 5-6 raekker af realistiske eksempler paa data?

Og hvordan vil du saa gerne have resultatet presenteret?  I en tabel med to kolonner, medlem_id og gennemsnit?  Plus en eller flere ekstra kolonner der identificerer tidsrummet saasom gennemsnit for januar 2010?  Lav en opstilling for hvordan du gerne vil have resultatet.

Bruger du Access 2007 eller ??
Avatar billede nopper Praktikant
10. februar 2010 - 08:42 #6
Jeg vil give dig en henvisning, så kan du bedre følge mig.
Resutatet fra en ugentlig spilleaften kan du se her:
http://toftlundskatklub.dk/
Gennesnit kan du se her: http://www.toftlundskatklub.dk/index.php?page=arets-gennemsnit-og-stilling-i-klubturnering.

Alle sæsonens resultater her.:http://www.toftlundskatklub.dk/index.php?page=Resultater-i-klubturnering.

Jeg bruger access 2007 og jeg er ved at lave en database, hvor jeg kan indskrive resultaterne løbene og udtrække gennemsnit løbende.
Jeg arbejder med to tabeller en medlemstabel og en spileaften tabel.
jeg håber dette er forklaring nok.
11. februar 2010 - 14:44 #7
nopper, jeg har ikke glemt dig.  Jeg havde bare prioritetskonflikter.

Jeg har kikket paa toftelundskatklub.  Det gav lidt mere indblik.  At doemme efter billederne har i det hyggeligt, og en forening der i vore dage kan udkonkurere fjernsyn o.s.v. og samle godt 40 mennesker uge efter uge maa goere noget rigtigt.  Det kraever ogsaa noget arbejde saa som at holde rede paa spilleresultater og poste dem paa websiden.  Og det vil du selvfoelgelig gerne automatisere, og det er Access et egnet redskab til.

Du siger at du har to tabeller, en medlemstabel og en spilleaftentabel.  Jeg vil, efter at have taenkt over det, anbefale tre tabeller, en medlemstabel, en spilleaftentabel/ronde hvor du kun registrerer hvilke ronder klubben har spillet men ikke resultater, og saa en tredje tabel der refererer til medlems- og til ronde tabellerne og som registrerer resultater per medlem per ronde.  Paa denne maade bliver data-strukturen saakaldt normaliseret hvilket giver dig mulighed for at traekke resultaterne ud paa alle maader du maatte have behov for, ogsaa paa maader du ikke har taenkt paa endnu.  Jeg tillod mig at proeve det af og lavede en lille database med tre tabeller, spiller:tabel, ronde:tabel, og resultater:tabel, og jeg fyldte resultaterne i fra 1 februar og 8 februar.  Du kan kikke paa den her, og du er velkommen til at tage hvad du kan bruge. 

http://christianjorgensen.be/nopper.accdb

Ved hjaelp af tabellerne lavede jeg en formular, resultatform, som viser alle resultater indenfor det tidsrum tabellerne daekker.  Paa samme maade kan du for eksempel lave en formularer der daekker de 7 hoejeste i en enkelt spilleronde og eksportere den til et format du kan indsaette paa hjemmesiden.  Saa har jeg lavet en forespoergsel, gennemsnitsquery, der viser det gennemsnitlige resultat for hver spiller for den periode tabellerne daekker.  Saaledes kan du holde oeje med hvordan det udvikler sig i aarets loeb.  Saadan en forespoergsel kan ogsaa laves for resultaterne mellem to datoer, saasom indenfor et kalenderaar.

I min version gik jeg ud fra at et medlem faar points for hver spillet ronde, ogsaa selv om medlemmet en spilleaften kun naar at faa spillet en enkelt ronde, for eksempel fordi bilen ikke ville starte og han kommer for sent.  Eller hvis der en spilleaften efter en ronde er spillet og registreret saa spraenger et vandroer eller andet drastisk saa man den aften ikke naar at spille ronde to.  Hvis det er forkert og et medlem kun faar points for precis to ronder paa en aften saa er det nemt at tilpasse.

Jeg haaaber det maa vaere til nytte i dit forehavende at autmatisere bevarelse og brug af resultaterne.
Avatar billede nopper Praktikant
11. februar 2010 - 18:11 #8
Jeg kikker på det imorgen. Der er min fødselsdag idag.
11. februar 2010 - 19:17 #9
Til lykke!
Avatar billede nopper Praktikant
12. februar 2010 - 10:57 #10
Jeg takker for den database du har lavet. Jeg finder den anvendelig, men den skal modificeres inden brug.
Jeg har nu fået den løsning jeg søgte efter.
Smid et svar. Du har ærligt fortjent pointene.
12. februar 2010 - 15:35 #11
Hensigten med databasen var at den maaske kunne tjene til inspiration, ikke at den kunne anvendes direkte (det har jeg lavet den for hurtigt og med for lidt viden om dine behov til og ioevrigt var det ikke spoergsmaalet).
Avatar billede nopper Praktikant
12. februar 2010 - 16:07 #12
Jeg er udmærket tilfreds med den database du har lavet.
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