Объект Report (Access)
Объект Report ссылается на конкретный отчет Microsoft Access.
Объект Report является членом коллекции Reports , которая представляет собой коллекцию всех открытых в настоящее время отчетов. В коллекции Отчетов отдельные отчеты индексируются с нуля. Ссылка на отдельный объект Report в коллекции Reports либо путем ссылки на отчет по имени, либо путем ссылки на его индекс в коллекции. Если имя отчета содержит пробел, имя должно быть заключено в квадратные скобки ([ ]).
Синтаксис | Пример |
---|---|
Отчеты! reportname | Отчеты! OrderReport |
Отчеты! [имя отчета] | Отчеты! [Отчет о заказе] |
Reports("reportname") | Reports("OrderReport") |
Отчеты (индекс) | Отчеты(0) |
Примечание
Каждый объект Report имеет коллекцию Controls , которая содержит все элементы управления в отчете. Ссылаться на элемент управления в отчете, неявно или явно ссылаясь на коллекцию Controls . Код будет выполняться быстрее, если вы сошлетесь на коллекцию Элементы управления неявно. В следующих примерах показаны два способа ссылки на элемент управления NewData в отчете с именем OrderReport.
' Implicit reference.
Reports!OrderReport!NewData
' Explicit reference.
Reports!OrderReport.Controls!NewData
В следующем примере показано, как использовать событие NoData отчета, чтобы предотвратить открытие отчета при отсутствии отображаемых данных.
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
В следующем примере показано, как использовать событие Page для добавления водяного знака в отчет перед его печатью.
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
В следующем примере показано, как задать свойство BackColor элемента управления на основе его значения.
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
В следующем примере показано, как отформатировать отчет для отображения индикаторов выполнения. В примере используется пара прямоугольных элементов управления boxInside и boxOutside для создания индикатора выполнения на основе значения AvgOfRating. Индикаторы выполнения отображаются только в том случае, если отчет открыт в режиме предварительного просмотра или печатается.
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
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.