I have a very complex piece of VBA generating a report, for what it is worth the details are below:
This works perfectly if I open the report but the load event is not called in automated operations such as:
How can you force the load event?
Code:
Private Sub Report_Load()
'Populate results according to criteria on main form
Dim scandata As String
Dim OrderBy As String
Dim BladesOnly As String
Dim SearchStg As String
SearchStg = ""
scandata = "SELECT Scans.Scanned, Len([Scans]![Blade]) AS Expr1, " & _
"Scans.ID, Scans.Blade, Scans.Engine, " & _
"Scans.Part, Scans.Hours, Scans.Cycles, " & _
"Scans.Result, Scans.Tank, Scans.Operator, " & _
"Scans.Details, Scans.Co, MRO.MRO " & _
"FROM Scans INNER JOIN MRO ON Scans.Co = MRO.ID " & _
"WHERE (Scans.Scanned BETWEEN Forms!frmMain!tStartDate And Forms!frmMain!tEndDate +1)" & _
"AND Scans.Co LIKE (Forms!frmMain!cboMRO)" & _
"AND Scans.Result LIKE '*' &(Forms!frmMain!tStatus) & '*' "
'Filter Combo and Entry
If Forms!frmMain!Search = 1 Then
SearchStg = "Scans.Engine LIKE '*' & [Forms]![frmMain]![tSearch] & '*'"
ElseIf Forms!frmMain!Search = 2 Then
SearchStg = "Scans.Part LIKE '*' & [Forms]![frmMain]![tSearch] & '*'"
ElseIf Forms!frmMain!Search = 3 Then
SearchStg = "Scans.System LIKE '*' & [Forms]![frmMain]![tSearch] & '*'"
ElseIf Forms!frmMain!Search = 4 Then
SearchStg = "Scans.Operator LIKE '*' & [Forms]![frmMain]![tSearch] & '*'"
ElseIf Forms!frmMain!Search = 5 Then
SearchStg = "Scans.Hours >= (Forms!frmMain!tSearch)"
ElseIf Forms!frmMain!Search = 6 Then
SearchStg = "Scans.Cycles >= (Forms!frmMain!tSearch)"
Else
SearchStg = "Scans.Engine LIKE '*'"
End If
'Allow for sorting with the addition of date and time
If Nz(Forms!frmMain!Check59.Value, 0) = -1 Then
OrderBy = "Scans.Scanned"
Else
OrderBy = "DateValue(Scans.Scanned), Scans.ID"
End If
'Allow for blades only checkbox
If Nz(Forms!frmMain!chkFan.Value, 0) = -1 Then
BladesOnly = "Scans.Blade Like '*' & [Forms]![frmMain]![tBlade] & '*' AND (Len([Scans]![Blade]))=8"
Else
BladesOnly = "Scans.Blade Like '*' & [Forms]![frmMain]![tBlade] & '*'"
End If
Me.RecordSource = scandata & " And " & SearchStg & " And " & BladesOnly & " Order By " & OrderBy
Code:
Private Sub Command24_Click()
DoCmd.OpenReport "OperationsReport", acViewNormal
End Sub
Code:
Private Sub Command25_Click()
DoCmd.OutputTo acOutputReport, "OperationsReport", "PDFFormat(*.pdf)", , True, , , acExportQualityPrint
End Sub