Your first VB.NET Crystal Reports - A step by step guide

By: Issac Emailed: 1757 times Printed: 2448 times    

Latest comments
By: rohit kumar - how this program is work
By: Kirti - Hi..thx for the hadoop in
By: Spijker - I have altered the code a
By: ali mohammed - why we use the java in ne
By: ali mohammed - why we use the java in ne
By: mizhelle - when I exported the data
By: raul - no output as well, i'm ge
By: Rajesh - thanx very much...
By: Suindu De - Suppose we are executing

Crystal Report is an application which can generate various reports from different data sources, we can create reports, print and preview those report using it, It is compatible with almost a developing platforms and databases,  In this article you can find useful resources for generating reports from VB.NET with Crystal Report.

We can now see how to create a sample Database and Tables and data. First we have to create a database. Give the database name as "crystaldb" 

Create a DataBase "crystaldb" 

In the crystaldb database, let us create three tables OrderMaster, OrderDetails, Product.

1. OrderMaster_id
2. OrderMaster_date
3. OrderMaster_customer
4. OrderMaster_createduser 

1. OrderDetails_id
2. OrderDetails_masterid
3. OrderDetails_productid
4. OrderDetails_qty 

1. Product_id
2. Product_name
3. Product_price

Now that you have a database you can start your first VB.NET Crystal Reports.

All Crystal Reports programming samples in these tutorials are based upon the following database (crystaldb, the one we created through the previous article).

Open Visual Studio .NET and select a new Visual Basic .NET Project.


Create a new Crystal Report for Product table from the above database crystalDB. The Product Table has three fields (Product_id, Product_name, and Product_price).

From the main menu in Visual Studio select PROJECT-->Add New Item. Then Add New Item dialogue will appear and select Crystal Reports from the dialogue box.


Accept the default settings and click OK.

Next step is to select the appropriate connection to your database. Here we are going to select OLEDB connection for SQL Server

Select OLE DB ( ADO ) from Create New Connection.


Select Microsoft OLE DB Provider for SQL Server.


Next screen is the SQL Server authentication screen. Select your Sql Server name, enter userid, password and select your Database Name. Click next, Then the screen shows OLE DB Property values, leave it as it is, and click finish.

Then you will get your Server name under OLEDB Connection from there select database name (Crystaldb) and click the tables , then you can see all your tables from your database.

From the tables list select Product table to the right side list.


Click Next Button

Select all fields from Product table to the right side list.



Click Finish Button. Then you can see the Crystal Reports designer window. You can arrange the design according your requirements. Your screen looks like the following picture.


Now the designing part is over and the next step is to call the created Crystal Reports in VB.NET through Crystal Reports Viewer control.

Select the default form (Form1.vb) you created in VB.NET and drag a button and CrystalReportViewer control to your form.



Select Form's source code view and put the code on top

Imports CrystalDecisions.CrystalReports.Engine

Put the following source code in the button click event  

Imports CrystalDecisions.CrystalReports.Engine
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, 
ByVal e As System.EventArgs) Handles Button1.Click
        Dim cryRpt As New ReportDocument
        cryRpt.Load("PUT CRYSTAL REPORT PATH HERE\CrystalReport1.rpt")
        CrystalReportViewer1.ReportSource = cryRpt
    End Sub
End Class


cryRpt.Load ("PUT CRYSTAL REPORT PATH HERE\CrystalReport1.rpt")

The Crystal Reports is in your project location, there you can see CrystalReport1.rpt. So give the full path name of report here.

After you run the source code you will get the report like this.


Hope this article helps you to create your first Crystal Reports. Home | All Tutorials | Latest Tutorials

Sponsored Links

If this tutorial doesn't answer your question, or you have a specific question, just ask an expert here. Post your question to get a direct answer.

Bookmark and Share


1. View Comment

Hi ,

Is there any way to export contents of datagridview to crystal report?. bcos i have some data which is displayed in the gridview but not in the dataset or table.

View Tutorial          By: Nithya Duraiswamy at 2009-03-03 21:32:05
2. View Comment

Hi Nithya,
yes you can do that see the tutorial on <a href="">How to export from DataGridView to excel using</a> at <a href=""></a>

View Tutorial          By: Ramlak at 2009-03-04 01:20:01
3. View Comment

Hey is there any way to export datagrid to crystal reports. Please advice me on this

View Tutorial          By: Anu at 2009-05-08 13:11:48
4. View Comment

can i have sample of java programming that has database connection and manipulation on SQL 200 and MS Access?


View Tutorial          By: piolo at 2009-05-31 18:53:25
5. View Comment

the above is perfect, but when i hit the export button, it opens the save as window, it defaults to .rpt as the save as type, how can i set this to XLS and still allow the user to save as normla, i.e set file name and location themselves, as I have been looking into this and a lot of people are suggesting adding a button and using the export options, but I don’t want that I still want the user to control where/what they save, it just want it to default to excel for them. Any ideas?

View Tutorial          By: CH at 2009-06-02 03:01:34
6. View Comment

i tried this way.that works perfectly.but i make the setup of the project & install it.there, report doesn't shows an error there any additional software needed to display report???wat's the problem??pls help me...

View Tutorial          By: indu at 2009-06-08 03:13:51
7. View Comment

How can I send parameter to crystal report?

View Tutorial          By: Mark at 2009-10-14 03:41:36
8. View Comment

hi! this coding is very helpful for me thanks .

View Tutorial          By: bhuvaneshwari at 2009-10-18 23:52:58
9. View Comment

my problem is.......
i use 2005 i want to put any no to data grid from the user and perform the arithmetic operation on it such as.....
column1 column2 co lumn3
5 * 2 10

input 5 and 2 from user in column 1 and column 2 and calculate the value of it in 3rd column

View Tutorial          By: Anirban at 2009-10-25 10:15:13
10. View Comment

hay is there any way to perform operation or calculation
directly on crystal reports, which was not done in dataset.
like can i count number of presence of a person in a particular month directly in reports?

View Tutorial          By: neha at 2009-11-20 08:29:45
11. View Comment

i have to connect the crystal report with the report source dynamically. Is there any facility to connect the report dynamically?

View Tutorial          By: shanmugaraj at 2010-03-03 04:08:30
12. View Comment

very good tutorial..

View Tutorial          By: shobhit at 2010-05-04 12:17:41
13. View Comment

hi this is very helpful........thank you very much

View Tutorial          By: sumalatha at 2010-06-07 02:16:37
14. View Comment

hey dude
im using 2008 and sql server 2005
i followed the steps
but when i hit show button the report viwer only show the field names its not showing the data in a table

i made a report of a single table to show all data of that table as u did

View Tutorial          By: Haseeb ur Rehman at 2010-11-12 02:08:48
15. View Comment

My problem is that how to connect the report with my access database by using a relative path..u know wat i mean.. a path that will run on any other PC..

because actually when i run my program on another PC, it is asking for the database..and i need to reconnect the database..but when i will submitt it will be wrong

so i need to know a way to connect using a relative path

thanks hope it is well explained

View Tutorial          By: Twahie at 2011-03-21 05:31:06
16. View Comment


As you shown here that we have to give the full path of our crystal report but what the problem here is that if you switched to another system there might not be having the same path. So what we have to do is have to change the paths of all the reports. What i wish is that is there any way we can give relative path instead of absolute path? How?

View Tutorial          By: Keyur at 2011-04-05 03:30:12
17. View Comment

my project is in so is there any reports to be generated for asp projects .please reply sir

View Tutorial          By: mohsin at 2011-04-14 06:25:59
18. View Comment

can you clearly reveal how to create crystal reports and how to make alignments in crystal reports in vb6....?

View Tutorial          By: halim at 2011-07-02 00:28:48
19. View Comment

My problem is with daybook. In table , The ledgername is 'Purchase' , But in crystal report, I want 'By Purchase',, How can i get it sir?

Thanks in advance....

View Tutorial          By: Priyesh at 2011-07-06 06:34:33
20. View Comment

Hi sir !

I have two Crystal Report, Named Crystal1 and crystal2,

Is it possible that the CrystalReportViewer can view two Crystal report .. ? and how ? im using 2008..

View Tutorial          By: Anderson Abad at 2011-07-20 03:34:51
21. View Comment

I am using VS2010 & SAP for crystal report. I have done what you posted.
But I did it with my database. A table was selected like your post.
It show only column name, does not show the value of row. Some color name & date was shown here. I have tried for another tables. It's act same. I don't understand what should be done....Please help me as soon as possible......

Yahoo : mamun_ruetcse

View Tutorial          By: Abdullah Al Mamun at 2011-08-11 23:20:37
22. View Comment

Microsoft 2008 not showing Crystal Report Viewer control. So i cannot add Crystal Report Viewer to Form. help me please

View Tutorial          By: Ali at 2011-11-30 03:21:00
23. View Comment

It's very use full to me ....
Thans a lot........

View Tutorial          By: Raxit at 2011-12-30 03:57:03
24. View Comment

dear i have different files of ms access 2010 like as file1.accdb, file2.accdb,..... filex.accdb. but their table has same name. "table1". so different files have different data. and i want to make report of different files. mean when i click on fileName it report should view. Please help me

View Tutorial          By: neeo at 2012-01-16 07:02:20
25. View Comment

The above tutorial is for SQL server,
is there any one who knows how to create crystal reports using ACCESS database.....?
Please let me know...

View Tutorial          By: Anil at 2012-02-07 15:58:06
26. View Comment

i am using crystal report 9. Once i install my program ( 2008) on any other PC with different SQL server name, to view the reports it is asking database connection and if i give relative server name,user and pass it will fail to connect.
so i need to know how to update connection string for reports dynamically.


View Tutorial          By: jeff at 2012-02-12 08:14:15
27. View Comment

my crys rpt is nt generating bill, it is asking login & password of the database , and i have nt kept any password.

View Tutorial          By: Afan Khan at 2012-04-05 16:48:40
28. View Comment

hi plz help
how do we change project development settings to general development settings...

View Tutorial          By: pratik jogwar at 2012-06-07 19:58:47
29. View Comment

,Hi, (VS2008, VB.Net
I used the above code, but whenever i click on the Button, It just shows the table columns without the data.

What is it that i am not doing right?
Dim cryRpt As New ReportDocument
CrystalReportViewer1.ReportSource = cryRpt

View Tutorial          By: Pat at 2012-06-27 17:30:37
30. View Comment

Fantastic Post, can u pls tell me how can i pass query to this report?
I want to display results by firing certain queries.

pls Help.

View Tutorial          By: Kunal at 2012-08-07 07:02:41
31. View Comment

how to set the report for particularn form feilds in 2008...?
not for database....
i want ly currrent form....

View Tutorial          By: mathivanan at 2012-09-21 00:05:07
32. View Comment

is there any way to generate report without seagate crystal software

View Tutorial          By: Roshni at 2012-10-01 09:32:41
33. View Comment

sap crystal active-x design
failed to open a connection
connection open.sqlsever does not exist or access denied
navigation error 17

View Tutorial          By: Mubarak at 2012-11-11 17:16:54
34. View Comment

i want to know the step by step process of reporting in 2010

View Tutorial          By: moumita das at 2012-12-01 12:28:35
35. View Comment

The tutorial is very usefull, i am happy now

View Tutorial          By: Haneefa at 2013-03-30 06:31:47
36. View Comment

Your Crystal report viewer showing all the records that is in Database together. But will you please help me, i want to show all those records one by one not together in one page. Because my table having so many points, i want to show those records ID wise one after one. Please help me out. THANKS...

View Tutorial          By: Neel at 2013-06-09 15:02:15
37. View Comment

how can make a report to display one record after the other...e.g if its about students resulsts,to display the records per students. every with his or her report?

View Tutorial          By: david at 2013-08-30 16:09:23
38. View Comment

Very good. but why i can search data then report view.

View Tutorial          By: ARMAN AHMED at 2015-04-27 13:18:04

Your name (required):

Your email(required, will not be shown to the public):

Your sites URL (optional):

Your comments:

More Tutorials by Issac
Save/Write/Read image file from/to a database using Java program
How to modify the objects using java classes
Java program for Cloning
Java program for changeable wrapper class
A tutorial on Chat Server and Chat Client in
Chat Server in
Chat client in
How to open and read an XML file in
How to create an XML file in
XML and
How to create an XML file in VB.NET using Dataset
Multi Threaded Client Socket Programming in
Multi Threaded Server Socket Programming in
Multi threaded Socket Programming in
Client Socket Program sample in

More Tutorials in
Scope in
Unstructured Exception Handling in
Structured Exception Handling in
Creating Sub Procedures in
Creating Functions in
Passing a Variable Number of Arguments to Procedures in
Specifying Optional Arguments with default values in Procedures in
Preserving a Variable's Values between Procedure Calls in
Procedure Delegates in
Properties in
Understanding Scope in
Using Resume Next and Resume Line in
Using On Error GoTo 0 in
Getting an Exception's Number and Description in
Raising an Exception Intentionally in

More Latest News
Most Viewed Articles (in )
How to export from DataGridView to excel using
Your first VB.NET Crystal Reports - A step by step guide
How to export from database to excel using
Insert cell data in an Excel file using OLEDB in
The Option and Imports Statements in VB .NET
Handling Dates and Times in
Sub Procedures and Functions in
A tutorial on Chat Server and Chat Client in
To read the entire worksheet in an Excel workbook through Code
What's New in VB .NET? A comparison of VB vs
Arrays and Dynamic Arrays in
How To Connect To A MySql Database in
How to Open and Edit Cells in an Excel 2007 file in VB.NET
Using Resume Next and Resume Line in
For Loop in
Most Emailed Articles (in
How to export from DataGridView to excel using
How to send email using VB.NET code
Data types in
Arrays and Dynamic Arrays in
If…Else Statements in
ArrayList data structure in
Name Value Collecion in
Implicit & explicit type Conversion in
String equals, Copy to & Copy to in
File stream operations in binary reader and writer
Insert cell data in an Excel file using OLEDB in
Update cell data in an Excel file using OLEDB in
How to find IP Address of Host using .net code
Specifying Optional Arguments with default values in Procedures in