16. september 2002 - 16:50Der er
38 kommentarer og 2 løsninger
Top 10 liste over bedste målscorere!
Jeg har ud fra nogle tabeller sammensat en forespørgsel, der ser sådan ud:
ID Navn Scoringer Øreniveau Måltype - - - - - - - - - - - - - - -
Nu vil jeg lave en rapport, der viser de 10 personer, der har scoret de fleste mål for hver måltype. Det vil med andre ord sige, at jeg vil lave en top 10 liste over målscorere for hver måltype. Der findes fire måltyper; Fod, Hånd, Hoved, Øre. Ved måltype Øre, vises posterne i Øreniveau. Resultatet burde se sådan ud:
Fod - Top 10 ID Navn Scoringer Måltype - - - - - - - -
Hånd - Top 10 ID Navn Scoringer Måltype - - - - - - - -
Hoved - Top 10 ID Navn Scoringer Måltype - - - - - - - -
Øre - Top 10 ID Navn Scoringer Niveau Måltype - - - - - - - - - -
Jeg kan sagtens lave en rapport, der viser alle spillere for hver måltype. Problemet er bare, at der vises alle spillere i databasen. Jeg skal kun have de 10 bedste målscorere. Er der nogle herinde, der bare har en idé om hvordan dette kunne løses? Alle idéer og forslag er velkomne.
Den SQL sætning som du bruger til at hente alle spillere ud af databasen med, prøv og indsæt TOP 10, så der f.eks. står SELECT TOP 10 * FROM spillere WHERE Måltype = Fod
Start pivottabel under DATA i Excell. Træk dataene direkte fra tabel eller forespørgsel i Access. Byg pivottabellen op som du ønsker. Højreklik over pivottabellen og vælg feltindstillingen. Under denne vælges avanceret. Der kan du vælge dine 10 øverste(bedste) eller nederste. Du finder ikke noget der snildere kan behandle ovenstående data, og det er smidig. Men har du ikke prøvet det før kan det da godt være du skal tænke lidt, men jeg tror du er kvik, og kan finde ud af det. hej.
snowball og mugs >> Jeg kan godt få top de 10 bedste scorere frem på en rapport. Det jeg skal have er, de 10 bedste målscorer fra hver måltype!
ingolf >> Det skal helst være sådan, at jeg ikke skal ekspotere data i et andet program. Kan man hente de 10 bedste spillere fra hver måltype ind i en rapport?
This is just an idea. Make an aggregate query, you do this by pressing the funny Z symbol from the menu. Then select the fields you want to group on, and sum the field scoring.
Then you will need to make a query for each of the Goal types (Øre, fod ...) These need to be TOP 10 queries as mugs explains. Now you have to make a UNION query to show all TOP 10 queries in one query. Hope that points you in the correct direction!
somaliomar: Det troede jeg også var meningen, men du vil åbenbart have alle Top 10 typer i samme rapport !? Nu er jeg ikke lige så stærk i Access men kan du så ikke bare lave 4 SQL sætninger !?
Du kan lave din forespørgsel med din Top10 sætning. Derefter åbner du forespørgslens designvindue. Tryk på Vis > Totaler på den menulinie. I designgitteret indsættes en ekstra række med Totaler. I feltet Måltype skal du i denne linie vælge Grupper Efter.
I databasevinduet vælger du fanen Rapport > Ny > Guiden Rapport. I opsummeringsindstillinger vælger du feltet Måltype.
You will be able to see how I do it when you get it back! I will also publish the answer here. Sending the dB will save me having to make the table and enter data, which may end up not being the same as your data which may result in me waisting time, which I dont want to do.
terry >> I know that but just give it an exampel how you want to do it. I'm just interested in how the syntaxt is made. Besides the size of the database is more than 10 MB :)
SELECT fod.Navn fodNavn, fod.Scoringer fodScoring, hoved.Navn hovedNavn, hoved.Scoringer hovedScoring FROM (SELECT TOP 10 Navn, Scoringer FROM tablename WHERE Måltype='Fod' ORDER BY Scoringer DESC) fod, (SELECT TOP 10 Navn, Scoringer FROM tablename WHERE Måltype='Hoved' ORDER BY Scoringer Desc) hoved
Ovenstående skulle hente navn og antal scoringer for henholdsvis fod og hoved. Du kan selvfølgelig selv tilføje flere "tabeller" for de andre måltyper.
SELECT Målscorer.Navn, Målscorer.Scoringer, Målscorer.Øreniveau FROM (SELECT TOP 10 Navn, Scoringer FROM Målscorer WHERE Måltype = 'Fod'), (SELECT TOP 10 Navn, Scoringer FROM Målscorer WHERE Måltype = 'Hoved') ORDER BY Scoringer Desc;
bispensgipsgebis >> Ved du hvad jeg har gjort galt her?
somaliomar > Nu lader det til, at du har valgt en anden løsning end min, og det er helt fint. Men hvis du ikke kender noget til Guiden Rapport, så gør dig selv en tjeneste og prøv mit forslag.
Jeg synes ofte, at objektet Rapporter en lidt overset i Access-sammenhæng. Specielt hvis der er numeriske felter i forespørgslen, kan Guiden Rapport virkelig give dig nogle statistikker, som det vil tage lang tid at indsætte i forespørgsler m.v. Og det tager kun et øjeblik at lave.
Jeg besvarede engeng et spørgsmål her på siden, hvor spørgeren ville eksportere til Excel, for at lave nogle statistikker og søjlediagram-mer. Det viste sig slet ikke at være nødvendigt. Access kunne sagtens klare det og mere til.
Prøv at eksperimentere lidt med det, og du vil blive forbavset. Prøv også med Guiden Diagram, der kan give virkelig flotte og informative diagrammer.
somaliomar > Du er også velkommen til at senden din tasbel til mig, så vil jeg senere iaften lave nogle eksempler på, hvad Access kan lave af beregninger og diagrammer ved hjælp af guiderne, som ikke kræver noget særlig kendskab til Access at bruge.
This is just for the "Øre" and "Fod" I am sure you can see how it works
SELECT TOP 10 Målscorer.Navn, Målscorer.Måltype, Målscorer.Scoringer FROM Målscorer GROUP BY Målscorer.Navn, Målscorer.Måltype, Målscorer.Scoringer HAVING (((Målscorer.Måltype)="Fod")) ORDER BY Målscorer.Måltype, Målscorer.Scoringer DESC UNION SELECT TOP 10 Målscorer.Navn, Målscorer.Måltype, Målscorer.Scoringer FROM Målscorer GROUP BY Målscorer.Navn, Målscorer.Måltype, Målscorer.Scoringer HAVING (((Målscorer.Måltype)="Øre")) ORDER BY Målscorer.Måltype, Målscorer.Scoringer DESC;
actually you doint need to group SELECT TOP 10 Målscorer.Navn, Målscorer.Måltype, Målscorer.Scoringer FROM Målscorer WHERE (((Målscorer.Måltype)="Fod")) ORDER BY Målscorer.Måltype, Målscorer.Scoringer DESC UNION SELECT TOP 10 Målscorer.Navn, Målscorer.Måltype, Målscorer.Scoringer FROM Målscorer WHERE (((Målscorer.Måltype)="Øre")) ORDER BY Målscorer.Måltype, Målscorer.Scoringer DESC;
SELECT TOP 10 Målscorer.Navn, Målscorer.Måltype, Målscorer.Scoringer, Øreniveau FROM Målscorer WHERE (((Målscorer.Måltype)="Fod")) ORDER BY Målscorer.Måltype, Målscorer.Scoringer DESC UNION SELECT TOP 10 Målscorer.Navn, Målscorer.Måltype, Målscorer.Scoringer, Øreniveau FROM Målscorer WHERE (((Målscorer.Måltype)="Øre")) ORDER BY Målscorer.Måltype, Målscorer.Scoringer DESC;
Then it would be easier if you displayed the fields like this Øre - Top 10 ID Navn Scoringer Måltype Niveau -- --- ----- ----- ------- -- --- ----- ----- -------
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.