ComponentOne VSView Reporting Edition
Importing Microsoft Access Reports

One of the most powerful features of the VSReport8 Designer is the ability to import reports created with Microsoft Access. This feature requires Access to be installed on the computer. Once the report is imported into the Designer, Access is no longer required.

To import reports from an Access file, click the Import button or in the File menu, select Import. A dialog box will prompt you for the name of an Access file (MDB). After you select the file, the Designer automatically scans it and converts all the reports into a new report definition file.

The import process works well and handles most elements of the source reports, with a few exceptions listed below:

These limitations affect a relatively small number of reports, but you should preview all reports after importing them, to make sure they still work correctly.

To illustrate how the Designer fares in a real-life example, try importing the NWind.mdb file. It contains 13 reports, listed below with some comments. (The NWind.XML file that ships with VSReport8 already contains all the modifications described below.)

  1. Alphabetical List of Products

    No action required.

  2. Catalog

    No action required.

  3. Customer Labels

    No action required.

  4. Employee Sales by Country

    This report contains code that needs to be translated manually. The following code should be assigned to the Group 1 Header Section's OnPrint event:

    Example Title
    Copy Code
    If SalespersonTotal > 5000 Then
    
      ExceededGoalLabel.Visible = True
    
      SalespersonLine.Visible = True
    
    Else
    
      ExceededGoalLabel.Visible = False
    
      SalespersonLine.Visible = False
    
    End If
    
  5. Invoice

    No action required.

  6. Products by Category

    No action required.

  7. Sales by Category

    This report contains a Chart control that is not imported. To add a chart to your report, you could use an unbound picture field, then write a VB event handler that would create the chart and assign it to the field as a picture.

  8. Sales by Category Subreport

    No action required.

  9. Sales by Year

    This report contains code and references to a Form object that need to be translated manually. To replace the Form object, edit the RecordSource property to add a [Show Details] parameter:

    Example Title
    Copy Code
    PARAMETERS [Beginning Date] DateTime 1/1/1994,
    
      [Ending Date] DateTime 1/1/2001,
    
      [Show Details] Boolean False; ...
    

    Use the new parameter in the report's OnOpen event:

    Example Title
    Copy Code
    Report.OnOpen = "b = [Show Details]" & _
    
      " Detail.Visible = b" & _
    
      " [Group 0 Footer].Visible = b" & _
    
      " DetailsLabel.Visible = b" & _
    
      " LineNumberLabel2.Visible = b" & _
    
      " Line15.Visible = b" & _
    
      " SalesLabel2.Visible = b" & _
    
      " OrdersShippedLabel2.Visible = b" & _
    
      " ShippedDateLabel2.Visible = b" & _
    
      " Line10.Visible = b"
    

    Finally, two more lines of code need to be translated:

    Example Title
    Copy Code
    Sections("Detail").OnPrint = _
    
      "PageHeader.Visible = True"
    
    Sections("Group 0 Footer).OnPrint = _
    
      "PageHeader.Visible = False"
    
  10. Sales by Year Subreport

    No action required.

  11. Sales Totals by Amount

    This report contains code that needs to be translated manually. The following code should be assigned to the Page Header Section's OnPrint event:

    Example Title
    Copy Code
    PageTotal = 0
    

    The following code should be assigned to the Detail Section's OnPrint event:

    Example Title
    Copy Code
    PageTotal = PageTotal + SaleAmount
    
    HiddenPageBreak.Visible = (Counter = 10)
    
  12. Summary of Sales by Quarter

    This report has a group that is sorted by quarter (see item 4 above). To fix this, add a field to the source recordset that contains the value of the ShippedDate quarter, by changing the RecordSource property as follows:

    Example Title
    Copy Code
    SELECT DISTINCTROW Orders.ShippedDate,
    
      Orders.OrderID,
    
      [Order Subtotals].Subtotal,
    
      DatePart("q",Orders.ShippedDate) As ShippedQuarter
    
      FROM Orders INNER JOIN [Order Subtotals]
    
      ON Orders.OrderID = [Order Subtotals].OrderID
    
      WHERE (((Orders.ShippedDate) Is Not Null));
    

    Change the group's GroupBy property to use the new field, ShippedQuarter.

  13. Summary of Sales by Year

    No action required.

Summarizing the information on the table: out of 13 reports imported from the NorthWind database, eight did not require any editing, three required some code translation, one required changes to the SQL statement and one had a chart control that was not replaced.

 

 


Copyright (c) GrapeCity, inc. All rights reserved.

Product Support Forum  |  Documentation Feedback