vbYesNo not working with DoCmd

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
 
D

Duane Hookom

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
 
J

John Nurick

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......
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top