napperman
Goto Top

Access Abfrage Ausgabe einer Spalte in Zeile

Moin zusammen!

Mein Problem ist in der Überschrift schwer zu beschreiben. Deshalb hier der Langtext face-wink

Ich habe eine Abrage die folgendes Ergebnis liefert


Kontaktnummer | Kontakgruppe | email

0049 | VW | 1@1.de
0049 | Skoda | 1@1.de
0049 | Audi | 1@1.de
0049 | Autohaus | 1@1.de


Hinter der Nummer verbirgt sich eine Adresse, die 2 Spalte ist eine Zuordnung
Nun möchte ich nicht jede Adresse mehrmals angezeigt bekommen, sondern nach dem Muster

0049 VW, Skoda, Audi, Autohaus

wobei es mir relativ egal ist, ob die Kontakgruppe in einer Spalte mit Komma getrennt oder in weiteren Spalten steht.

Es wird nie mehr als 10 Zuordnungen geben.
Kreuztabelle habe ich schon probiert, da bekomme ich aber nur eine 1 rein wenn zuordnung besteht.

Ich brauche aber zwingend die Daten in Textform.
Hintergrund:
Ich muss es in ein anderes Programm importieren.
Dieses nimmt aber das Feld email als Erkennungsfeld, ob der Datensatz bereits besteht. Ich kann den also nicht mehrfach
anlegen, sondern muss die Kontaktgruppe in ein Feld oder in mehrere Felder verteilt importieren.


Hat jemand ne Idee wie ich das in Access 2003 realisiere?

Gruß,
Napperman

Content-ID: 158639

Url: https://administrator.de/contentid/158639

Ausgedruckt am: 25.11.2024 um 05:11 Uhr

thaenhusen
thaenhusen 14.01.2011 um 10:45:22 Uhr
Goto Top
Moin.

Eine Kreuztabelle ist der Richtige Weg, Du musst Dir nur auch bei Null Werten Gedankenmachen.

So ungefähr: WENN(Kontakgruppe is null; 0; Kontakgruppe)

Dann müsstest Du das eigentlich hinbekommen.

HTH
MK
napperman
napperman 17.01.2011 um 12:56:54 Uhr
Goto Top
Ich habe es mit einem Modul und einer Abfrage gelöst bekommen:

Public Function Zeile(Kontaktgruppenoberbegriff As String, Kontaktnummer As String) As String
Dim strSQL As String
Dim rs As DAO.Recordset

  strSQL = "SELECT Kontaktgruppenoberbegriff FROM Kontakte WHERE Kontaktnummer = '" & Kontaktnummer & "'"  
  Set rs = DBEngine(0)(0).OpenRecordset(strSQL)

  Do While rs.EOF = False
    Zeile = Zeile & ", " & rs!Kontaktgruppenoberbegriff  
    rs.MoveNext
  Loop

  Zeile = Mid(Zeile, 3)

rs.Close
Set rs = Nothing
End Function