Report.Run
From Xojo Documentation
Method
Report.Run(ds as Reports.DataSet, printerSettings as PrinterSetup) As Boolean
Supported for all project types and targets.
Supported for all project types and targets.
Generates a report document from the given dataset.
Method
Report.Run(rs as RowSet, printerSettings as PrinterSetup) As Boolean
New in 2019r3
Supported for all project types and targets.
New in 2019r3
Supported for all project types and targets.
Generates a Report document from the given RowSet.
![]() |
This item was deprecated in version 2019r3. Please use Report.Run with a RowSet as a replacement. |
Method
Report.Run(rs as RecordSet, printersettings as PrinterSetup) As Boolean
New in 2010r3
Supported for all project types and targets.
New in 2010r3
Supported for all project types and targets.
Generates a Report document from the given RecordSet. This eliminates the need to first convert a RecordSet to a RecordSetQuery.
Sample Code
Running a report to obtain the rendered pages in Reports.DataSet:
Var rpt As New ListOfProducts
Var rs As RowSet = ordersDB.SelectSQL(sql)
Var ps As New PrinterSetup
If rpt.Run(rs, ps) Then
If rpt.Document <> Nil Then
ShowReport(rpt.Document)
End If
End If
Var rs As RowSet = ordersDB.SelectSQL(sql)
Var ps As New PrinterSetup
If rpt.Run(rs, ps) Then
If rpt.Document <> Nil Then
ShowReport(rpt.Document)
End If
End If
This generates and prints a report:
Var rpt As New MyReport // A report in the project
Var ps As New PrinterSetup
Var g As Graphics
g = ps.ShowPrinterDialog(Nil)
If g <> Nil Then
If Not rpt.Run(data, ps) Then // data is the report data
rpt.Document.Print(g)
Else
MessageBox("There was an error generating the report.")
End If
End If
Var ps As New PrinterSetup
Var g As Graphics
g = ps.ShowPrinterDialog(Nil)
If g <> Nil Then
If Not rpt.Run(data, ps) Then // data is the report data
rpt.Document.Print(g)
Else
MessageBox("There was an error generating the report.")
End If
End If
This generates and prints multiple copies of a report:
Var rpt As New MyReport // A report in the project
Var ps As New PrinterSetup
Var g As Graphics
g = ps.ShowPrinterDialog(Nil)
Var readyToPrint As Boolean = True
If g <> Nil Then
For copies As Integer = 1 To 2 // Number of copies
If Not rpt.Run(data, ps) Then // data is the report data
readyToPrint = False
End If
Next
// Print the results
If readyToPrint Then
rpt.Document.Print(g)
Else
MessageBox("There was an error generating the report.")
End If
End If
Var ps As New PrinterSetup
Var g As Graphics
g = ps.ShowPrinterDialog(Nil)
Var readyToPrint As Boolean = True
If g <> Nil Then
For copies As Integer = 1 To 2 // Number of copies
If Not rpt.Run(data, ps) Then // data is the report data
readyToPrint = False
End If
Next
// Print the results
If readyToPrint Then
rpt.Document.Print(g)
Else
MessageBox("There was an error generating the report.")
End If
End If