ich habe einen Bericht von einer Abfrage erstellt der ein Index einer Personendatenbank ist. Aufgelistet sind Famileinname und Vorname. Nun möchte ich bei jedem Namen zusätzlich abbilden auf welcher Seite des eigenen Berichtes der Gesamten Datenbank dieser Datensatz steht. Hoffentlich hab ich das nicht zu blöd beschrieben.
Wenn Du die akt. Seitenzahl mit auf jeder Seite ausdrucken willst, dann schreib in den Steuerelementinhalt eines Textfeldes, das im Seitenfußbereich des Berichtes platziert ist, dieses hinein:
=Seite()
ich habs befürchtet also zumindest schwer verständlich.
Der gesamte Datensatz von Max Mustermann steht im Bericht °Gesamt° auf Seite x. Im Bericht °Index° steht links von Max Mustermann dass man den gesamten Datensatz im Bericht °Gesamt° auf Seite x findet.
mhmm, Access-Berichte sind keine Word-Dokumente, die eine „Index“-Funktion besitzen.
Als Workaround könnte dieses funktionieren:
Im der Druck-Ereignisprozedur des Detailbereiches eine Tabelle („tblIndex“) mit dem Primärschlüssel des DS und der akt. Seite (Me.Page) füllen. Im Berichtsfuß einen Unterbericht einfügen, der als Datenherkunft eine verknüpfte Abfrage über beide Tabellen erhält.
neben dem oben Gesagten reicht vielleicht auch, im Berichtsfuß ein ungebundenes Textfeld („txtIndex“, „Vergrößerbar“ auf „ja“) zu platzieren und etwa solchen Code zu benutzen:
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
Me!txtIndex = Me!txtIndex & Me.Page & „…“ & Me!Nachname & ", " & Me!Vorname & vbCrLf
End Sub
du möchtest also ein „Inhaltsverzeichnis“ erstellen.
Das wird von Access nicht unterstützt! D.h. du musst es selbst programmieren.
Es sollte so funktionieren:
leere Tabelle Report_Index erstellen
Im Report ein UFO (Unterformular) aus dieser Tabelle erstellen.
für jeden angezeigten Namen einen entsprechenden Eintrag in dieser Tabelle erstellen lassen (per VBA & SQL-Code).
da zur Laufzeit dieses UFO nicht aktualisiert wird, sollte man es in den Berichtsfuss platzieren, also ans Ende, weil erst dann sind ja alle Daten vollständig vorhanden.
wobei das auch nicht so einfach ist, weil auch ein U-Bericht im Berichtsfuß nicht nach dem Öffnen des HB’s „requeryed“ werden kann. Somit ist ein (im Hintergrund laufender, bzw, unbemerkter) „Vordruckvorgang“ nötig, um den Tabelleninhalt aufzubauen. Danach kann der Bericht normal geöffnet werden, wobei dann die Tabelle nicht nochmal gefüllt werden sollte/darf. Dafür könnte man z. B. einen Openargs-Parameter benutzen