Solved

Runtime Error 2585 (this action can't be carried out while processing a form or report event)

Posted on 2008-06-16
1
1,667 Views
Last Modified: 2013-12-05
I have a command button (cmdPurchaseOrderPrint) on my form (Orders) that opens a print dialog box for a report.  When I click 'ok' to print the form I see Error # 2585, This action can't be carried out while processing a form or report event.  Debugging reveals the offending statement is RunCommand acCmdPrint.    

Here's the code behind the click event of the command button:
DoCmd.OpenReport "PurchaseOrder", acViewPreview

And here's the code behind the on open event of the report:

Private Sub Report_Open(Cancel As Integer)

On Error GoTo Error_Handling:

Dim cn As ADODB.Connection
Set cn = CurrentProject.Connection

Dim rstOrders As New ADODB.Recordset
Dim strSQL As String

If CurrentProject.AllForms("Orders").IsLoaded = False Then
    Dim OrderNum As String

Get_Input:
    OrderNum = InputBox("Enter Order #")
    If OrderNum <> "" Then
        strSQL = "SELECT Order_Num FROM tblOrders WHERE Order_Num = '" & OrderNum & "' "
        rstOrders.Open (strSQL), cn, adOpenForwardOnly, adLockReadOnly
        If rstOrders.EOF = True Then
            MsgBox "Order #" & OrderNum & " Not Found!", vbCritical
            rstOrders.Close
            GoTo Get_Input
        Else
            strSQL = "SELECT * FROM tblOrders WHERE Order_Num = '" & OrderNum & "' "
            Me.RecordSource = strSQL
        End If
    Else
        End
        DoCmd.Close
    End If

Else
    strSQL = "SELECT * FROM tblOrders WHERE Order_Num = " & Forms!Orders!Order_Num
    Me.RecordSource = strSQL
    RunCommand acCmdPrint    
End If

Exit Sub

Error_Handling:
If Err.Number = 2501 Then  'user canceled print dialog box
    End  
Else
    MsgBox Err.Number
    MsgBox Err.Description
End If

End Sub

Any idea what I'm doing wrong?

Thanks in advance.

0
Comment
Question by:hennessym
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 1

Accepted Solution

by:
hennessym earned 0 total points
ID: 21795351
Solved it - the key was to put RunCommand acCmdPrint in the OnActivate event.
0

Featured Post

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It’s been over a month into 2017, and there is already a sophisticated Gmail phishing email making it rounds. New techniques and tactics, have given hackers a way to authentically impersonate your contacts.How it Works The attack works by targeti…
This article describes a method of delivering Word templates for use in merging Access data to Word documents, that requires no computer knowledge on the part of the recipient -- the templates are saved in table fields, and are extracted and install…
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question