Ich verwende den Code (etwas erweitert) zum Anzeigen folgender Sätze:
Dieses Blatt muss schnell und einfach gedruckt werden können. Die Dummy-Sätze enthalten u.a. nützliche Hilfslinien. ' Nur die erste Seite eines Berichts anzeigen/drucken. ' Datenherkunft ist eine Tabelle oder eine Abfrage. ' Es muss allerdings ein Feld mit aufsteigender laufender Nummer da sein: ' hier das Feld [LNr] !!! ' Beim ersten Formatieren des Detailbereichs wird der ERSTE Seite-2-Satz "rausgefischt". ' Die Nummer des LETZTEN Seite-1-Satzes ist damit bekannt. ' Bei nachfolgenden Formatierungen wird nur noch alles bis zum LETZTEN Seite-1-Satz dargestellt. ' Die "überflüssigen" Seite-2-Sätze werden unterdrückt/ ausgeblendet mittels ' der Methoden Me.MoveLayout und Me.PrintSection. ' 1. ---- Globale Variable in einem Modul deklarieren: ------------------------------------ Global NurSEITE_1 As Boolean ' Nur 1.Seite des Berichts anzeigen ' 2. ---- Variablen im Deklarionsbereich des Berichts-Moduls: ----------------------------- Dim iLNrLAST As Long ' 2015-09-16 Höchste LNr auf Seite 1 ' 3. ---- Evtl. "muss" dabei auch der Berichts-Fuss ausgeblendet werden: ------------------ Private Sub Berichtsfuß_Format(Cancel As Integer, FormatCount As Integer) If NurSEITE_1 = True Then ' Nur Seite 1 anzeigen (ohne Fuss!) Cancel = True End If End Sub ' 4. ---- Restliche Sätze (LNr > iLNrLAST) ausblenden (Detailbereich_Format): ------------- Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer) If NurSEITE_1 = True Then ' Nur 1.Seite des Berichts anzeigen If FormatCount = 2 Then ' Hier passiert es, hier ist schon Seite 2. iLNrLAST = [LNr] - 1 ' Nr vom Satz davor merken (Letzter auf Seite 1) End If If iLNrLAST > 0 And [LNr] >= iLNrLAST Then Me.MoveLayout = False ' Für Rest-Sätze nicht weitergehen! If [LNr] > iLNrLAST Then ' Text vom Letzten Satz nicht überschreiben mit Text von "Seite 2"-Sätzen Me.PrintSection = False End If End If End If End Sub ' 5. ---- Aufruf zum Öffnen des Berichts irgendwo im Code: -------------------------------- NurSEITE_1 = True ' Nur 1.Seite des Berichts anzeigen DoCmd.OpenReport "BerichtName", acViewPreview NurSEITE_1 = False ' Rücksetzen Dieser Tipp wurde bereits 7.180 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
Neu! sevDTA 3.0 Pro SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |