Acc2013 - Inhalt aus mehreren Spalten/Zeilen zusammenfassen (Access)

Wispergen @, Montag, 02.03.2020, 17:24 (vor 84 Tagen)

Ich habe eine Abfrage mit div.Feldern
ET Find Ergebnis
30 (H71/18/34)
30 (S70/30/31/32)
25 (D44/22/21/20/12)
25 (SE77/22/21/34)
25 us.w.
34
34
34
38
u.s.w.
Ich möchte den Eintrag für die jeweilige gleiche ET Gruppe so zusammengefasst haben:
Die Anzeige sollte dann so aussehen:

ET Find Ergebnis
30 (H71/18/34) (S70/30/31/32)
25 (D44/22/21/20/12) (SE77/22/21/34)
u.s.w.

Die Spalte Find muss auch nicht mehr angezeigt werden (Haken raus )

Kann mir Jemand helfen ?
Bitte mit dem kompletten Code

Acc2013 - Inhalt aus mehreren Spalten/Zeilen zusammenfassen

Martin Asal @, Dienstag, 03.03.2020, 09:39 (vor 83 Tagen) @ Wispergen

Hallo Wispergen,

nur so am Rande: Als ich mir dein Beispiel angesehen habe, war mein erster Eindruck, dass deine Tabelle möglicherweise gegen die 1. Normalform verstoßen könnte.

Jedenfalls dürfte das nicht ohne weiteres so machbar sein, wie du dir das vorstellst. Falls du nicht zu viele unterschiedliche Texte im Feld "Find" hast, könnte eine Kreuztabellenabfrage eine Lösung sein, wobei es da natürlich viele leere Felder pro Datensatz geben würde.

Eine andere Lösung, die eher deinem gewünschten Ergebnis entspräche, wäre per VBA umsetzbar: Zuerst erstellst du eine Abfrage, die sich nur auf das Feld ET bezieht:

SELECT ET FROM Tabelle GROUP BY ET;

Diese Abfrage öffnest du per VBA, gehst die Recordsets in einer Schleife durch, um jeweils "ET" als Bedingung zu erhalten. Innerhalb dieser Schleife öffnest du jeweils folgende weitere Abfrage:

SELECT Find FROM Tabelle WHERE ET = ...

Auch da gehst du mit einer inneren Schleife durch und hängst den jeweiligen "Find" an einen String an, den zu zu guter Letzt ausgibst.

Aber wie gesagt, das ist etwas aufwendiger - und falls du von Anfang an vielleicht falsch normalisiert hast, geht es insgesamt ohnehin anders einfacher.

Martin

RSS-Feed dieser Diskussion
powered by my little forum