Button to Send E-mail just work one time

G

Guest

Hi all.

this code is to send an attachment by e-mail and it's work fine the first
time but when I try to send another e-mail just appear a
message that reads
"Error in EMailRptBtn_click()in Orders.form, Error # 2046, The command or
action 'OutputTo' isn't available now.

I wanted to fix it with this code,
If (Err.Number <> 2501 and Err.Number <> 2046) Then
but it only clean the error but it does not work after that..

Could you take a look and help if possible, I will appreciate so much.

ldiaz

___________________________________________

Private Sub EMailRptBtn_Click()


On Error GoTo ErrHandler

Dim rpt As Report
Dim sRptName As String
Dim sMsg As String
Dim stdomail As String

sRptName = "rptSingleOrder"
sMsg = "Please confirm if this Order Quotation is correct with " & _
"Product Name, Descripción & price!!"
stdomail = Me![SupplierID].Column(2) 'This column has the e-mail address

DoCmd.OpenReport sRptName, acViewDesign
Set rpt = Reports(sRptName)

rpt.RecordSource = "SELECT * " & _
"FROM [OrdersQueryInvoice1] " & _
"WHERE (OrderID = " & Me!OrderID.Value & ");"

DoCmd.Close acReport, sRptName, acSaveYes

DoCmd.SendObject acSendReport, sRptName, acFormatSNP, _
stdomail, , , "Order Quotation", sMsg, True

CleanUp:

Set rpt = Nothing

Exit Sub

ErrHandler:

If (Err.Number <> 2501 And Err.Number <> 2046) Then ' User didn't
cancel E-Mail.
MsgBox "Error in EMailRptBtn_Click( ) in" & vbCrLf & _
Me.Name & " form." & vbCrLf & vbCrLf & _
"Error #" & Err.Number & vbCrLf & vbCrLf & Err.Description
End If

Err.Clear
GoTo CleanUp



End Sub
_________________________________________________________
 
R

RoyVidar

ldiaz wrote in message
Hi all.

this code is to send an attachment by e-mail and it's work fine the first
time but when I try to send another e-mail just appear a
message that reads
"Error in EMailRptBtn_click()in Orders.form, Error # 2046, The command or
action 'OutputTo' isn't available now.

I wanted to fix it with this code,
If (Err.Number <> 2501 and Err.Number <> 2046) Then
but it only clean the error but it does not work after that..

Could you take a look and help if possible, I will appreciate so much.

ldiaz

___________________________________________

Private Sub EMailRptBtn_Click()


On Error GoTo ErrHandler

Dim rpt As Report
Dim sRptName As String
Dim sMsg As String
Dim stdomail As String

sRptName = "rptSingleOrder"
sMsg = "Please confirm if this Order Quotation is correct with " & _
"Product Name, Descripción & price!!"
stdomail = Me![SupplierID].Column(2) 'This column has the e-mail address

DoCmd.OpenReport sRptName, acViewDesign
Set rpt = Reports(sRptName)

rpt.RecordSource = "SELECT * " & _
"FROM [OrdersQueryInvoice1] " & _
"WHERE (OrderID = " & Me!OrderID.Value & ");"

DoCmd.Close acReport, sRptName, acSaveYes

DoCmd.SendObject acSendReport, sRptName, acFormatSNP, _
stdomail, , , "Order Quotation", sMsg, True

CleanUp:

Set rpt = Nothing

Exit Sub

ErrHandler:

If (Err.Number <> 2501 And Err.Number <> 2046) Then ' User didn't
cancel E-Mail.
MsgBox "Error in EMailRptBtn_Click( ) in" & vbCrLf & _
Me.Name & " form." & vbCrLf & vbCrLf & _
"Error #" & Err.Number & vbCrLf & vbCrLf & Err.Description
End If

Err.Clear
GoTo CleanUp



End Sub
_________________________________________________________


Hi

I'm not sure about this, but here are two guesses/ideas

One idea, is that it could be the flaw/bug described here (watch for
linebreaks in the link)
http://support.microsoft.com/default.aspx?scid=kb;en-us;260819

But i'm not sure about the 2046 - which I'm not sure is related to
that.

If this has to do with the alteration of the reports recordsource
(which
I don't know), could you try to use a stored query with an ordinary
criterion like forms!yourformname!OrderID and see if that worked?
 

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