PDA

Vollständige Version anzeigen : Report Frage


DanyLux
17.02.2003, 13:19
Hallo

Ich wollte wissen op es geht in einem Report den Rang eines Schueler anzugeben mit seinen Punkte z.b. so:
der Report ist ein "Continus" d.h. Die Punkten ist immer nur ein Feld dtPunkte.

22 7
50 2
36 4
18 8
55 1
36 4
32 6
37 3

wenn dies nicht geht dann kann es auch so sein:

22 7
50 2
36 4
18 8
55 1
36 5
32 6
37 3

Ich hoffe ihr koennt mir weiter helfen danke

Arne Dieckmann
17.02.2003, 13:30
Spricht irgendetwas dagegen, den Bericht nach der Punktzahl zu sortieren/gruppieren? Anschliessend könnte man den Rang leichter mittels einer laufenden Nummer erstellen (s. FAQ 5.16 (http://www.donkarl.com/AccessFAQ.htm?/FAQ/FAQ5Berichte.htm))

Aquarii
17.02.2003, 13:32
Hallo Dany.

wie Du zumindest die zweite Möglichkeit (gleiche Punktzahl, aber schlechterer Platzziffer) realisieren kannst, findest du hier:

http://www.donkarl.com/ Tipp 3.11

P.S.: den Langsamen bestraft das Leben :p
Gruß an Arne

DanyLux
17.02.2003, 13:40
.. ich das nicht wie es funktionieren soll ich hab das gemacht aber er zaehlt immer nur die zahlen zusammen???
oder hab ich es falsch verstanden

Nouba
17.02.2003, 13:48
Hallo Dany,

erstelle ein neues ungebundenes Textsteuerelement im Bericht. Gebe diesem Feld den Steuerelementeinhalt =1. Die Eigenschaft laufende Summe ist auf über Alles oder über Gruppe einzustellen. Wenn die Sortierung richtig eingestellt ist, sollten die Ränge stimmen.

DanyLux
17.02.2003, 13:51
... oder ich machs falsch so soll es aussehen:

Aquarii
17.02.2003, 13:58
Hallo Dannx,

wie Nouba oben schreibt, muß die Sortierung stimmen .

Die aufsteigende Zahl beginnt dann eben bei 1 und endet am letzten Rang!

DanyLux
17.02.2003, 14:00
das heisst so wie ich es will funktioniert es nicht oder???

Aquarii
17.02.2003, 14:03
Hallo Dany,

unterliegt denn die von Dir gewünschte Reihenfolge auch einer Sortierung (nach einem Feld, welches man hier nicht sieht)?

DanyLux
17.02.2003, 14:07
Ja sie werden nach dem namen der Schueler sortiert :))
koennte es deswegen nicht funktionieren sonst zeige ich euch den designView des Report

Nouba
17.02.2003, 14:10
Hallo Dany,

man könnte die Ränge in der Abfrage für den Bericht mittels Unterabfrage erstellen. Dazu müßte man aber die Abfrage/Tabellen-Felder wissen, die berücksichtigt werden. Gruppierst Du über Schüler oder stehen die Schüler in derselben Zeile wie die Werte? Am besten postest Du mal die komplette Abfrage des Berichts.

Aquarii
17.02.2003, 14:11
Hallo Dany,

dann mach doch folgendes:

Erstelle eine Abfrage auf der Basis von http://www.donkarl.com/ Tipp 3.11,
Sortierung aufsteigend nach Rangplätzen und Hinzufügen der Platznummer.

Beim Ausdrucken bzw. Erstellen des Berichtes änderst Du die Reihenfolge wieder sortiert nach Schülern.

A.S.
17.02.2003, 14:11
Da ich annehmen, das Du diese Funktionalität mehrfach benötigen wirst, wird das ganze ein wenig kompliziert, aber so machbar:

1. Erstelle eine neue Tabelle - nennen wir sie mal tblPlatzMaster: PlatzID -> Autowert; PunktWert: Zahl(LongInteger)

2. Bei der Bewertung der Teilnehmer kopierst Du diese per DoCmd.CopyObject (siehe AccessHilfe) auf eine zweite Tabelle (damit ein "frischer" AutoWert vorhanden ist!), welche Du vorher per DoCmd.DeleteObject löschst - nennen wir sie mal tblPlatzWork.

3. In einer Gruppierungsabfrage gruppierst Du die Punktzahlen und läßt diese Absteigend sortieren.

4. In einer Anfügeabfrage fügst Du die Punktgruppen aus Schritt 3 an die Tabelle tblPlatzWork an

Die Schritte 3. und 4. lassen sich evtl. miteinander Kombinieren, ist mir jetzt aber zu müßig ;)

5. Nun erweiterst Du die bestehende Auswahlabfrage für den Bericht (oder erstellst eine als Datengrundlage) um die soeben neu geschaffene Tabelle tblPlatzWork und machst eine Gleichheitsverknüpfung auf die Punktzahlen zwischen der Teilnehmertabelle und der tblPlatzwork. Als zusätzliches Feld nimmst Du die Platznummer auf.

Du solltest nun in Deinem Bericht die Platzierung und die Punkte in der gewünschten Weise dargestellt bekommen.

Gruß

Arno

A.S.
17.02.2003, 14:12
PS Das löschen & kopieren der Tabelle und die Gruppierungs-/Anfügeabfrage muß vor dem öffnen des Berichts erfolgen.

DanyLux
17.02.2003, 14:15
..jetzt bin ich voll verwirrt muss mal alles lesen :)
ich zeig euch mal den design des Report

DanyLux
17.02.2003, 14:18
P.S. der M.Final Wert ist ausgerechnet und wird niergend wo gespeichert

A.S.
17.02.2003, 14:20
Dann wirst Du Ihn - um meine Lösung adäquat umsetzen zu können - in einer vorgeschalteten Auswahlabfrage mit Summierung bilden müssen, welche Du anschließend in der Datengrundlage zum Report nochmals verwenden mußt.

Gruß

Arno

Nouba
17.02.2003, 14:24
Hallo Dany,

während Du den letzten Beitrag verfaßt hast, habe ich mal eine einfache Abfrage erstellt, die einen rang ausgibt. Wie ich erst jetzt sehe, wird MFinal berechnet. Wie sieht die Berechnung aus? Das Berechnen könnte vermutlich auch in der Abfrage durchgeführt werden.

<pre><font face="Courier New, Courier, monospace" size="3">SELECT<br> S.Schueler<br>, S.MTotal<br>, (SELECT<br> COUNT(*)<br> FROM Schueler<br> WHERE MTotal &lt; S.MTotal) +1 AS Rang<br>FROM Schueler AS S<br>ORDER BY S.Schueler</font></pre>

DanyLux
17.02.2003, 14:26
oh jetzt wird es zu kompliziert.
ich als kleiner student glaub dass ich es dann lieber fallen lasse aber vielen Dnk fuer eure Geduld und Hilfe