Datensatz steht auf welcher Seite vom Bericht?

Hallo Gurus,

WIN XP, Access 2002 bzw. 2003

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.

Danke und LG
Michael

Hallo,

blöd nicht, aber recht unverständlich…

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()

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo,

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.

LG
Michael

Hallo,

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.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo,

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

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo Michael,

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.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo,

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

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!