vbYesNo not working with DoCmd

  • Thread starter Thread starter Bart
  • Start date Start date
B

Bart

I am calling the following procedure in a module to print
a report and save it but it always runs the DoCmd even if
the user chooses vbNo. Any suggestions?

Public Function printoptions()
'This functions provides the user with the option to print
and save the report

MsgBox "Do you want to print the letter?", vbYesNo
If vbYes Then
DoCmd.PrintOut acPrintAll
End If

MsgBox "Do you want to save the letter?", vbYesNo
If vbYes Then
DoCmd.OutputTo acOutputReport, , acFormatRTF
Else
DoCmd.Close
End If

End Function

Thanks for your help.

Bart
 
If you want to return a value with MsgBox, use the function rather than the
command.
Select Case MsgBox("Do you want to print the letter?", vbYesNo+
vbQuestion,"Print Letter")
Case vbYes
'your code
Case vbNo
'Your code
End Select
 
Hi Bart,

vbYes has the value 6 and is therefore always true. You need to use
MsgBox as a function, e.g. like this:

If MsgBox("Do you want to print the letter?", _
vbQuery + vbYesNo) = vbYes Then
DoCmd.Printout......
 
Back
Top