Dezember 07, 2021, 14:16:17

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Spitzenwerte ermitteln

Begonnen von Antonn, Oktober 13, 2021, 17:01:25

⏪ vorheriges - nächstes ⏩

Antonn

Oktober 13, 2021, 17:01:25 Letzte Bearbeitung: Oktober 13, 2021, 17:15:31 von Antonn
Moin,
habe ein Problem, kann jemand mir da weiterhelfen?
Ich habe so eine Tabellenaufbau.

Artikelnummer
A001 0001
bis
A001 1500
A002 0001
bis
A002 0704
A003 0001
bis
A003 0140

Die Zeile mit "bis" sollte nur eine Erleichterung sein, die Tabelle zu verstehen.

Ich möchte nur die Spitzenwerte (also die letzten Werte aller Gruppen).
Das sind Gruppe A001, A002, usw.

zb.
A001 1496
A001 1497
A001 1498
A001 1499
A001 1500

A002 0700
A002 0701
A002 0702
A002 0703
A002 0704

DF6GL

Hallo,


die Beschreibung und das Beispiel ist nicht verständlich.


Wenn Du den Max-Wert einer jeden Artikelgruppe meinst, dann etwa so:

Select Artikelnummer, Max(clng(Feld1)) As MaxWert From tblTablle1 Group by Artikelnummer

PhilS

Zitat von: Antonn am Oktober 13, 2021, 17:01:25
Artikelnummer
A001 0001
[...]
Ich möchte nur die Spitzenwerte (also die letzten Werte aller Gruppen).
Das sind Gruppe A001, A002, usw.
Ich glaube dein Problem ist hier, dass du Gruppe und Nummer, die zusammen die ganze Artikelnummer bilden, in einen Feld gespeichert hast. Wenn diese beiden Daten atomar in zwei Feldern gespeichert wären, wäre die Abfrage kinderleicht.

SELECT
   Gruppe,
   MAX(Nummer) AS HöchsteNummer
FROM deineTabelle
GROUP BY Gruppe

Bei deinem bestehenden Tabellendesign musst du dir Gruppe und Nummer mit Stringfunktionen (Left + Mid) erstmal herauspopeln, bevor du sie in einer Abfrage verwenden kannst.

Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!

Antonn

Hallo Phils,

ich habe mit Links([Artikelnummer];4) und Teil([Artikelnummer];6)
eine neue (temporäre)Tabelle "tblNeu" erstellt.

mit
SELECT tblNeu.Gruppe, Max(tblNeu.Nummer) AS MaxvonNummer
FROM tblNeu
GROUP BY tblNeu.Gruppe;

Erhalte ich den letzten Eintrag je Gruppe.
Ich wollte die letzten fünf haben.


markus888

Welche Datenbank verwendest du?
Mit Access kann man da beim Improsieren nur zwischen Pest und Cholera wählen.
10 Jahre Access