PDA

Vollständige Version anzeigen : HELP HELP


Michael-Az
12.06.2001, 06:55
Hallo und guten Morgen,

ich hab einfach keine Idee mehr für folgendes Problem(chen):

Aus folgender Tabelle

Gruppe Land
1 A
1 CH
2 B
2 A
3 I
3 B

benötige ich diese zusammengefasste Tabelle

Gruppe Variable
1 A,CH
2 B,A
3 I,B

Gibt es eine Möglichkeit über eine Abfrage so etwas zu realisiern.
Wenn das Feld Land ein numerischer Wert wäre könnte man das über die Funktion Summe machen. Aber leider- Land ist nun mal Alpha und muß zusammengestringt werden.

WER KANN MIR HELFEN???

A.S.
12.06.2001, 08:06
Hallo Michael,

folgende SQL stelle in die SQL-Entwurfsansicht einer neuen Abfrage (Anpassen der Feld- und Tabellenbezeichnungen nicht vergessen).

SELECT Tabelle2.ID as ID, Min(Tabelle2.Land) & IIF(Not Max(Tabelle2.Land) = Min(Tabelle2.Land),", " & Max(Tabelle2.Land),"") As LandComp FROM Tabelle2 Group By Tabelle2.ID;

Diese gibt Dir das benötigte aus, solange die Prämise Gültigkeit hat, das nur 2 Landesschlüssel pro ID vorhanden sind.

HTH

Arno

Michael-Az
12.06.2001, 08:34
Hallo Arno,
viele Dank für Deinen Tip. Der Länderschlüssel kann aber n-mal vorkommen pro ID.
Hast Du da auch eine Idee wie das zu lösen ist?

A.S.
12.06.2001, 08:57
(A97)

Dim db as database
dim tb1 as recordset
dim tb2 as recordset
dim lngGruWe as Long
set db = currentdb
set tb1 = db.openrecordset("SELECT Quelle.* FROM Quelle ORDER BY Quelle.ID, Quelle.Land;",dbopendynaset)
set tb2 = db.openrecordset("Ziel", dbopentable)
lngGruwe = 0
tb1.movefirst
while not tb1.eof
if lnggruwe ne tb1("id") then
if not lnggruwe = 0 then
tb2.update
endif
tb2.addnew
tb2("ID") = tb1("ID")
lnggruwe = tb1("ID")
endif
tb2("Land") = tb2("Land") & iif(not isnull(tb2("Land");", ";"") & trim(tb1("Land"))
tb1.movenext
wend
tb1.close
set tb1 =nothing
tb2.close
set tb2 = nothing
set db =nothing

Eine zweite Tabelle als Zieltabelle hinsetzen mit der gleichen Struktur, ausser das Dein Land-Feld natürlich wesentlich mehr Zeichen fassen können muß.

Sollte so laufen ;) Da nicht geprüft, geb ich auf Rechtschreibfehler (bzw. Syntax-Fehler) nichts ;)

Gruß

Arno