Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: lisa1992 am Mai 11, 2016, 16:10:09

Titel: Laufende Summen/Laufende Nummern
Beitrag von: lisa1992 am Mai 11, 2016, 16:10:09
Hallo,

ich muss mich derzeit in Access einarbeiten und habe noch nicht allzu viel Erfahrung, daher hoffe ich, ihr erfahrenen Hasen könnt mir weiter helfen ;-)

Ich habe in einer Abfrage eine Spalte mit eindeutiger ID und einer Menge. Dabei kommen Mengen mehrfach vor. Nun möchte ich eine neue fortlaufende Nummer erstellen, nachdem die Daten nach der größe der Menge sortiert wurden. Bei Gleichheit der Menge soll die eindeutige ID die Reihenfolge bestimmen. Die fortlaufende Nummer soll ohne Doppelte vergabe und Lücke entstehen.

Mein Ansatz:
LaufNummer: DomAnzahl("Id";"Abfrage";"Menge<" & [Menge])+1

Dabei entstehen aber doppelte und Lücken.

Kann mir jmd weiterhelfen?

Liebe Grüße
Lisa

Titel: Re: Laufende Summen/Laufende Nummern
Beitrag von: DF6GL am Mai 11, 2016, 16:46:09
Hallo,

erkläre bitte zunächst den Sinn des Unterfangens...
Titel: Re: Laufende Summen/Laufende Nummern
Beitrag von: Beaker s.a. am Mai 11, 2016, 21:39:15
Hallo Lisa,
Standardantwort auf deine Frage:
Schau hier: http://www.donkarl.com?FAQ3.11 (http://www.donkarl.com?FAQ3.11)
Wobei Franz' Frage vielleicht auch nicht unbeantwortet bleiben sollte.
gruss ekkehard
Titel: Re: Laufende Summen/Laufende Nummern
Beitrag von: lisa1992 am Mai 12, 2016, 07:51:03
@Beaker: Danke, aber da habe ich ja meinen Lösungsansatz her. Aber ich komme damit eben nicht weiter.

@DF6GL: Ich möchte danach die Mengenanteile an der Gesamtmenge Kumulieren. Dabei müssen die Mengen aber der Größe nach Sortiert sein.

Liebe Grüße
Lisa
Titel: Re: Laufende Summen/Laufende Nummern
Beitrag von: ebs17 am Mai 12, 2016, 08:51:33
Für eine Sortierung benötigt man keine laufende Nummer:
ORDER BY Menge DESC, ID

Für eine laufende Summe in einer Abfrage benötigt man keine eingestellte Sortierung, weil in Abfragen Reihenfolgen allermeist nicht verwendet werden und daher überflüssig sind.

Wenn es gleiche Mengen gibt, brauchst Du mindestens ein zweites Kriterium zur Unterscheidung, die ID wäre da geeignet, ist aber auch etwas willkürlich.
Zum Vergleich müsste dann aus Menge und ID ein Kunstwert erzeugt werden, dessen Berechnung man aus den vorhandenen Werten von Menge und ID ableiten müsste.
Beispiel:
LaufSumme: DomSumme("Menge";"Abfrage";"Menge + ID / 10000 <" & [Menge] * [ID] / 10000)

Titel: Re: Laufende Summen/Laufende Nummern
Beitrag von: DF6GL am Mai 12, 2016, 08:53:44
Hallo,
Zitat
Ich möchte danach die Mengenanteile an der Gesamtmenge Kumulieren. Dabei müssen die Mengen aber der Größe nach Sortiert sein.


Das musst Du näher erklären.  Bei einer Summierung ist es völlig egal, wie die Reihenfolge der Summanden ist.


Selbst wenn die Mengen nach Größe  sortiert werden müssen (??)  , dann könnte gleich der Mengenwert sortiert werden. Dafür ist kein zusätzliches Kennzeichen erforderlich.
Titel: Re: Laufende Summen/Laufende Nummern
Beitrag von: lisa1992 am Mai 12, 2016, 11:37:01
Zitat von: DF6GL am Mai 12, 2016, 08:53:44

Das musst Du näher erklären.  Bei einer Summierung ist es völlig egal, wie die Reihenfolge der Summanden ist.


Selbst wenn die Mengen nach Größe  sortiert werden müssen (??)  , dann könnte gleich der Mengenwert sortiert werden. Dafür ist kein zusätzliches Kennzeichen erforderlich.


Beim Summieren ist die Reihenfolge egal, aber nicht beim Kumulieren.
Wenn ich dann die Prozentualen Mengenanteile der Größe nach habe, kann ich dann sagen:
Alle bis 80% sind A Teile, alle bis 95% B Teile und so weiter.

Ohne zusätzliche Kennzeichen ist doch aber die Reihenfolge über die Menge nicht eindeutig gegeben oder?

Zitat von: ebs17 am Mai 12, 2016, 08:51:33

LaufSumme: DomSumme("Menge";"Abfrage";"Menge + ID / 10000 <" & [Menge] * [ID] / 10000)


Mit diesem Code komm ich der Sache glaube ich schon recht Nahe. Allerdings kommt beim Ausführen folgender Fehler: syntaxfehler (komma) in abfrageausdruck ";"Menge + ID / 10000 <" & [Menge] * [ID] / 10000)

Was bedeudet dies? Habe Versucht mit dieser Str-Funktion das Problem zu beheben: Ergebnis: Fehlermeldung weg, aber im Ausgabefeld steht einfach nur noch Fehler :-(
Titel: Re: Laufende Summen/Laufende Nummern
Beitrag von: ebs17 am Mai 12, 2016, 12:26:50
Korrekt, durch die Berechnung entsteht eine Dezimalzahl, und die muss im Kriterium mit Str behandelt werden:
... & Str([Menge] * [ID] / 10000))
Titel: Re: Laufende Summen/Laufende Nummern
Beitrag von: lisa1992 am Mai 13, 2016, 08:01:22
Danke Eberhard! Habe es nun hinbekommen.  :D
Allerdings braucht der Rechner seine Zeit, dabei sind es gerade mal 800 Datensätze.  :-\

Liebe Grüße

Lisa
Titel: Re: Laufende Summen/Laufende Nummern
Beitrag von: MaggieMay am Mai 17, 2016, 09:03:21
Hallo,

versuche es mal mit dieser Variante:
LaufSumme: DomSumme("Menge";"Abfrage";"Menge < " & [Menge] & " OR Menge = " & [Menge] & " AND ID < " & [ID])