Hallo Accesgemeinde,
folgender Fall:
in meinem Bericht habe ich den Berichtskopf, den Detailbereich und den Berichtsfuß (Dieser beginnt immer mit neuer Seite).
der Detailbereich variert je nach Datenmenge und auch der Berichtsfuss.
Da auch Zwischensummen (im Detailbereich) vorkommen, habe ich per VBA den Seitenkopf und Seitenfuss entsprechend ausgeblendet.
Das funktioniert so weit einwandfrei, solange der Berichtsfuß nur aus einer Seite besteht.
Wenn es mehr Seiten im Berichtsfuß sind, dann habe ich den Übertrag und die Zwischensumme im Berichtsfuß drin (das ist natürlich blöd >:().
Nun meine Frage:
Kann man per VBA ermitteln, auf welcher Seite der Berichtsfuß anfängt? Oder bedarf es da einer Modulfunktion?
Wenn ja, wie müsste der Code aussehen?
Gruß Hubert
Nachtrag:
Habe eine Lösung gefunden. Sogar mit wenig Code-Aufwand.
Hallo,
ZitatHabe eine Lösung gefunden. Sogar mit wenig Code-Aufwand.
die Lösung wäre sicherlich auch für andere mit derselben Fragestellung interessant.
Hallo MaggieMay,
ja da hast Du recht. Also ich habe es wie folgt gelöst:
Ich habe 2 Variable in den Berichtskopf gesetzt.
Option Compare Database
Option Explicit
Dim zaehler As Integer
Dim gezaehlt As Boolean
(schlagt mich jetzt nicht, weil ich "Dim zaehler As Integer "und "Dim gezaehlt As Boolean" und nicht "Dim intzaehler As Integer" und "Dim bolgezaehlt As Boolean" geschrieben habe. ;D)
Beim Ereigniss "Öffnen des Formulars"
Private Sub Report_Open(Cancel As Integer)
10 On Error GoTo Report_Open_Error
20 zaehler = 1
30 gezaehlt = False
60 On Error GoTo 0
70 Exit Sub
Report_Open_Error:
80 MsgBox ....
End Sub
Dann im Seitenfuss den Code:
Private Sub Seitenfußbereich_Format(Cancel As Integer, FormatCount As Integer)
10 On Error GoTo Seitenfußbereich_Format_Error
20 If gezaehlt = False Then
30 If Me!Zwischensumme = Me![Summe von LHA_Volum] Then
40 gezaehlt = True
50 Else
60 zaehler = zaehler + 1
70 End If
80 End If
90 Me.Uebertrag = Me.Zwischensumme
100 If Me.Page >= zaehler Then
110 Cancel = True
120 End If
130 On Error GoTo 0
140 Exit Sub
Seitenfußbereich_Format_Error:
150 MsgBox ".....
End Sub
und zuletzt noch im Seitenkopf:
Private Sub Seitenkopfbereich_Format(Cancel As Integer, FormatCount As Integer)
10 On Error GoTo Seitenkopfbereich_Format_Error
20 If Me.Page >= (zaehler + 1) Then
30 Cancel = True
40 End If
50 On Error GoTo 0
60 Exit Sub
Seitenkopfbereich_Format_Error:
70 MsgBox ".....
End Sub
Dann im Bericht--> Format-->Seitenkopf auf "Außer Berichtskopf", und
--> Seitenfuß auf " Außer Berichtsfuß" einstellen.
Das war´s
Hoffe ich habe nichts vergessen.
Gruß Hubert