Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Abfragen gruppieren und pro Gruppierung eine laufende Nummer

679 views
Skip to first unread message

Dirk Pfeiffer

unread,
Apr 26, 2002, 5:23:38 AM4/26/02
to
Hallo zusammen,

ich möchte gerne eine Abfrage aufbauen, die folgendes Schema hat:

Gruppe Produkt Messwert laufende Nummer
1 1
1 2
1 3
1 4
2 1
2 2
2 3
2 4
2 5
3 1
3 2
3 3

Die Abfrage ist nach Gruppe (aufsteigend) und nach Messwert (absteigend)
sortiert. Daraus folgt, das Produkt mit dem höchsten Meßwert steht in seiner
Gruppe immer oben. Wie kann ich eine laufende Nummer pro Gruppierung
erzeugen, sodaß ich später z.B. abfragen kann: "Wie oft hat Produkt xy den
1. oder 2. Rang belegt?"


Schöne Grüße,

Dirk Pfeiffer


Markus Wenger

unread,
Apr 27, 2002, 9:02:58 AM4/27/02
to
Dirk Pfeiffer schrieb

"Dirk Pfeiffer" <dirk.p...@conti.de> schrieb im Newsbeitrag
news:aab6ac$5...@proxyserv1.conti.de...

Hallo Dirk
Habe eine Funktion geschrieben welche dir das Ergenis liefert und du in der
Abfrage einbauen kannst.
Erstelle ein Modul und kopiere diesen Text hinein:


Global gnGruppe As Long
Global gnLaufNr As Long

Public Function LaufNr(nGr As Long) As Long

If nGr <> gnGruppe Then ' Aktuelle Gruppe mit letzter vergleichen
gnGruppe = nGr ' Gruppennummer merken
gnLaufNr = 1 ' Erste Laufnummer in neuer Gruppe immer 1
LaufNr = gnLaufNr ' Laufnummer zurückgeben
Else
gnLaufNr = gnLaufNr + 1 ' Laufnummer plus 1 bei gleicher Gruppe
LaufNr = gnLaufNr ' Laufnummer zurückgeben
End If

End Function

Erstelle nun eine abfrage..

SELECT Tabelle1.Gruppe, Tabelle1.Produkt, Tabelle1.Messwert,
LaufNr([Gruppe]) AS LaufendeNummer
FROM Tabelle1
ORDER BY Tabelle1.Gruppe, Tabelle1.Messwert DESC
WITH OWNERACCESS OPTION;

und du erhälst Deine Laufende Nummer.

Gruss Markus


Dirk Pfeiffer

unread,
Apr 28, 2002, 11:16:47 AM4/28/02
to
Hallo Markus,

Danke, für die Prozedur, die Du geschrieben hast. Bei mir tritt aber ein
seltsames Phänomen auf, war das bei Dir auch?

Wenn ich in der Abfrage hin und her scrolle, dann verändert sich die
laufende Nummer! Wenn ich daraus einen Bericht erstelle ist allerdings alles
in Ordnung.

Schöne Grüße,

Dirk

Markus Wenger

unread,
Apr 29, 2002, 1:16:34 AM4/29/02
to
Hallo Dirk

Ja das stimmt, immer wenn ein Datensatz erneut angezeigt wird, so wird die
Prozedur erneut aufgerufen und es kommt zu diesem komischen Phänomen.
Vielleicht sollte man etwas anderes programmieren oder mit einer
Aktualisierungsabfrage die Daten (Laufende Nummer) in die Tabelle
hinenschreiben. Falls es dir aber mit dem Bericht reicht, so lassen wir es
sein.

Gruss Markus


"Dirk Pfeiffer" <pfeiff...@t-online.de> schrieb im Newsbeitrag
news:aah3ou$amv2h$1...@ID-67472.news.dfncis.de...

0 new messages