Microsoft KB Archive/320713

= You cannot open a report in Print Preview view or to print in Access 2002 =

Article ID: 320713

Article Last Modified on 8/18/2004

-

APPLIES TO


 * Microsoft Access 2002 Standard Edition

-



This article was previously published under Q320713



Moderate: Requires basic macro, coding, and interoperability skills.

This article applies only to a Microsoft Access database (.mdb).



SYMPTOMS
When Microsoft Access attempts open a report, it will automatically switch to Design view if an existing Print Preview view of the same report is not first closed. The report will switch views both in MDB and MDE files.



RESOLUTION
Currently, there are only two known ways to work around this problem:
 * Use code to check the status of the report.
 * Use Access security to remove the Read Design permission.

Method One: Use Code to Check the Status of the Report
You can use the AllReports collection to check the status of the report. If the report is currently open in Print Preview view, you can issue a command to close the report and then issue a command to open it for printing. To see an example of how to do this, follow these steps:   Create a module, and then type the following line in the Declarations section if it is not already there: Option Explicit   Type the following procedure: Public Sub PrintReport(strReportName As String) Dim accobj As AccessObject

'This function closes the open report and then re-opens it.

Set accobj = application.CurrentProject.AllReports.Item(strReportName)

If accobj.IsLoaded Then If accobj.CurrentView = acCurViewPreview Then DoCmd.Close acReport, strReportName DoCmd.OpenReport strReportName, acViewNormal End If   Else DoCmd.OpenReport strReportName, acViewNormal End If

End Sub   To test this procedure:  Switch back to the Database window and then open your report in Print Preview. Switch back to the Visual Basic Editor. In the Immediate window, type the following, and then press ENTER:

PrintReport &quot;ReportNameHere&quot; Notice that if your report is closed, you can reopen it and Access will not switch to Design view. </li></ol>

Method Two: Use Access Security to Remove the Read Design Permission
Users who cannot access Design view will not see this problem. Therefore, you can prevent this problem by using Microsoft Access security to remove a user's Read Design permission. This will restrict a user's access to Design view.

For additional information about how to secure a database in Microsoft Access, click the following article numbers to view the articles in the Microsoft Knowledge Base:

289885 Description of how to help protect a Microsoft Access database

305542 ACC2002: Understanding the Role of Workgroup Information Files in Access Security

<div class="status_section">

STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

<div class="moreinformation_section">

Steps to Reproduce the Behavior
 Open the sample database Northwind.mdb, and then create a new form.</li>  Add a command button to the form, and then set the OnClick property to the following event procedure: DoCmd.OpenReport &quot;Catalog&quot;, acViewNormal </li> Close and save the form as TestForm .</li> In the Database window, double-click the Catalog report. Do not close it.</li> In the Database window, open your TestForm form, and then click your command button.</li></ol>

Notice that the Catalog report switches to Design view.

<div class="references_section">