Để điều khiển việc xem in báo cáo trong ứng dụng, người ta thường thiết kế một form, trong đó có các điều khiển việc xem in báo cáo và lập trình cho các sự kiện của các điều khiển này..
Trang 1BÀI 3 LẬP TRÌNH VÀ IN ẤN BÁO CÁO
Mục tiêu
Sau bài học, sinh viên có khả năng:
- Kiến thức: Biết sử dụng Crystal Report để thiết kế báo cáo Lập trình trên Form để thực hiện việc xem và in báo cáo
- Kỹ năng: Vận dụng được kiến thức thiết kế báo cáo và lập trình trên Form để thực hiện việc xem và in báo cáo vào giải quyết các bài toán thực tế
- Thái độ:
+ Nghiêm túc, sáng tạo
+ Tích cực tập luyện
Chuẩn bị dụng cụ, vật tư, thiết bị
Chuẩn bị máy tính có hệ điều hành Windows XP hoặc cao hơn, phần mềm Microsoft Office, bộ gõ Tiếng Việt, phần mềm SQL Server 2000 hoặc cao hơn, phần mềm Visual Studio 2008 có cài đặt Crystal Report hoặc cao hơn
3.1 Tóm tắt kiến thức cần nhớ
Reports là công cụ để trình bày và tóm tắt dữ liệu trong một văn bản để in ra giấy Report có hai thành phần cơ bản cấu thành: dữ liệu nguồn (source data) và hình thức trình bày (Layout) là dạng thức của Report sẽ định dạng cách kết xuất dữ liệu
Mỗi Report yêu cầu chỉ rõ trường nào muốn thể hiện trên Report, tiêu đề và các thông tin đó đặt ở đâu trên trang giấy Report không lưu trữ dữ liệu mỗi Field của bảng dữ liệu Nó chỉ lưu trữ kết nối và định dạng kết xuất của các trường trên Report Layout Giá trị của các Field đó có thể thay đổi mỗi khi chạy Report, nó tuỳ thuộc vào việc thay đổi các giá trị của các Field trong các bảng dữ liệu nguồn
1 Các bước chính để thiết kế một Report:
- Xác định loại Report cần tạo
- Tạo Report LayOut
- Chạy thử Report
Trang 2- Chỉnh sửa LayOut của Report để đạt yêu cầu
Hình 76 Báo cáo dạng label in nhiều label trên một trang
Trang 3Hình 77 Báo cáo dạng label in trên một trang
Dạng 2 là Report thường dùng để trình bày thông tin của nhiều bản ghi trong cơ
sở dữ liệu, trong loại này có thể trình bày theo kiểu bảng không phân nhóm, phân nhóm theo một hoặc nhiều tiêu chí, loại một – nhiều, … Có thể in một hoặc nhiều Report trên một hoặc nhiều trang giấy in
Hình 78 Báo cáo dạng 1 bản ghi trên một trang
Như vậy, tạo một Report chẳng qua là tạo một Report Layout
2 Để xây dựng một form dùng để cập nhật dữ liệu cho một cơ sở dữ liệu bằng VB.NET, thực hiện các bước sau:
Trang 41 Xây dựng một form mới để điều khiển việc xem in báo cáo
2 Đƣa các điều khiển vào form xem, in báo cáo
3 Đặt thuộc tính cho form và các điều khiển trên form xem, in báo cáo
4 Kết nối form xem in báo cáo với báo cáo
5 Lập trình cho các sự kiện thực thi các nhiệm vụ
1 Chọn Project đang xây dựng từ cửa sổ Solution Explorer
2 Trên thanh menu chọn Project / Add New Item Xuất hiện cửa sổ Add New Item
Hình 79 Cửa sổ Add New Item
3 Chọn Reporting ở khung bên trái của cửa sổ / chọn Crystal Reports / nhập tên giấy mời vào ô textbox Name là GiayMoiKhachHang.rpt Sau đó nhấn nút Add Xuất hiện cửa sổ Crystal Reports Gallery
Trang 5Hình 80 Cửa sổ Crystal Reports Gallery Bảng 4 Các hình thức tạo báo cáo bằng Crystal Report
Trang 6Chọn As a Blank Report / nhấn nút OK Xuất hiện cửa sổ thiết kế báo cáo gồm 5 section:
Bảng 5 Các phần chính trên một báo cáo
Section 2 (Page Header) Dùng để trình bày tiêu đề đầu của mỗi trang in
báo cáo Tiêu đề này xuất hiện ở đầu mỗi trang giấy in
Section 3 (Details) Dùng để trình bày dữ liệu của các bản ghi
trong cơ sở dữ liệu cần hiển thị trên báo cáo
Section 4 (Report
Footer)
Dùng để trình bày tiêu đề cuối của mỗi báo cáo Tiêu đề này chỉ xuất hiện một lần ở cuối báo cáo
Section 5 (Page Footer) Dùng để trình bày tiêu đề cuối của mỗi trang
in báo cáo Tiêu đề này xuất hiện ở cuối mỗi trang giấy in
Trang 7Ngoài các section này, Crystal Report còn cung cấp thêm một số section nữa như: Group Header, Group Footer để sử dụng khi thiết kế báo cáo có phân nhóm
Trong các section này người thiết kế báo cáo có thể bố trí các điều khiển để điều khiển việc hiển thị dữ liệu trên báo cáo
Trong phần thực hành sẽ sử dụng các section và các điều khiển này vào các công việc cụ thể
Để điều khiển việc xem in báo cáo trong ứng dụng, người ta thường thiết kế một form, trong đó có các điều khiển việc xem in báo cáo và lập trình cho các sự kiện của các điều khiển này
Chẳng hạn:
Hình 81 Form điều khiển việc in giấy mời khách hàng
Hay:
Trang 8Hình 82 Form điều khiển việc in hóa đơn bán hàng
Lưu ý: Để thao tác với Crystal Report người lập trình phải đưa vào các thư viện bằng đoạn mã sau:
Imports CrystalDecisions.CrystalReports.Engine
3.2 Hướng dẫn thực hành
3.2.1 Bài tập mẫu
Tiếp tục với bài tập mẫu đã thực hiện ở bài 2 thực hiện các công việc sau:
Công việc 1: Thiết kế giấy mời hội nghị khách hàng hàng năm
1 Sử dụng Crystal Report thiết kế giấy mời khách hàng theo mẫu sau
Trang 9Hình 83 Giấy mời tham dự hội nghị khách hàng
Dữ liệu báo cáo: Lấy từ nội dung bảng khách hàng trong cơ sở dữ liệu
Ngày in giấy mời sẽ lấy từ đồng hồ hệ thống
2 Thiết kế form điều khiển việc in giấy mời khách hàng theo mẫu sau
Trang 10Hình 84 Form điều khiển việc in giấy mời khách hàng
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn in giấy mời khách hàng:
Font: Microsoft Sans Serif, Bold, 16
Căn giữa màn hình form tìm kiếm theo chiều ngang
Trang 11 Khi lựa chọn tất cả khách hàng thì tự động giá trị ô nhập mã khách hàng
bị xóa và đồng thời khóa ô nhập mã khách hàng
Khi lựa chọn từng khách hàng thì mở khóa ô nhập mã khách hàng cho phép người sử dụng nhập giá trị vào
Trang 12Công việc 2:
1 Sử dụng Crystal Report thiết kế
a) Bảng kê bán hàng hàng ngày theo mẫu sau
Hình 85 Mẫu bảng kê bán hàng
b) Hóa đơn bán hàng theo mẫu sau
Hình 86 Hóa đơn bán hàng
Trang 13 Tạo mới một công thức để tính tổng tiền của hóa đơn bán hàng
Các dữ liệu số trên hóa đơn: Dùng dấu để phân cách phần nghìn, sử dụng tới 2 số sau phần thập phân
Cột số thứ tự lấy giá trị tự động từ danh sách dữ liệu của hóa đơn bán hàng Không sử dụng dấu để phân cách phần nghìn Giá trị số thứ tự căn giữa cột
Kẻ khung cho phần danh sách các mặt hàng đã mua
Trang 142 Thiết kế form điều khiển việc in ấn hóa đơn bán hàng theo mẫu sau:
Hình 87 Form điều khiển việc in hóa đơn
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn in hóa đơn bảng kê bán hàng:
Font: Microsoft Sans Serif, Bold, 14
Căn giữa màn hình form theo chiều ngang
Mầu chữ: Đen
- Các nhãn Lựa chọn in, từ ngày, đến ngày, in theo, số hiệu hóa đơn
Trang 15 Font: Microsoft Sans Serif, 9
Có 2 giá trị: Hóa đơn bán hàng, bảng kê bán hàng
- Lựa chọn tất cả hóa đơn, từng hóa đơn:
Là dạng radio button
Mặc định lựa chọn tất cả hóa đơn
Font: Microsoft Sans Serif, 9
- Ô nhập số hiệu hóa đơn
Font: Microsoft Sans Serif, Bold, 9
- Nút lệnh In ấn
Trang 16 Font: Microsoft Sans Serif, Bold, 9
b) Thiết kế form xem trước hóa đơn bán hàng theo mẫu sau:
Hình 88 Form xem trước khi in hóa đơn bán hàng
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
Trang 17- Form xuất hiện chính giữa màn hình
- Nhãn xem trước hóa đơn:
Font: Microsoft Sans Serif, 18pt
Căn giữa màn hình form theo chiều ngang
Mầu chữ: Đen
- Khung hiển thị báo cáo:
Không có phần có thanh công cụ
Không có thanh trạng thái
Giao diện hiển thị không có phần cây thư mục ở bên trái
- Ô nhập số hiệu hóa đơn
Font: Microsoft Sans Serif, Bold, 9
Trang 18Khi nhấn vào nút lệnh >> sẽ chuyển về hóa đơn đầu tiên và hiển thị ở khung bên trên
Khi nhấn vào nút lệnh sẽ tìm trong cơ sở dữ liệu hóa đơn bán hàng phù hợp và
in hóa đơn ra máy in mặc định hoặc thông báo không tìm thấy
Trang 19Công việc 3 Thiết kế báo cáo thống kê bán hàng theo người bán
a) Sử dụng Crystal Report thiết kế báo cáo thống kê các hóa đơn bán phân nhóm theo từng người bán theo mẫu sau
Trang 20từ 1 khi bắt đầu một nhóm mới (Đánh lại số thứ tự của dòng theo mỗi nhóm)
+ Ngày tháng năm lấy theo đồng hồ hệ thống
+ Số trang đánh bắt đầu từ 1 / tổng số trang
+ Cỡ chữ của các phần trên báo cáo là 13
+ Font chữ: Times New Roman
+ Các nhãn có nội dung là CỬA HÀNG THƯƠNG MẠI ABC, BÁO CÁO BÁN HÀNG kiểu in đậm
b) Thiết kế form điều khiển việc xem in báo cáo thống kê bán hàng theo mẫu sau:
Hình 89 Form điều khiển việc in báo cáo bán hàng
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn in báo cáo bán hàng:
Trang 21 Font: Microsoft Sans Serif, Bold, 14
Căn giữa màn hình form theo chiều ngang
Có giá trị được lọc từ những người bán hàng trong bảng bán hàng
Mặc định lựa chọn này bị khóa không cho người sử dụng lựa chọn Chỉ khi người sử dụng lựa chọn in theo từng người bán hàng thì lựa chọn này mới được bật lên
- Lựa chọn tất cả người bán hàng, từng người bán hàng:
Trang 22Khi nhấn vào nút lệnh xem trước, chương trình sẽ căn cứ vào lựa chọn của người sử dụng để hiển thị báo cáo bán hàng của tất cả các người bán hàng hoặc từng người bán hàng tương ứng tại một form mới
Công việc 1 Sử dụng Crystal Report thiết kế giấy mời khách hàng theo mẫu
a) Thiết kế giấy mời bằng Crystal Report
1 Phân tích công việc
Theo yêu cầu trên thì toàn bộ phần nội dung giấy mời phải được thiết kế trong phần Details Trong đó, mẫu của giấy mời là:
Trang 23Hình 90 Mẫu giấy mời khách hàng
Thời gian: vào hồi giờ, ngày tháng năm
Địa điểm: Tại ,
Sự hiện diện của quý khách là niềm vinh hạnh của cửa hàng chúng tôi
Xin trân trọng cảm ơn !;
- Nam Đinh, ngày;
- GIÁM ĐỐC CÔNG TY
Mỗi nội dung này là một đối tƣợng văn bản của giấy mời
Còn phần thể hiện của họ tên, địa chỉ, điện thoại cụ thể của mỗi khách hàng nhƣ Phan Đức Thiện, Nam Định, 0918875005 đƣợc lấy từ nội dung của các bản ghi trong bảng khách hàng Ngày in giấy mời là ngày hiện thời lấy theo đồng hồ máy
Trang 242 Hướng dẫn thao tác
Để thiết kế giấy mời khách hàng theo mẫu bằng Crystal Report thực hiện các bước sau:
1 Chọn Project đang xây dựng từ cửa sổ Solution Explorer
2 Trên thanh menu chọn Project / Add New Item Xuất hiện cửa sổ Add New Item
Hình 91 Cửa sổ Add New Item
3 Chọn Reporting ở khung bên trái của cửa sổ / chọn Crystal Reports / nhập tên giấy mời vào ô textbox Name là GiayMoiKhachHang.rpt Sau đó nhấn nút Add Xuất hiện cửa sổ Crystal Reports Gallery
Trang 25Hình 92 Cửa sổ Crystal Reports Gallery
Chọn As a Blank Report / nhấn nút OK Xuất hiện cửa sổ thiết kế báo cáo gồm 5 section:
Hình 93 Giao diện thiết kế báo cáo bằng Crystal Report
Do đó, để thiết kế cách trình bày giấy mời này thực hiện:
- Kéo đối tượng Text Object từ cửa sổ Toolbox vào phần Details (đối tượng này dùng để trình bày văn bản sẽ hiển thị trên báo cáo) Kích chuột vào đối tượng và nhập nội dung CÔNG TY TNHH THƯƠNG MẠI ABC Nháy phải chuột vào đối tượng Text Object rồi chọn Properties để thiết lập các thuộc tính cho đối tượng Text Object như sau:
Trang 26+ Font: Times New Roman, 11,25pt, style=Bold
+ Text align: Center
+ Điều chỉnh đối tƣợng vào vị trí mong muốn
- Kéo tiếp đối tƣợng Text Object từ cửa sổ Toolbox vào phần Details vào vị trí theo yêu cầu Kích chuột vào đối tƣợng và nhập nội dung là GIẤY MỜI Nháy phải chuột vào đối tƣợng Text Object rồi chọn Properties để thiết lập các thuộc tính cho đối tƣợng Text Object nhƣ sau:
+ Font: Times New Roman, 14pt, style=Bold
+ Text align: Center
- Kéo tiếp đối tƣợng Text Object từ cửa sổ Toolbox vào phần Details vào vị trí theo yêu cầu Kích chuột vào đối tƣợng và nhập nội dung là Họ tên khách hàng Nháy phải chuột vào đối tƣợng Text Object rồi chọn Properties để thiết lập các thuộc tính cho đối tƣợng Text Object nhƣ sau:
+ Font: Times New Roman, 14pt
+ Text align: Left
- Kéo tiếp đối tƣợng Text Object từ cửa sổ Toolbox vào phần Details vào vị trí theo yêu cầu Kích chuột vào đối tƣợng và nhập nội dung là Địa chỉ Nháy phải chuột vào đối tƣợng Text Object rồi chọn Properties để thiết lập các thuộc tính cho đối tƣợng Text Object nhƣ sau:
+ Font: Times New Roman, 14pt
+ Text align: Left
- Kéo tiếp đối tƣợng Text Object từ cửa sổ Toolbox vào phần Details vào vị trí theo yêu cầu Kích chuột vào đối tƣợng và nhập nội dung là Điện thoại Nháy phải chuột vào đối tƣợng Text Object rồi chọn Properties để thiết lập các thuộc tính cho đối tƣợng Text Object nhƣ sau:
+ Font: Times New Roman, 14pt
+ Text align: Left
- Kéo tiếp đối tƣợng Text Object từ cửa sổ Toolbox vào phần Details vào vị trí theo yêu cầu Kích chuột vào đối tƣợng và nhập nội dung là Trân trọng kính mời … cảm ơn! nhƣ mẫu Nháy phải chuột vào đối tƣợng Text Object rồi chọn Properties để thiết lập các thuộc tính cho đối tƣợng Text Object nhƣ sau:
Trang 27+ Font: Times New Roman, 14pt
+ Text align: Left
- Kéo tiếp đối tƣợng Text Object từ cửa sổ Toolbox vào phần Details vào vị trí theo yêu cầu Kích chuột vào đối tƣợng và nhập nội dung “Nam Định, ngày ” Nháy phải chuột vào đối tƣợng Text Object rồi chọn Properties để thiết lập các thuộc tính cho đối tƣợng Text Object nhƣ sau:
+ Font: Times New Roman, 14pt, style Italic
+ Text align: Right
- Kéo tiếp đối tƣợng Text Object từ cửa sổ Toolbox vào phần Details vào vị trí theo yêu cầu Kích chuột vào đối tƣợng và nhập nội dung là QUẢN LÝ CỬA HÀNG Nháy phải chuột vào đối tƣợng Text Object rồi chọn Properties để thiết lập các thuộc tính cho đối tƣợng Text Object nhƣ sau:
+ Font: Times New Roman, 14pt
+ Text align: Center
Chú ý: Để thực hiện việc giãn dòng văn bản trong đối tƣợng Text Object phải thực hiện các thao tác sau:
Nháy phải chuột vào đối tƣợng Text Object cần giãn dòng Chọn Format Object Xuất hiện cửa sổ Format Editor
Trang 28Hình 94 Cửa sổ Format Editor
Chọn tab Paragraph Trong lựa chọn Spacing chọn chế độ giãn dòng trong combobox của mục Line Spacing và thay đổi giá trị theo mong muốn và nhấn nút OK
Bây giờ, tiếp tục tiến hành kết nối với cơ sở dữ liệu nguồn là bảng tblKhachHang để lấy các thông tin họ tên, điện thoại, địa chỉ bằng các thao tác sau:
Từ cửa sổ Field Explorer ở khung bên trái của màn hình thiết kế, nháy phải chuột vào Database Fields / Database Expert Xuất hiện cửa sổ Database Expert
Trang 29Hình 95 Cửa sổ Databse Expert
Trong khung Available Data Soures/ Chọn My Connections / Chọn kết nối đã tạo lập ở bài 1 / Chọn tiếp đối tượng QLYBH / Chọn dbo / Chọn bảng tblKhachHang và nhấn vào nút mũi tên sang phải để đưa dữ liệu của bảng sang khung Selected Tables / Nhấn nút OK
Kéo trường HoTen vào vị trí mong muốn bên cạnh đối tượng có nội dung
Để thiết lập dạng hiển thị ngày dạng DD/MM/YYYY thực hiện thao tác sau: Nháy phải chuột vào đối tượng Print Date, chọn Format Object xuất hiện cửa sổ Format Editor
Trang 30Hình 96 Cửa sổ Format Editor
Chọn tab Date / chọn Customize, xuất hiện cửa sổ Customize Style
Hình 97 Cửa sổ Custom Style
Và chọn kiểu hiển thị mong muốn rồi nhấn nút OK
Trang 31Chú ý: Để xem thử báo cáo vừa tạo, nhấn chuột vào nút Main Report Preview
Trang 324 Kết quả thực thi
Hình 99 Kết quả thực thi in giấy mời khách hàng b) Thiết kế form điều khiển việc in giấy mời khách hàng theo mẫu
Hình 100 Form điều khiển việc in giấy mời khách hàng
1 Phân tích yêu cầu
Theo mẫu trên thì phải có một form chứa:
- Các đối tƣợng có nội dung “IN GIẤY MỜI KHÁCH HÀNG”, “In theo”, Mã khách hàng” là các Label
- Các đối tƣợng “Tất cả khách hàng”, “Từng khách hàng” là các Radio Button
- Ô nhập mã khách hàng là một Textbox
Trang 33- Các nút “Xem trước”, “In ấn”, “Kết thúc” là các Button
2 Hướng dẫn thao tác
Để thiết kế form theo mẫu trên cần tiến hành các thao tác sau:
Trên thanh menu, chọn Project/Add New Item
Xuất hiện cửa sổ Add New Item Chọn loại Windows Form, sau đó nhập tên frmInGiayMoiKhachHang vào ô Name rồi nhấn nút Add
- Kéo điều khiển Label từ cửa sổ Toolbox vào form vào vị trí theo yêu cầu Nháy phải chuột vào đối tượng Label rồi chọn Properties để thiết lập các thuộc tính cho đối tượng Label như sau:
+ Text: THÔNG TIN KHÁCH HÀNG
+ Font name: Microsoft Sans Serif
+ Font size: 18
+ Font bold: True
+ Các giá trị khác để mặc định
+ Trên menu chọn Format/Center in form/Horizontally để căn giữa
- Kéo điều khiển Label từ cửa sổ Toolbox vào form vào vị trí theo yêu cầu Nháy phải chuột vào đối tượng Label rồi chọn Properties để thiết lập các thuộc tính cho đối tượng Label như sau:
+ Font name: Microsoft Sans Serif
+ Font size: 9
+ Text: In theo
Thực hiện thao tác tương tự để tạo đối tượng có nội dung “Mã khách hàng”
- Kéo điều khiển Textbox từ cửa sổ Toolbox vào form vào vị trí theo yêu cầu Nháy phải chuột vào đối tượng Textbox rồi chọn Properties để thiết lập các thuộc tính cho đối tượng Textbox như sau:
+ Font name: Microsoft Sans Serif
+ Font size: 9
+ Enable: False
- Kéo điều khiển Radio Button từ cửa sổ Toolbox vào form vào vị trí theo yêu cầu Nháy phải chuột vào đối tượng Radio Button rồi chọn Properties để thiết lập các thuộc tính cho đối tượng Radio Button như sau:
+ Name: RadioButtonTatCaKH
Trang 34+ Font name: Microsoft Sans Serif
+ Name: ButtonKetThuc
+ Font name: Microsoft Sans Serif
Trang 35+ Font size: 9
+ Text: Kết thúc
Viết mã lệnh cho các điều khiển như sau:
Lưu ý: Để thao tác với Crystal Report người lập trình phải đưa vào các thư viện bằng đoạn mã sau:
Imports CrystalDecisions.CrystalReports.Engine
Mã lệnh khi click vào điều khiển RadioButtonTatCaKH
Private Sub RadioButtonTatCaKH_CheckedChanged(ByVal
sender As System.Object, ByVal e As System.EventArgs) Handles
RadioButtonTatCaKH.CheckedChanged
'Bật tắt ô nhập mã khách hàng
TextBoxMaKH.Enabled = Not RadioButtonTatCaKH.Checked
End Sub
Mã lệnh khi click vào điều khiển RadioButtonTatCaKH
Private Sub RadioButtonTungKH_CheckedChanged(ByVal sender
As System.Object, ByVal e As System.EventArgs) Handles
Private Sub TextBoxMaKH_TextChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
TextBoxMaKH.TextChanged
'Khai báo đối tượng và biến cần sử dụng
Trang 36Dim sqlTimKiem As String
'Thiết lập câu lệnh tìm kiếm theo mã khác hàng
sqlTimKiem = "SELECT * FROM tblKhachHang WHERE [MaKH]=" & TextBoxMaKH.Text
Using cn As New SqlConnection("Data
Dim ds As New DataSet()
Dim da As New SqlDataAdapter(cmd)
Mã lệnh khi click vào nút “Kết thúc”
Private Sub ButtonKetThuc_Click(ByVal sender As System.Object,
Trang 37ByVal e As System.EventArgs) Handles ButtonKetThuc.Click 'Đóng form
Me.Close()
End Sub
Mã lệnh khi click vào nút “Xem trước”
Private Sub ButtonXemTruoc_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Mã lệnh khi click vào nút “In ấn”
Private Sub ButtonInAn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonInAn.Click
'Khai báo một đối tượng Crystal Report
Dim myReport As New ReportDocument()
'Tải báo cáo từ đường dẫn chỉ định
myReport.Load(Application.StartupPath.ToString() &
"\GiayMoiKhachHang.rpt")
Trang 38'Thiết lập tên máy in cần in (nếu cần)
myReport.PrintOptions.PrinterName = "Foxit Reader PDF Printer"
'In giấy mời ra máy in chỉ định
'Kiểm tra mã khách hàng có tồn tại không
'Khai báo đối tượng và biến cần sử dụng
Dim sqlTimKiem As String
'Thiết lập câu lệnh tìm kiếm theo mã khác hàng
sqlTimKiem = "SELECT * FROM tblKhachHang WHERE [MaKH]=" & TextBoxMaKH.Text
Using cn As New SqlConnection("Data
Dim ds As New DataSet()
Dim da As New SqlDataAdapter(cmd)
Trang 39ButtonInAn.Enabled = False
'In giấy mời ra máy in
'Khai báo một đối tượng Crystal Report
Dim myReport As New ReportDocument() 'Tải báo cáo từ đường dẫn chỉ định
'In giấy mời ra máy in chỉ định
Trang 40Sau khi nhấn vào nút “In ấn” với lựa chọn theo từng khách hàng
Hình 102 Kết quả sau khi thực hiện chức năng in giấy mời khách hàng