Hướng dẫn tạo Crystal Report
Bài tập thực hành tạo Crystal Report với ví dụ cụ thể, có hướng dẫn chi tiết bằng hình ảnh.
Bạn đang xem nội dung tài liệu Hướng dẫn tạo Crystal Report, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Website: Email: admin@cdndalat.edu.vn
Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 1
BÀI TẬP THỰC HÀNH: LẬP TRÌNH WINDOWS 2
BÀI SỐ 01:
Sử dụng cơ sở dữ liệu MS SQL Server (2005) quản lý kho (có file .zip kèm theo):
Sử dụng MS Visual Studio .NET 2005/2008, thiết kế form cho phép chọn và lọc danh sách
hàng hóa theo loại hàng hóa như sau:
Yêu cầu:
+ Khi chọn danh sách loại hàng hóa, các mặt hàng có cùng chủng loại sẽ được lọc trong
DataGridView bên dưới.
+ Khi nhấn nút IN DANH SÁCH HÀNG HÓA, kết quả sẽ được xuất ra report:
Website: Email: admin@cdndalat.edu.vn
Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 2
HƯỚNG DẪN
Bước 1: Nhắp chuột vào nút Show All Files trên cửa sở Solution Explorer để hiện tất cả các
file. Sau đó nhắp chuột vào dấu + bên trái thư mục My Project sẽ thấy xuất hiện tập tin
Settings.settings.
Bước 2: Công việc tiếp theo mà chúng ta hãy sử dụng tập tin Settings.settings này để tạo
chuỗi kết nối cho ứng dụng, việc này rất có ý nghĩa nếu bạn muốn xây dựng một ứng dụng
thương mại sau này. Hãy tập thói quen sử dụng kiểu kết nối như tôi giới thiệu sau đâu để thấy
tính hiệu quả của chúng các bạn nhé!
Nào, bây giờ hãy nhắp chuột 2 phát vào tập tin Settings.settings để mở chúng ra thôi, xem có
gì trong đó mà tôi tiếp thị từ nãy giờ.
Bạn hãy thiết lập giá trị cho thuộc tính kết nối như hình trên, sau đó Save lại.
Name: MySqlConnString
Type: (Connection String)
Scope: Application
Value: Data Source=.\SqlExpress;Initial Catalog=QuanLyKho;Integrated Security=True
(Giá trị Value có thể khác tùy thuộc vào bạn muốn kết nối theo tài khoản SQL hay không)
Website: Email: admin@cdndalat.edu.vn
Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 3
Bây giờ bạn có thể nhắp chuột vào nút Show All Files một lần nữa để dấu đi những gì bạn
không muốn thay đổi.
Bước 3: Vào Microsoft SQL Server 2005, mở cơ sở dữ liệu QuanLyKho ra tạo một thủ tục
(Stored Procedures) với cú pháp như sau (nhớ Execute nhé bạn!):
CREATE PROCEDURE sp_DanhSachHangHoa (@MaLoai nvarchar(5))
AS
BEGIN
SELECT tblLoaiHangHoa.MaLoai, tblLoaiHangHoa.TenLoai, tblHangHoa.HangHoaID,
tblHangHoa.TenHH, tblHangHoa.MaHieu, tblHangHoa.DVT
FROM tblHangHoa INNER JOIN tblLoaiHangHoa ON tblHangHoa.MaLoai =
tblLoaiHangHoa.MaLoai
WHERE tblLoaiHangHoa.MaLoai=@MaLoai
END
Bước 4: Quay trở lại môi trường MS Visual Studio .NET, tạo một Crystal Report, đặt tên là
rptDanhSachHangHoa.rpt, lấy dữ liệu nguồn từ thủ tục sp_DanhSachHangHoa đã viết ở Bước
3. Các bước thực hiện như sau:
- Bước 4.1: Chọn Using the Report Wizard
Nhấn OK để tiếp tục
- Bước 4.2: Vào Create New Connection OLE DB (ADO) Microsoft OLE DB for SQL
Server.
Website: Email: admin@cdndalat.edu.vn
Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 4
Nhấn Next để tiếp tục.
- Bước 4.3: Nhập vào Server và chọn Database như hình sau:
Nhấn Next để tiếp tục, sau đó Finish để hoàn thành việc kết nối, cửa sổ sau xuất hiện:
Website: Email: admin@cdndalat.edu.vn
Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 5
- Bước 4.4: Vào QuanLyKho dbo Stored Procedures add sp_DanhSachHangHoa vào
cửa sổ bên phải như hình dưới đây:
Nhấn Next để tiếp tục.
- Bước 4.5: Đưa toàn bộ các trường của thủ tục sp_DanhSachHangHoa sang cửa sổ bên phải
Nhấn Next Next… để tiếp tục (hoặc Finish để hoàn tất)
Website: Email: admin@cdndalat.edu.vn
Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 6
- Bước 4.6: Trang điểm lại cho em Report đẹp hơn một tí đi nào:
- Bước 5: Tạo form mới, đặt tên là frmDanhSachHangHoa, thiết lập thuộc tính WindowState
của form là Maximized, đưa vào form một điều khiển CrystalReportViewer (đặt tên là
CrystalReportViewer1).
Website: Email: admin@cdndalat.edu.vn
Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 7
- Bước 6: Tạo form mới, đặt tên là frmChonLoaiHang:
Thêm vào form các điều khiển và đặt tên cho các điều khiển như sau:
Loại điều khiển Tên điều khiển
ComboBox cboMaLoai
DataGridView DataGridView1
Button btnIn
- Bước 7: Viết thủ tục và các sự kiện cho form frmChonLoaiHang như sau:
Imports System.Data.SqlClient
Public Class frmChonLoaiHang
'Khai bao cac bien dung chung cho lop
Private conn As New SqlConnection
Private cmd As New SqlCommand
Private ds As New DataSet
'Dinh nghia thu tuc nao danh muc loai hang hoa
Private Sub NapLoaiHangHoa()
Dim da As New SqlDataAdapter("Select * From tblLoaiHangHoa", conn)
Dim dt As New DataTable
da.Fill(dt)
Me.cboMaLoai.DataSource = dt
Me.cboMaLoai.ValueMember = "MaLoai"
Me.cboMaLoai.DisplayMember = "TenLoai"
End Sub
'Dinh nghia thu tuc loc hang hoa theo loai hang hoa
Private Sub LocHangHoa()
If Me.cboMaLoai.ValueMember "" Then
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "sp_DanhSachHangHoa"
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@MaLoai", Me.cboMaLoai.SelectedValue)
Dim da As New SqlDataAdapter
da.SelectCommand = cmd
ds.Clear()
Website: Email: admin@cdndalat.edu.vn
Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 8
da.Fill(ds, "DanhSachHangHoa")
Me.DataGridView1.DataSource = ds.Tables("DanhSachHangHoa")
End If
End Sub
Private Sub btnIn_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnIn.Click
'Nap du lieu cho Report
Dim myReport As New rptDanhSachHangHoa
myReport.SetDataSource(ds.Tables("DanhSachHangHoa"))
'Nap form in report
Dim f As New frmDanhSachHangHoa
f.CrystalReportViewer1.ReportSource = myReport
f.ShowDialog()
End Sub
Public Sub New()
' This call is required by the Windows Form Designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
conn.ConnectionString = My.Settings.mySqlConnString
conn.Open()
cmd.Connection = conn
Call NapLoaiHangHoa()
Call LocHangHoa()
End Sub
Private Sub cboMaLoai_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles cboMaLoai.SelectedIndexChanged
Call LocHangHoa()
End Sub
End Class
Còn bây giờ, chúng ta còn chần chừ gì nữa nào, hãy nhấn Start tận hưởng
sản phẩm của mình đi nè! Có mã nguồn kèm theo, các bạn có thể tham
khảo thêm.
Chúc các bạn thành công!!!