Tạo Crystal Report Trong Vb Net

36,032 views

Published on

Tạo Crystal Report Trong Vb Net

Published in: Technology
10 Comments
21 Likes
Statistics
Notes
No Downloads
Views
Total views
36,032
On SlideShare
0
From Embeds
0
Number of Embeds
310
Actions
Shares
0
Downloads
1,884
Comments
10
Likes
21
Embeds 0
No embeds

No notes for slide

Tạo Crystal Report Trong Vb Net

  1. 1. Website: http://itctu.com Sinh viên CNTT ĐHCT 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: Tài liệu tham khảo từ Internet Trang 1
  2. 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)
  3. 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.
  4. 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:
  5. 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)
  6. 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).
  7. 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()
  8. 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!!!

×