Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Spalten auswerten und in neue Spalte schreiben

Begonnen von RunningManNetto, Oktober 19, 2018, 10:31:30

⏪ vorheriges - nächstes ⏩

RunningManNetto

Hallo liebe Forumsmitglieder,

ich komme nicht weiter bei einem Problem und hoffe hier finde ich ein wenig Hilfe.

Ich habe mehrere Spalten mit T-Shirt-Grössen und möchte diese gerne zusammenfassen in Spalte Gesamt für den Etikettendruck.

XS | S | M | L | XL | XXL | XXXL | Gesamt
1  |    |    |    | 2   |       |          | 1x XS / 2x XL

Wenn nichts drin steht sollte auch nichts erscheinen und wenn mehrere T-Shirts drin stehen, dann sollen sie mit einem Querstrich getrennt werden.

Ich hoffe es meldet sich jemand :-)

Gruss RunningManNetto

MzKlMu

#1
Hallo,
die Tabelle ist falsch aufgebaut.
Die Tabelle sollte so ausssehen:
Artikel  Größe    Menge
T-Shirt   XS        1
T-Shirt   XL        2

Wobei für Artikel und Größe nur deren Fremdschlüssel gespeichert wird.
Das heißt, auch für die Größen wird eine Tabelle benötigt.
Dann wird die Abfrage nur über Artikel und Größe gruppiert und die Menge summiert. Das in eine neue Spalte zu schreiben ist überflüssig.

Wie kommen eigentlich die Mengen in die Datenbank, manuell eingetragen ?

Die Umstrkturierung ist unbedingt erforderlich, sonst wirst Du nicht viel Freude haben, denn Du hast ja bestimmt auch noch andere Größen, z.B. für Schuhe, deutsche Größen usw.
Gruß Klaus

RunningManNetto

Hallo MzKlMu,

die Daten kommen bereits aus einer Datenbank (.csv) und gehören immer jeweils einen Teilnehmer pro Zeile.

NR | Name      |XS | S | M | L   | XL | XXL | XXXL | Gesamt
1  | Oldmann  |  1 |     |    |     | 2  |        |         | 1x XS / 2x XL
2  | Kört         | 1  |    |    |  1  |     |        |         | 1x XS / 1x L

Die anderen Informationen hatte ich ertmal weggelassen. Die Daten können bis zu 3000 Zeilen (Teilnehmer) enthalten.

Vielleicht ist dies besser zu verstehen.

Gruss RunningManNetto

MzKlMu

Hallo,
ich habe es vorher auch schon verstanden.
Du musst aus der CSV eine normaliserte Struktur herstellen, wie oben beschrieben.
Gruß Klaus

RunningManNetto

Hallo MzKlMu,

vielen Dank erstmal für Deine Hilfe. Da ich noch nicht so fit bin in Access, bräuchte ich ein wenig unterstütung bei der Umsetzung.

Muss ich das denn mit einem SQL Code umsetzen?

Gruss RunningManNetto

Lachtaube

Wenn das der alleinige Zweck ist, kann man Gesamt in einer SQL-Abfrage auch so erfassen.
SELECT Mid( Format(   XS, '" / "0" S"' )
          & Format(    S, '" / "0" S"' )
          & Format(    M, '" / "0" M"' )
          & Format(    L, '" / "0" L"' )
          & Format(   XL, '" / "0" XL"' )
          & Format(  XXL, '" / "0" XXL"' )
          & Format( XXXL, '" / "0" XXXL"' ), 3 ) AS Gesamt
FROM   DeineImporttabelle;
Für andere Operationen mit den Daten empfiehlt sich aber die von Klaus vorgeschlagene Struktur.
Grüße von der (⌒▽⌒)

RunningManNetto

Hallo Lachtaube,

vielen Dank erstmal für die Lösung. Habe auch gleich umgesetz :-). Wenn kein Wert in der Tabelle steht, dann darf auch nichts drin stehen - kein 0 S usw.

Wie soll das denn gehen?

Gruss RunningManNetto

Lachtaube

0 ist ein Wert, während hingegen Null kein Wert wäre. Durch Kriterien kann man in der Regel Werte einschränken, was aber bei den vielen Spalten schier unmöglich ist - in der Normalform wäre das nur eine einzige Bedingung.

Empfehlung: Ersetze in Aktualisierungsabfragen die 0 jeweils durch Null..
Grüße von der (⌒▽⌒)