3k Aufrufe
Gefragt in Datenbanken von
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

5 Antworten

0 Punkte
Beantwortet von
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
0 Punkte
Beantwortet von
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
0 Punkte
Beantwortet von marie Experte (2k Punkte)
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
Meine Tabelle tbl_Artikel hat zwei Spalten.
Spalte 1 : Artikelnummer (Zahl 6 stellig)
Spalte 2 : Herstelldatum (rollierend jetzt() - 364 Tage)

und jetzt schreibst Du
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
0 Punkte
Beantwortet von
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
0 Punkte
Beantwortet von
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
...