S
Stewart Berman
Access 2007
I have the following code:
On error goto lblError
<setupt variable>
DoCmd.OutputTo acOutputReport, vRptName, acFormatPDF, vfilename, False
msgbox "Report " & vfilename & " saved."
<other code>
lblExit:
<cleanup code>
Exit sub
lblError:
msgbox "Error: " & err.description
resume lblExit
end sub
The report that is being output has an OnOpen event handler that I wanted to
walk through. I put a breakpoint on the DoCmd.OuputTo statement and then
hit F8. The report was output without steping through the code in the
OnOpen event. I then put the following code in the OnOpen event:
Debug.Print "OnOpen"
Stop
When I again tried to step through the code "OnOpen" was printed in the
immediate window but the code did not stop.
If I open the report in print preview mode the code stops at the Stop
statement.
Finally, if an error occurs in the OnOpen code the VB engine acts as though
the code completed. It does not display an error message and the error
handler in the calling routine is not invoked.
It appears as the code that processes the DoCmd.OutputTo acOutputReport to a
a PDF file is running in Runtime mode and won't allow code to break. That
would be bad enough but it also appears to bypass error handlers. It
doesn't even display a runtime error message if there is an error in the
code -- it just clears the call stack and returns.
Is there anyway around this bug?
I have the following code:
On error goto lblError
<setupt variable>
DoCmd.OutputTo acOutputReport, vRptName, acFormatPDF, vfilename, False
msgbox "Report " & vfilename & " saved."
<other code>
lblExit:
<cleanup code>
Exit sub
lblError:
msgbox "Error: " & err.description
resume lblExit
end sub
The report that is being output has an OnOpen event handler that I wanted to
walk through. I put a breakpoint on the DoCmd.OuputTo statement and then
hit F8. The report was output without steping through the code in the
OnOpen event. I then put the following code in the OnOpen event:
Debug.Print "OnOpen"
Stop
When I again tried to step through the code "OnOpen" was printed in the
immediate window but the code did not stop.
If I open the report in print preview mode the code stops at the Stop
statement.
Finally, if an error occurs in the OnOpen code the VB engine acts as though
the code completed. It does not display an error message and the error
handler in the calling routine is not invoked.
It appears as the code that processes the DoCmd.OutputTo acOutputReport to a
a PDF file is running in Runtime mode and won't allow code to break. That
would be bad enough but it also appears to bypass error handlers. It
doesn't even display a runtime error message if there is an error in the
code -- it just clears the call stack and returns.
Is there anyway around this bug?