Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Es gibt einige Möglichkeiten, den Zeilenvorschub bei der Ausgabe in Berichten zu steuern. Dazu gehört die Eigenschaft MoveLayout, die Sie in entsprechenden Ereignissen eines Berichts setzen können, um die Ausgabe des Detailbereichs zu steuern. Ein schönes Beispiel dazu ist die Ausgabe eines Monatskalenders, bei dem jeweils eine Zeile eine Woche abbildet und jede neue Woche in einer weiteren Zeile beginnt.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1706_BerichtsausgabeSteuern.accdb.
Vorbereitungen
Als Beispiel für die Eigenschaften eines Berichts, um mehrere Datensätze in einer Zeile anzuzeigen oder einen Zeilenvorschub zu bewirken, verwenden wir eine Tabelle namens tblDatumswerte. Diese soll im Feld Datumswert einige hundert Datumswerte enthalten, mit denen wir im Bericht komfortabel experimentieren können. Der Entwurf dieser Tabelle ist einfach gehalten und umfasst neben dem obligatorischen (und hier noch nicht einmal nötigen) Primärschlüsselfeld noch das Feld Datumswert (siehe Bild 1).
Bild 1: Entwurf der Datumstabelle
Diese Tabelle füllen wir mit der Prozedur DatumsangabenSchreiben, welche Sie im Modul mdlTools der Beispieldatenbank finden. Die Prozedur sieht wie in Listing 1 aus und durchläuft eine Schleife, in der jeweils ein Datensatz zur Tabelle hinzugefügt wird, bis 1.001 Datumsangaben in der Tabelle liegen. Die Schleife läuft über eine Datumsvariable namens datCurrent, der Startwert ist der 1.1.2017, der Endwert ist dieses Datum plus 1.000.
Public Sub DatumsangabenSchreiben() Dim db As DAO.Database Dim datCurrent As Date Dim datStart As Date Set db = CurrentDb datStart = "1.1.2017" db.Execute "DELETE * FROM tblDatumswerte", dbFailOnError For datCurrent = datStart To datStart + 1000 db.Execute "INSERT INTO tblDatumswerte(Datumswert) VALUES(" & Format(datCurrent, "\#yyyy\-mm\-dd\#") & ")", dbFailOnError Next datCurrent End Sub
Listing 1: Füllt die Tabelle tblDatumswerte mit 1.000 Datensätzen
Das Ergebnis sieht in der Tabelle wie in Bild 2 aus.
Bild 2: Gefüllte Datumstabelle
Datum im Bericht
Nun wollen wir den Bericht erstellen, für den wir vorerst die folgende Vorgabe festlegen wollen: Er soll in einer Zeile sieben Datumsangaben anzeigen und dann in der nächsten Zeile mit den Datumsangaben fortfahren. Um die Wochentage et cetera kümmern wir uns vorerst nicht.
Als Erstes legen wir einen neuen Bericht namens rptKalender an, dem wir als Datenherkunft die Tabelle tblDatumswerte hinzufügen. Dann ziehen Sie das Feld Datumswert aus der Feldliste in den Detailbereich des Berichtsentwurfs und entfernen das Bezeichnungsfeld dieses Steuerelements. Schieben Sie das Steuer-element dann nach ganz links oben. ändern Sie seine Größe so, dass es sieben Mal nebeneinander in den Bericht passt (siehe Bild 3).
Bild 3: Einfügen des Feldes zur Anzeige des Datums
Wenn Sie den Bericht nun in der Seitenansicht öffnen, werden die Datumswerte natürlich alle untereinander angezeigt (siehe Bild 4). Bevor wir dafür sorgen, dass sieben Datensätze je Zeile angezeigt werden, entfernen wir noch die alternierenden Hintergrundfarben und die Textrahmen. Stellen Sie dazu für den Detailbereich die Eigenschaft Alternative Hintergrundfarbe auf den gleichen Wert ein wie die Eigenschaft Hintergrundfarbe sowie die Eigenschaft Rahmenart des Textfeldes auf den Wert Transparent.
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo