Berichtsobjekt (Access)
Ein Report-Objekt verweist auf einen bestimmten Microsoft Access-Bericht.
Ein Report-Objekt ist ein Element der Reports-Auflistung , bei der es sich um eine Auflistung aller derzeit geöffneten Berichte handelt. Die einzelnen Berichte in der Auflistung Reports werden durch einen bei Null beginnenden Index nummeriert. Verweisen Sie auf ein einzelnes Report-Objekt in der Reports-Auflistung , indem Sie entweder anhand des Namens auf den Bericht verweisen oder auf seinen Index innerhalb der Auflistung verweisen. Enthält der Berichtsname Leerzeichen, so muss der Name in eckigen Klammern ([ ]) stehen.
Syntax | Beispiel |
---|---|
Berichte! Berichtsname | Reports!OrderReport |
Berichte! [Berichtsname] | Reports![Bericht Bestellungen] |
Berichte("Berichtsname") | Reports("OrderReport") |
Berichte(index) | Reports(0) |
Hinweis
Jedes Report-Objekt verfügt über eine Controls -Sammlung, die alle Steuerelemente im Bericht enthält. Verweisen Sie auf ein Steuerelement in einem Bericht, indem Sie implizit oder explizit auf die Controls-Auflistung verweisen. Ihr Code wird schneller ausgeführt, wenn Sie implizit auf die Controls-Sammlung verweisen. Im folgenden Beispiele werden zwei Möglichkeiten dargestellt, um auf das Steuerelement NewData im Formular OrderReport zu verweisen:
' Implicit reference.
Reports!OrderReport!NewData
' Explicit reference.
Reports!OrderReport.Controls!NewData
Im folgenden Beispiel wird gezeigt, wie sie das NoData-Ereignis eines Berichts verwenden, um zu verhindern, dass der Bericht geöffnet wird, wenn keine Daten angezeigt werden.
Private Sub Report_NoData(Cancel As Integer)
'Add code here that will be executed if no data
'was returned by the Report's RecordSource
MsgBox "No customers ordered this product this month. " & _
"The report will now close."
Cancel = True
End Sub
Im folgenden Beispiel ist die Verwendung des Page-Ereignisses zum Hinzufügen eines Wasserzeichens zu einem Bericht dargestellt, bevor dieser gedruckt wird.
Private Sub Report_Page()
Dim strWatermarkText As String
Dim sizeHor As Single
Dim sizeVer As Single
#If RUN_PAGE_EVENT = True Then
With Me
'// Print page border
Me.Line (0, 0)-(.ScaleWidth - 1, .ScaleHeight - 1), vbBlack, B
'// Print watermark
strWatermarkText = "Confidential"
.ScaleMode = 3
.FontName = "Segoe UI"
.FontSize = 48
.ForeColor = RGB(255, 0, 0)
'// Calculate text metrics
sizeHor = .TextWidth(strWatermarkText)
sizeVer = .TextHeight(strWatermarkText)
'// Set the print location
.CurrentX = (.ScaleWidth / 2) - (sizeHor / 2)
.CurrentY = (.ScaleHeight / 2) - (sizeVer / 2)
'// Print the watermark
.Print strWatermarkText
End With
#End If
End Sub
Das folgende Beispiel zeigt, wie die BackColor-Eigenschaft eines Steuerelements basierend auf seinem Wert festgelegt wird.
Private Sub SetControlFormatting()
If (Me.AvgOfRating >= 8) Then
Me.AvgOfRating.BackColor = vbGreen
ElseIf (Me.AvgOfRating >= 5) Then
Me.AvgOfRating.BackColor = vbYellow
Else
Me.AvgOfRating.BackColor = vbRed
End If
End Sub
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
' size the width of the rectangle
Dim lngOffset As Long
lngOffset = (Me.boxInside.Left - Me.boxOutside.Left) * 2
Me.boxInside.Width = (Me.boxOutside.Width * (Me.AvgOfRating / 10)) - lngOffset
' do conditional formatting for the control in print preview
SetControlFormatting
End Sub
Private Sub Detail_Paint()
' do conditional formatting for the control in report view
SetControlFormatting
End Sub
Im folgenden Beispiel wird gezeigt, wie ein Bericht so formatiert wird, dass Statusanzeigen angezeigt werden. In dem Beispiel wird ein Paar von rechteckigen Steuerelementen, boxInside und boxOutside zum Erstellen einer Statusanzeige basierend auf dem Wert von AvgOfRating verwendet. Die Statusanzeigen sind nur dann sichtbar, wenn der Bericht im Modus Seitenansicht geöffnet ist oder gedruckt wird.
Private Sub Report_Load()
If (Me.CurrentView = AcCurrentView.acCurViewPreview) Then
Me.boxInside.Visible = True
Me.boxOutside.Visible = True
Else
Me.boxInside.Visible = False
Me.boxOutside.Visible = False
End If
End Sub
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
' size the width of the rectangle
Dim lngOffset As Long
lngOffset = (Me.boxInside.Left - Me.boxOutside.Left) * 2
Me.boxInside.Width = (Me.boxOutside.Width * (Me.AvgOfRating / 10)) - lngOffset
' do conditional formatting for the control in print preview
SetControlFormatting
End Sub
- Activate
- ApplyFilter
- Click
- Close
- Current
- DblClick
- Deactivate
- Error
- Filter
- GotFocus
- KeyDown
- KeyPress
- KeyUp
- Load
- LostFocus
- MouseDown
- MouseMove
- MouseUp
- MouseWheel
- NoData
- Open
- Page
- Resize
- Timer
- Unload
- ActiveControl
- AllowLayoutView
- AllowReportView
- Application
- AutoCenter
- AutoResize
- BorderStyle
- Caption
- CloseButton
- ControlBox
- Controls
- Count
- CurrentRecord
- CurrentView
- CurrentX
- CurrentY
- Cycle
- DateGrouping
- DefaultControl
- DefaultView
- Dirty
- DisplayOnSharePointSite
- DrawMode
- DrawStyle
- DrawWidth
- FastLaserPrinting
- FillColor
- FillStyle
- Filter
- FilterOn
- FilterOnLoad
- FitToPage
- FontBold
- FontItalic
- FontName
- FontSize
- FontUnderline
- ForeColor
- FormatCount
- GridX
- GridY
- GroupLevel
- GrpKeepTogether
- HasData
- HasModule
- Height
- HelpContextId
- HelpFile
- Hwnd
- InputParameters
- KeyPreview
- LayoutForPrint
- Left
- MenuBar
- MinMaxButtons
- Modal
- Module
- MouseWheel
- Moveable
- MoveLayout
- Name
- NextRecord
- OnActivate
- OnApplyFilter
- OnClick
- OnClose
- OnCurrent
- OnDblClick
- OnDeactivate
- OnError
- OnFilter
- OnGotFocus
- OnKeyDown
- OnKeyPress
- OnKeyUp
- OnLoad
- OnLostFocus
- OnMouseDown
- OnMouseMove
- OnMouseUp
- OnNoData
- OnOpen
- OnPage
- OnResize
- OnTimer
- OnUnload
- OpenArgs
- OrderBy
- OrderByOn
- OrderByOnLoad
- Orientation
- Page
- PageFooter
- PageHeader
- Pages
- Painting
- PaintPalette
- PaletteSource
- Parent
- Picture
- PictureAlignment
- PictureData
- PicturePages
- PicturePalette
- PictureSizeMode
- PictureTiling
- PictureType
- PopUp
- PrintCount
- Printer
- PrintSection
- Properties
- PrtDevMode
- PrtDevNames
- PrtMip
- RecordLocks
- Recordset
- RecordSource
- RecordSourceQualifier
- Report
- RibbonName
- ScaleHeight
- ScaleLeft
- ScaleMode
- ScaleTop
- ScaleWidth
- ScrollBars
- Section
- ServerFilter
- Shape
- ShortcutMenuBar
- ShowPageMargins
- Tag
- TimerInterval
- Toolbar
- Top
- UseDefaultPrinter
- Visible
- Width
- WindowHeight
- WindowLeft
- WindowTop
- WindowWidth
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.