Neuigkeiten:

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

Mobiles Hauptmenü

Access-Tabelle als Excel-Datei exportieren mit Sortierung der Datenfelder

Begonnen von alleswirdgut, März 06, 2024, 11:58:52

⏪ vorheriges - nächstes ⏩

alleswirdgut

Hallo an alle!

Folgende Ausgangssituation:
Es ist eine Access-Tabelle vorhanden, die Artikel mit Artikelnummer und Artikelbezeichnung beinhaltet. Zusätzlich wird in jeder neuen Kalenderwoche (KW) per VBA ein Feld mit den in dieser KW gültigen Preisen hinzugefügt. Die Feldnamen für die KW-Werte sind immer nach dem Schema JJJJ_WW aufgebaut, also z.B. 2024_09 für die 9. KW im Jahr 2024. Diese Tabelle wird wöchentlich als Excel-Datei exportiert.

Problem:
Was ich nicht hinbekomme ist, dass die Spalten mit den KWs absteigend hintereinander erscheinen, damit die aktuellste KW immer vorne steht, also die Excel-Datei so aussieht:

Artikelnummer  -  Artikelbezeichnung  -  2024_09  -  2024_08  -  2024_07  - ...
    4711            -        Monitor              -    149,99    -    154,00    -  155,00  - ...
    0815            -        Notebook            -    799,00    -    799,00    -  814,00  - ...

Schon jetzt herzlichen Dank für Eure Mühen.

Beaker s.a.

Hallo,

Access ist nicht Excel! Schau dir die Links bei den Regulars an.

In Access haben Tabellen eine feste Breite (Anzahl Felder, nicht Spalten).
Deine Spalten müssen Datensätze (Zeilen in Excel) sein.
Du brauchst neben deiner Artikeltabelle eine Tabelle mit Preis, Datum und
einem Fremdschlüsselfeld für die ArtikelID.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

alleswirdgut

Hallo ekkehard,

das ist mir schon klar, dass Access nicht Excel ist. :)

Wie gesagt, bei der Aufgabenstellung funktioniert alles, wie es soll.
Lediglich die Reihenfolge der KW-Datenfelder soll in der exportierten Excel-Datei (da sind es dann Spalten) nach Spaltenname absteigend sortiert werden.
Als "Hilfskonstruktion" hatte ich mir überlegt, in Access beim Export per VBA eine Tabelle für den Export anzulegen, die die Felder in der richtigen Reihenfolge anlegt und dann mit den Daten aus der Ursprungstabelle befüllt. Das funktioniert ebenfalls, wird aber, je mehr KWs irgendwann angelegt sind, relativ langsam werden.
Um dieses Hilfskonstrukt zu umgehen, da bräuchte ich ne Idee.

ebs17

ZitatZusätzlich wird in jeder neuen Kalenderwoche (KW) per VBA ein Feld mit den in dieser KW gültigen Preisen hinzugefügt.
Das ist datenbanksystemisch falsch. Ein Datum als Spalte oder, wenn Du nur wöchentlich erfasst, die Woche als Feld und fertig.

Die gezeigte Ansicht kann dann als Kreuztabellenabfrage erzeugt und auch so exportiert werden. Allerdings werden diese Pivotspalten stets aufsteigend sortiert.
Abhilfe könnte man hier schaffen, indem man fixierte Spalten verwendet und da die Auflistung vorgibt:
...
PIVOT Woche IN ("2024_09", "2024_08", "2024_07", "2024_06")
Diesen Abfragenanteil kannst Du per Hand ergänzen, selbstredend auch über VBA beeinflussen.


Zitatals Excel-Datei exportiert
Pivot-Tabellen in Excel bieten einiges mehr an Komfort und individueller Gestaltung. Da könnte es auch genügen, nur die Datentabelle zu exportieren und die Pivotdarstellung der internen Excelfunktionalität zu überlassen.
Mit freundlichem Glück Auf!

Eberhard