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.544 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 Dezemeber 2024 Roland Wutzke MultiSort im ListView-Control Dieses Beispiel zeigt, wie sich verschiedene Sortierfunktionen für ein ListView Control realisieren lassen. TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
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. |