online 1
gast (50)

/ Forum / Datenbanken

DatenbankenDatenbanken

Fragevon HansWeigl vom 14.07.2022, 09:49 Options

Gruppierung und Anzeigen der letzten 5 Herstellungen in einer Access Abfrage

Hallo zusammen,

habe folgende Anforderung die ich nicht hinbekomme:

Meine Tabelle tbl_Artikel hat zwei Spalten.
Spalte 1 : Artikelnummer (Zahl 6 stellig)
Spalte 2 : Herstelldatum (rollierend jetzt() - 364 Tage)

Da die Artikel unterschiedlich oft hergestellt werden, hab ich pro Artikelnummer zwischen 2 und 15 Zeilen.

Ich möchte aber immer nur bis maximal fünf der (absteigend) letzten Herstellungen anzeigen lassen.

In Excel ist dieses kleine Problem sehr schnell mit einer Wenn Dann Funktion gelöst aber in Access bekomm ich es nicht hin.

Könnt ihr mir helfen?

Danke

Hans


Antwort schreiben

Antwort 1 von Paul1 vom 19.07.2022, 05:30 Options

Hallo Hans!


Auf den ersten Blick scheint die Lösung Deiner Frage ein Kinderspiel zu sein (Volksschulniveau) aber wenn man sich damit beschäftigt kommen einige Stolpersteine hinzu.
Dass dieses Problem nicht leicht in die Kiste zu bekommen ist, kann ich mir locker vorstellen.
Acces als Datenbankprogramm hat starre Strukturen, denen man sich leider anpassen muss.
Soweit ich es verstanden habe sind die Spalten „Artikelnummer“ und „Herstelldatum“ in einer Tabelle untergebracht.
Von Artikelnummer zu Artikelnummer sind max. 15 Zeilen für die Herstellungen freizulassen, was selbst für Excel mit den Standardformeln nicht leicht lösbar ist die „letzten!“ 5 Herstellungen herauszufiltern und anzuzeigen (außer vielleicht mit VBA).

Als Alternative sehe ich die Gruppierung mittels eines Berichtes (mit Assistenten erstellen, empfehlenswert) nach Artikelnummern allerdings mit den kompletten Herstellungen pro Artikel (was ich für das kleinere Problem halten würde).

Bei Recherchen im Internet entdeckte ich einen Link (ist wahrscheinlich für diese Applikation gar nicht brauchbar, zumal es nicht ins Konzept passt), aber vielleicht irgendein Anhaltspunkt wie es gehen könnte.

VBA

Leider kann ich keine klare und eindeutige Lösung anbieten.

Zusammenfassend würde ich meinen, dass für die Lösung dieser relativ schwierigen Aufgabe ein maßgeschneidertes Sonderprogramm eines Spezialisten erforderlich wäre.


mfg

Paul1

Antwort 2 von HansWeigl vom 19.07.2022, 13:55 Options

Hallo Paul1,

Danke für Deine Antwort.

Ich bin jetzt bei der "Sortierung" ((Select Count (*) FROM [tbl_Artikel] as X WHERE [X].[Bezeichnung] < [tbl_Artikel].[Bezeichnung])+1)

angekommen, die leider auch nur einen Teil meiner Anforderung erschlägt, denn die Artikel bekommen keine unterschiedliche Sortierung innerhalb der Gruppe.

Aber vielleicht geht es mit der Funktion "Top 5".

In Ecel ist es wirklich sehr leicht mit der Funktion ( wenn A2=A1 dann C1+1 ansonsten 1) Und schon werden die gleichen Artikelnummern innerhalb der Gruppe durchnummeriert und bei Änderung der Artikelnummer fängts wieder bei 1 an.

Mal schauen. Hoffte auf eine einfache Lösung und werde es wohl doch irgendwie in VBA machen müssen

Danke

Hans

Antwort 3 von Marie vom 20.07.2022, 00:13 Options

Zitat:
Ich bin jetzt bei der "Sortierung" ((Select Count (*) FROM [tbl_Artikel] as X WHERE [X].[Bezeichnung] < [tbl_Artikel].[Bezeichnung])+1)

angekommen, die leider auch nur einen Teil meiner Anforderung erschlägt, denn die Artikel bekommen keine unterschiedliche Sortierung innerhalb der Gruppe.

Aber vielleicht geht es mit der Funktion "Top 5".

In Ecel ist es wirklich sehr leicht mit der Funktion ( wenn A2=A1 dann C1+1 ansonsten 1) Und schon werden die gleichen Artikelnummern innerhalb der Gruppe durchnummeriert und bei Änderung der Artikelnummer fängts wieder bei 1 an.


Ich könnte Dir vermutlich weiterhelfen, wenn ich deine Frage kapieren würde. Im ersten Posting schreibst Du
Zitat:
Meine Tabelle tbl_Artikel hat zwei Spalten.
Spalte 1 : Artikelnummer (Zahl 6 stellig)
Spalte 2 : Herstelldatum (rollierend jetzt() - 364 Tage)

und jetzt schreibst Du
Zitat:
Ich bin jetzt bei der "Sortierung" ((Select Count (*) FROM [tbl_Artikel] as X WHERE [X].[Bezeichnung] < [tbl_Artikel].[Bezeichnung])+1)

angekommen


In Access kannst Du genauso eine Wenn.. dann Abfrage einbauen, aber um die Dir zu generieren müsste ich mal durchblicken. Was ist denn nun
[tbl_Artikel].[Bezeichnung], wenn deine tabelle Artikel nur zwei Spalten namens Artikelnummer und Herstelldatum hat??

Gruß marie

Antwort 4 von HansWeigl vom 20.07.2022, 11:44 Options

Hallo Marie,

DANKE für Deine Antwort und ganz ehrlich hab ich es auch jetzt erst gerade verstanden.

Ich habe eine Tabelle namens Test
Hier gibt es die Spalte "Artikel" und die Spalte Herstelldatum
Pro Artikel gibt es manchmal fünf Zeilen (bzw. fünf verschiedene Herstelldatums) und manchmal zehn, manchmal zwei.

Ich will die Zeilen durchnummerieren, damit ich immer nur 5 Herstelldatum pro Artikel anzeige. Sprich immer wenn sich die Artikelnummer ändert sollte wieder bei 1 zum zählen angefangen werden, damit ich dann in dieser Spalte sagen kann : <6

So.... und nach der ganzen Hilfe hier hab ich jetzt noch ein ID Feld (Autowert) eingebaut und mit folgender Formel funktioniert es jetzt auch

GrupNum: (Select Count (*) FROM [Test] as X WHERE [X].[ID]<[TEST].[ID] and [X].[Artikel] = [Test].[Artikel] )+1

ICH DANKE EUCH ........
ICH BIN GERADE der GLÜCKLICHSTE MENSCH auf Erden :-)))))))

Juhuuuuuuu

Danke

Hans

Antwort 5 von HansWeigl vom 21.07.2022, 12:37 Options

ergänzende Info am 21.07:

So, methodisch funktioniert alles perfekt ABER es ist brutal langsam. Ich denke, dass ist von der Datenmenge abhängig und ich verarbeite sehr, sehr viele davon.

Das wollte ich nur zur Info weitergeben

Gruß

Hans

Ähnliche Themen

Access Abfrage 5-Minuten Intervalle
HilfeHilfe  10.05.2009 - 410 Hits - 11 Antworten

[Abfrage] Nur Werte mit dem jüngsten Datum anzeigen
hans_99  11.06.2009 - 324 Hits - 6 Antworten

Access Abfrage: Gruppierung mit 2 Kriterien
Kaete  08.01.2010 - 344 Hits - 2 Antworten

Abfrage in MS Access
Flixe84  28.01.2010 - 274 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026