Bunker Hill Logo

 

 

Solutions

Overview
Access to ASP.Net
Client/Server
Java

Demos

Client/Server
Northwind ASP.Net


Related Links

Sarbanes-Oxley
Conversion Metrics
Submit Database

MS Access Forms to ASP.Net and Reports to Crystal.Net

MS Access to ASP.Net and MS-SQL, Oracle, DB2

Features

This software combines advanced MS-Access to Oracle, SQL-Server, or DB2 database migration facilities with a robust MS-Access Forms to ASP.Net code generator and MS-Access Reports to Crystal.Net and SQL Server Reporting Services (SSRS) converters.

The database migration facility precisely replicates MS-Access data-model objects (tables, relationships, queries, data, etc.) to the target DBMS.

ASP.Net WebForms are generated that preserve the look-and-feel, and operation of the original MS-Access Forms. All Form Record Source, and Control Row Source SQL statements are converted to stored procedures on the target DBMS.

Crystal.Net Report Designs and Viewer WebForms and/or SSRS Report Designer compatible .rdl files are generated that retain the layout and features of the original MS-Access Reports.

Test drive the Northwind Traders sample application that we converted to ASP.Net.

MS-Access Forms to ASP.Net WebForms Details

Form Layout

For each form , CSS (cascading style sheets) are generated based on the properties of the MS-Access Form's controls that specify font and field characteristics including family, size, back- and fore-ground colors, borders, text alignment, and special effects.

All MS Access field types (Text, Combo Box, Tab Control, Option Group, etc.) are defined using ASP and HTML controls. Absolute field positions and sizes are maintained on the ASP WebForm as well as tab order, enabled/visible, and bold/underline/italic properties.

Form Operation

Single Forms



The conversion of MS Access Single-Forms to ASP replicates the fundamental operation of the original Access forms, including implicit database operations. For example, when a user navigates to another record after modifying one or more fields, or after inserting a new record, the ASP Code-Behind functions determine if any changes were made and perform the appropriate database operations.

An extended Access-like ASP Navigation Bar that includes record traversal (first, previous, next, last)and additional 'editing' buttons for database operations (new, edit, save, undo, delete) is implemented for all Access Forms that specify a Navigation Bar. The state of the editing buttons (enabled/disabled) reflects the associated Form's allowable database maintenance (add, edit, delete) operations.

Like Access, users edit data by tabbing to the desired fields and entering their changes. Pressing the (‘Save Record’) button, or traversing to another record triggers the database update operation.

After pressing the (‘New Record’) button, an empty form is displayed. Default Values from any Access Form controls or their underlying table fields, are automatically supplied. The user can press the ‘save’ button or traverse to another record to update the database.

After a new record is saved, the position of the newly added record is determined so it may be selected and displayed after the PostBack completes.

The value of any automatically generated numbers (Auto-Number – Identity/Sequence) is displayed on any associated form fields. (These insert behaviors apply to all forms).
Deletions are performed by pressing the (‘Delete Record’) button. Users are prompted to confirm or cancel the delete operation. When a record is deleted, the position of the previous record is selected and displayed.

Continuous Forms


Continuous Forms are implemented using ASP DataList controls and are functionally equivalent to their MS-Access counterparts. Javascript is used to set scroll bar positions.

When forms are updatable, but a Navigation Bar is not specified, editing buttons (like those on the extended Navigation Bar) are included in the DataList template so that database maintenance operations can be performed as they are in Access. As with Access, inserting new records is performed by scrolling past the last record to a blank form. Default Values are supplied on inserts and users are prompted before delete operations are performed.

Datasheets


Datasheets are implemented using ASP DataGrid controls and are also functionally equivalent to their MS-Access counterparts. CSS and Javascript are used to implement fixed-headers and to set scroll bar positions. As with Continuous Forms, editing buttons are included when necessary and new records are inserted by scrolling past the last entry to an empty row of fields. Edits are performed either by navigating to, or selecting the desired entry and pressing the ‘edit’ burton on the Navigation Bar or adjacent to the row entry. The ASP Edit Template is then displayed, which allows users to make changes to editable fields. Pressing the ‘save’ button updates the database.

Sub-Forms



Single Forms may include any number of sub-forms, and any form that includes a tab control may contain any number of sub-forms.

All form types (Single, Continuous and Datasheet) are supported as sub-forms.

All Master-Child data relationships are maintained, including sub-forms that are linked to other sub-forms (ex. Customer Orders Form in Northwind).

Before inserting new records on a sub-form, the parent form is checked to ensure that any newly entered record is first saved.

The sub-form area on the main form is bounded by a scrolling area, with scroll bars that are displayed only when the form exceeds the vertical or horizontal scroll bar boundaries.

Sub-form data and scrolling positions are reset when the parent form is traversed.

Tab Controls

Tab Controls are intelligently implemented. For example, when tab pages specify sub-forms, data is only retrieved when (and if) the tab page is clicked.

Form Field Expressions

Form expressions are fully implemented, including sub-form references and aggregate functions.

The following example is from the Northwind Orders Form. The "Total:" value is the Sub-Form reference expression: [=Sum(ExtendedCost)+Freight]). It reflects the sum of the ExtendedCost of all items for the parent form's current OrderID. Expressions are re-calculated when new records are added, modified, or deleted.

Auto-Lookups

MS-Access Auto-Lookup fields that retrieve and display related data after clicking a ComboBox entry are supported. (ex. Northwind Orders Form: examine the operation of the CustomerID Combo Box).

Shortcut / Accelerator Keys

MS-Access shortcut keys are implemented using ASP Access Keys.

Database Operations

MS-Access Forms may specify the Record Source as a QueryDef, Table or using in-line SQL.   All Form Record Sources are converted into target DBMS procedures. With Oracle, a single package is created to contain all procedures.

Procedures are generated for all Form Controls (typically Combo and List Boxes) that specify a Row Source with a Row Source Type of Table / Query. Data to fill ASP DropdownLists is retrieved only once per session, regardless of the number of edit/insert operations that are performed.

Procedures are generated for Sub-Forms that are linked to master/parent Form data. They include parameters that are used to maintain Master-Child data relationships.

Procedures are used to implement Auto-Lookup data extractions and to evaluate Sub-Form expressions.

In addition to the conversion of MS-Access Record and Row Sources, stored procedures that implement table inserts, updates and deletions are also generated for forms that update a single table.   Although the Form’s underlying query can join any number of tables, enabled Form Fields with Control Source properties that refer to the underlying query must also refer to one and only one underlying table.    (ex. Northwind Orders Form: the underlying query joins two tables, but the enabled Form Fields refer only to the Orders table.)

Update procedures are implemented using Optimistic Concurrency to prevent incongruous updates.

Code-Behind

The Code-Behind language is VB.Net. Note that VB to C# conversion utilities are offered by VBConversions and several other third-party vendors. The generated VB.Net code is specially designed to minimize manual post-C#-conversion tasks. VBConversions typically generates 98-100% of our VB.Net code to C# correctly.

The VB.Net code is easy to understand and well structured. VB.Net variable names are based on the original MS-Access names (tables, fields, etc.) used by the application.

There are no cryptic generalized rotuines or DLLs, just plain vanilla ASP.Net controls and VB.Net code are employed.

Special care has been taken to minimize Post-Backs and DataBind operations.

The source for all VB code and Javascripts are contained in the Web Forms' aspx and aspx.vb files and are easily modified.

MS-Access Reports to Cystal.Net Details

Report Layout

For each report , CSS (cascading style sheets) are generated based on the properties of the MS-Access Report's controls that specify font and field characteristics including family, size, back- and fore-ground colors, borders, and text alignment.

The generated Crystal Report Design retains all layout characterics and most functionality of the original MS-Access Reports. Note that Crystal Reports supports the vast majority of MSAccess features. Charts are not currently supported but can be added using the Crystal Report Designer. Separate Parameter Entry WebForms are created for Reports whose underlying query requries parameters.

 

Report Samples

The following Report Samples are the HTML copies of the actual report. Crystal Navigation has been disabled. Crystal Group Trees are not displayed.

Alphabetical List of Products
Catalog
Customer Labels
Employee Sales by Country
Invoice
Quarterly Orders by Product
Sales by Category
Sales by Year
Sales Totals by Amount
Summary of Sales by Quarter
Summary of Sales by Year

MS-Access Reports to SSRS Details

Report Design

The SSRS converter supports most Access Report features including Sub Reports, Charts, and Multi-Column reports. Access Report Record Sources and Chart Row Sources are converted to SQL Server stored procedures.

Report Samples

The following PDF files were created using SSRS Report Designer 2005 from report design layouts (XML) generated by the converter. No changes needed to be made to the Access or SSRS report designs. 

Alphabetical List of Products
Catalog (Sub-Report, Bound Object Images, Page Breaks)
Customer Labels (Multi-Column)
Employee Sales by Country
Invoice
Products by Category 
Sales by Category (Sub-Report and Chart)
Sales by Year
Sales Totals by Amount
Summary of Sales by Quarter
Summary of Sales by Year

What Is Not Automated.

1. VBA code is not converted to VB.Net.

2. Access ComboBoxes that specify multiple columns are not currently fully implemented; they only display data from the first visible column.

3. Input-Masks are not currently implemented.

4. OLE Objects are not implemented.

5. Form Validation Rules are not implemented, but tables that specify Validation Rules and Validation Text are supported.

6. Form filters are not currently implemented.

 

     

 



©2008 Bunker Hill Corporation.  All rights reserved. MS Access / MS SQL Server / ASP.Net, Oracle, and DB2 are trademarks of Microsoft, Oracle, and IBM respectively.

Bunker Hill provides MS Access to MS SQL Server/Oracle/DB2/ASP.Net conversion tools and services

 (877) 356-9191

  Home ][ Solutions ]Tools ]Demos ]Sales/Support ]Company ]