Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Klaus S. aus B am Oktober 23, 2012, 15:16:55

Titel: Text in Abfrage zusammenfassen
Beitrag von: Klaus S. aus B am Oktober 23, 2012, 15:16:55
Hallo zusammen,

ich habe folgende (ähnliche) Tabelle


NameSchulungModul bestanden
MüllerGrundkursModul 1
MüllerGrundkursModul 2
MüllerGrundkursModul 3
MaierGrundkursModul 1
MaierGrundkursModul 3

Für einen Bericht will ich jetzt eine Abfrage erstellen, bei der ich die Ergebnisse zusammenfassen möchte. Das Ergebnis soll also folgendermaßen aussehen:

Müller    Grundkurs    Modul1, Modul2, Modul3
Maier     Grundkurs    Modul1, Modul3

Geht das? Und wenn ja, wie?

Gruß
Klaus
Titel: Re: Text in Abfrage zusammenfassen
Beitrag von: DF6GL am Oktober 23, 2012, 16:50:48
Hallo,

siehe:

http://www.dbwiki.net/wiki/VBA_Tipp:_Liste_per_SQL_aufbauen
Titel: Re: Text in Abfrage zusammenfassen
Beitrag von: oma am Oktober 23, 2012, 18:43:21
Hallo Klaus

die Abfage kannst du so gestalten:

SELECT NachName, Schulung, ZP([NachName]) AS Zeile
FROM DeineTabelle
GROUP BY NachName, Schulung


Die benötigte Funktion ZP kopiere in ein beliebiges Moduzl deiner DB:

Public Function ZP(Feld As String) As String
strSQL = "SELECT NachName, Schulung, Modul_Bestanden FROM DeineTabelle WHERE Nachname ='" & Feld & "'" & " ORDER BY Nachname"
Set rs = DBEngine(0)(0).OpenRecordset(strSQL)

   Do While rs.EOF = False
       ZP = ZP & "  " & rs!Modul_Bestanden
       rs.MoveNext
  Loop

End Function


Gruß Oma
Titel: Re: Text in Abfrage zusammenfassen
Beitrag von: Klaus S. aus B am Oktober 24, 2012, 12:23:44
Hallo Oma,

Super, hat perfekt geklappt.

...kann man in die Sammel-Zeile einen Seitenumbruch einbauen?

Gruß
Klaus
Titel: Re: Text in Abfrage zusammenfassen
Beitrag von: MzKlMu am Oktober 24, 2012, 12:27:16
Hallo,
Zitat...kann man in die Sammel-Zeile einen Seitenumbruch einbauen?
nach wie vielen Einträgen?
Du müsstest einen Zähler einbauen der die Einträge zählt und dann Chr(13) und Chr(10) addieren (&).
Titel: Re: Text in Abfrage zusammenfassen
Beitrag von: Klaus S. aus B am Oktober 24, 2012, 13:54:49
Sorry,

ich meinte natürlich einen Zeilenumbruch.

Es sieht im Schulungs-Zertifikat hübscher aus, wenn die einzelnen Schulungen je in einer Zeile stehen.

Gruß
klaus
Titel: Re: Text in Abfrage zusammenfassen
Beitrag von: MzKlMu am Oktober 24, 2012, 14:14:25
Hallo,
dann ist das Vorhaben eh überlüssig. Du willst es dann so darstellen, wie Du es schon hast, denn in der Tabelle stehen die Module ja untereinander.
Wenn Du den Bericht nach den Namen gruppierts, hast Du automatisch die Darstellung die Du jetzt per Code erreichen willst.

Der gruppierte Bericht würde dann so  aussehen:

Müller    Grundkurs    
............Modul1
............Modul2
............Modul3
Maier     Grundkurs    
............Modul1
............Modul3

Ganz automatisch.

PS:
Chr(13) und Chr(10) ist ein Zeilenumbruch.
Titel: Re: Text in Abfrage zusammenfassen
Beitrag von: oma am Oktober 24, 2012, 15:12:14
Hallo Klaus,

mit:  
ZitatZP = ZP & "  " & rs!Modul_Bestanden & Chr(13) & Chr(10)

in der Funktion hättest du dein gewünschtes Ergebnis.
Allerdings ist das dann ein Witz, weil die Funktion die Werte aus einer Spalte in eine Zeile schreibt u. dann wieder mit einem Zeilenumbruch versieht.

Du brauchst also keine solche Funktion, sondern mache, wie schon beschrieben,  eine gruppierte Ausgabe im Bericht  !

Gruß Oma
Titel: Re: Text in Abfrage zusammenfassen
Beitrag von: Klaus S. aus B am Oktober 24, 2012, 16:10:18
...Ihr habt natürlich Recht.
Das war ein krasser Denkfehler von mir. :-[

Aber was Ihr mir gezeigt habt, kann ich anderweiteig gut gebrauchen.

Vielen Dank!