Click here to Skip to main content
15,881,413 members
Articles / Programming Languages / C#
Article

How to use Crystal Reports with Access database in C#

Rate me:
Please Sign up or sign in to vote.
3.22/5 (21 votes)
2 Jun 20052 min read 206.2K   6K   40   32
An article explaining how to add reports to your home database in your C# application.

Introduction

There are many ways to present data to users. For example, you can write code to loop through records and print them inside your Windows form. However, to do such a code any work beyond basic formatting can be very complicated to program. With Crystal Reports, you can quickly create complex and professional reports. Instead of writing code, you can use Crystal Report Designer interface to create and format reports. Its powerful engine processes the formatting, grouping, and charting criteria that you specify.

Background

I’ve searched well so many sites about code that I can with the help of it, use Crystal Reports to connect to an Access database in a C# application. After searching C# books, I’ve found some nice code that helps me to create this simple application. Hope it can help as a basic architecture.

Using the code

At first, you should simply open VS.NET and then at the File menu, click on New, Project. From the New Project dialog box, choose the Windows Application template project and name it Crystal Report, like shown below:

Image 1

After creating a window, add to it a Crystal Report Viewer control from the toolbox and dock the control to fit all the windows like shown below:

Image 2

Select Add New Item from Project menu, click Crystal Report and finally click Open to invoke the Crystal Report Designer as shown below:

Image 3

Image 4

Use the Report Expert option and choose a template. For more information about each template, see the MSDN.

Now you should choose the data source as below:

Image 5

Select Database Files, a dialog box will appear to select the location of the data source. After selecting the data source, insert the table that you want and click Next.

Image 6

Add the fields you want to report and click Next. On the Chart tab, select the type of chart you want. And click Finish.

Note: You can go to the next steps to specify more options.

Now back to the Windows form. Go to the options of Crystal Report Viewer and specify the ReportSource as the .rpt file that you added in the previous step.

Full code

C#
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
 
namespace Crystal_Report
{
    /// <summary>
    /// Summary description for Form1.
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    {
        private CrystalDecisions.Windows.Forms.CrystalReportViewer 
                                             crystalReportViewer1;
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;

        public Form1()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //
        }

       /// <summary>
       /// Clean up any resources being used.
       /// </summary>
       protected override void Dispose( bool disposing )
       {
               if( disposing )
               {
                       if (components != null) 
                       {
                              components.Dispose();
                       }
               }
               base.Dispose( disposing );
       }

       #region Windows Form Designer generated code
       /// <summary>
       /// Required method for Designer support - do not modify
       /// the contents of this method with the code editor.
       /// </summary>
       private void InitializeComponent()
       {
           this.crystalReportViewer1 = new 
                CrystalDecisions.Windows.Forms.CrystalReportViewer();
           this.SuspendLayout();
           // 
           // crystalReportViewer1
           // 
           this.crystalReportViewer1.ActiveViewIndex = -1;
           this.crystalReportViewer1.Dock = System.Windows.Forms.DockStyle.Fill;
           this.crystalReportViewer1.Location = new System.Drawing.Point(0, 0);
           this.crystalReportViewer1.Name = "crystalReportViewer1";
           this.crystalReportViewer1.ReportSource = 
                "C:\\Crystal Report\\CrystalReport2.rpt";
           this.crystalReportViewer1.Size = new System.Drawing.Size(576, 349);
           this.crystalReportViewer1.TabIndex = 0;
           // 
           // Form1
           // 
           this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
           this.ClientSize = new System.Drawing.Size(576, 349);
           this.Controls.Add(this.crystalReportViewer1);
           this.Name = "Form1";
           this.Text = "Form1";
           this.ResumeLayout(false);

       }
       #endregion

       /// <summary>
       /// The main entry point for the application.
       /// </summary>
       [STAThread]
       static void Main() 
       {
           Application.Run(new Form1());
       }
    }
}

Tips

You can modify the report and these sections:

  • Report Header
  • Page Header
  • Details
  • Report Footer
  • Page Footer

Change colors, font, date, style, add more charts…..etc. using the Report tab next to the Windows Form tab.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
United Kingdom United Kingdom
Ahmed J. Kattan Bachelor degree from Jordan University of Science and Technology computer science department, Master Degree from University of Essex and PhD student at University of Essex ”United Kingdom”, I have written several applications, designed multiple algorithms and several publications. My favorite languages are C++ and C#.



see www.ahmedkattan.com to view Ahmed Kattan's online CV.

Comments and Discussions

 
AnswerRe: Crystal Report Problem Pin
kashifjaat22-Nov-12 18:06
kashifjaat22-Nov-12 18:06 
GeneralProblem when loading ReportDocument Pin
agmb28-Jun-05 3:34
agmb28-Jun-05 3:34 
GeneralRe: Problem when loading ReportDocument Pin
Ahmed jamil Kattan28-Jun-05 20:56
Ahmed jamil Kattan28-Jun-05 20:56 
GeneralCrystal Reports from XML Pin
unitecsoft10-Jun-05 12:38
unitecsoft10-Jun-05 12:38 
GeneralRe: Crystal Reports from XML Pin
Ahmed jamil Kattan10-Jun-05 21:13
Ahmed jamil Kattan10-Jun-05 21:13 
GeneralThanks !!! Pin
Trance Junkie2-Jun-05 21:43
Trance Junkie2-Jun-05 21:43 
GeneralRe: Thanks !!! Pin
Ahmed jamil Kattan3-Jun-05 21:00
Ahmed jamil Kattan3-Jun-05 21:00 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.