=ColumnHistory([Datensatzquelle];"Bemerkung";"[ID]=" & Nz([ID];0))
Starten Sie den Bericht in der Druckvorschau und schnüffeln Sie in der »Vergangenheit« herum:
Abbildung 4.11 Auflisten der Änderungen eines Feldes mit History-Funktion
Eine Liste der Anlagen drucken
Mit Access 2007 wird auch die Möglichkeit eingeführt, Bilder, Dokumente etc. als Anlage in einer Tabelle
zu speichern. Da jedoch auch mehrere Anlagen pro Feld verwaltet werden können, ist es sicher interessant,
die Liste der enthaltenen Anlagen zu ermitteln.
Variante 1 (Gruppierung)
Den Zugriff auf den Inhalt des Anlagefeldes erhalten Sie über ein geschachteltes Recordset (quasi die Detail-
datensätze). Dieses wird auch in der Liste der verfügbaren Datenfelder angezeigt und kann für die Gestal-
tung des Reports genutzt werden:
Abbildung 4.12 Ansicht der Feldliste bei vorhandenem
Anlage-Feld (MeineAnlagen)
Ziehen Sie einfach das Feld FileName in den Detailbereich des Berichts und Sie erhalten eine Liste aller
Anlagen. Allerdings wird in diesem Fall der übergeordnete Datensatz mehrfach aufgelistet.
Um dies zu verhindern, gruppieren Sie die Daten einfach nach der ID des übergeordneten Datensatzes bzw.
eines anderen Feldes.
213
Neue Features des Report-Objekts
BEISPIEL
Kapitel 4: Berichte
Abbildung 4.13 Beispiel: Gruppierung
nach dem Feld Beschreibung
Der resultierende Bericht:
Abbildung 4.14 Druckvorschau
Variante 2 (VBA)
Wollen oder können Sie die Daten nicht gruppieren, bleibt Ihnen noch der Weg über ein zusätzliches
Recordset. Mit diesem können Sie direkt auf die einzelnen Einträge des Anlage-Feldes zugreifen, wie es das
folgende kleine Beispiel beschreibt.
Auslesen der Anlage-Feld-Details
Option Explicit
Ein extra Recordset definieren:
Private rst As Recordset
Das Recordset wird mit dem Öffnen des Reports initialisiert (gleiche Daten wie der Report):
Private Sub Report_Open(Cancel As Integer)
Set rst = CurrentDb().OpenRecordset("Anlagen", dbOpenTable)
rst.Index = "PrimaryKey"
End Sub
214

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.