PDA

Vollständige Version anzeigen : Texte in mehreren Zeilen gruppiert zusammenfassen


O-Schreiner
21.09.2001, 15:56
Hallo liebe Access-Mitstreiter :)

ich hab wieder mal ein ziemlich blödes Problem und zwar folgendes:

Ich habe eine Datenbank (übernommen aus DOS-Zeiten) dort stehen Texte drin die sich über mehrere Zeilen (also über mehrere Datensätze) erstrecken.

Beispiel:

Schlüssel, LfdNr, Text
abc, 1, "erster"
abc, 2, "zweiter"
abc, 3, "dritter"
xxx, 1, "auch erster"
xxx, 2, "auch zweiter"
xxx, 3, "auch dritter"

Ich hätte diese einzelnen Zeilen aber gerne innerhalb eines einzigen Feldes (die laufende Nummer darf dann natürlich auch wegbrechen) Ich stelle mir das dann wie folgt vor:

Schlüssel, neuerText
abc, "erster zweiter dritter"
xxx, "auch erster auch zweiter auch dritter"

ich beiss mir hier allerdings die Zähne dran aus und komm nicht dahinter. :( Hat jemand von Euch eine Idee wie ich das via SQL oder VBA oder weiss der Himmel wie sonst noch hinbekommen kann?

Danke für's Nachdenken

Olly

holgii
21.09.2001, 16:43
Hallo Olly,

erstelle drei Auswahlabfragen:

qryLfdNr1 (...where lfdnr=1...)
qryLfdNr2 (...where lfdnr=2...)
qryLfdNr3 (...where lfdnr=3...)

Erstelle eine weitere Auswahlabfrage, verwende die zuvor erstellten Abfragen als "Tabellen", verknüpfe über den "Schlüssel".

Folgende Felder in den Abfrage-Entwurf klicken:

[qryLfdNr1].[Schlüssel], [qryLfdNr1].[Text],[qryLfdNr2].[Text], [qryLfdNr3].[Text]

Fertich

Gruß
holgii

O-Schreiner
21.09.2001, 18:05
Hallo Holgi *in Ehrfurcht das Haupt neigt* :D

vielen Dank! Man merkt halt doch wo die Cracks sitzen ! :D Ist zwar nicht ganz soooo elegant weil ich teilweise bis zur lfdNummer 999 haben könnte (zumindest theoretisch) aber fürs erste hast Du mir ne schlaflose Nacht erspart *freu*

Vielen Dank!

Olly

MarioR
21.09.2001, 18:13
Hallo Olly,

Du kannst auch noch was Anderes versuchen (wenn es nicht zu viele DS sind :) ).

Übertrage alles nach Excel. Dann ist Schlüssel in A, LfdNr in B und Text in C.
In Spalte D kommt dann folgende Formel:
=WENN(A2=A1;D1;"")&C2

Und in Spalte E schreibst Du die Formel:
=WENN(A2=A3;0;1)

Die Formeln schreibst Du in die erste Datenzeile und kopierst sie nach unten. Dann legst Du einen Autofilter drüber und wählst für Spalte E die 1 aus.
Jetzt kopierst Du die Spalten, die Du brauchst und fügst es in eine Acc-Tabelle wieder ein.

Scorefun
21.09.2001, 21:45
Kleiner VBA-Ansatz:

1 Recordset mit Quell-Datei
1 Recordset mit Zieldatei

- Feld "Schlüssel" in Variable speichern
- Schleife durch Datensätze ziehen
- Solange Recordset1!Schlüssel noch mit dem Wert der Variablen übereinstimmt String aus dem Feld "Text" zusammensetzen
ansonsten Variable mit neuem Schlüssel-feld belegen und bisherigen zusammengesetzten Text
in Recordset2 hinzufügen.

Falls Interesse, bastle ich Dir das zusammen