VI.1. Tạo chức năng mở báo cáo
Một chức năng quan trọng khi làm việc với màn hình là mở báo cáo thể hiện thông tin liên quan đến màn hình. Điều kiện cần thiết khi thực hiện chức năng là trong cơ sở dữ liệu phải tồn tại một báo cáo mà sẽ được mở từ màn hình đang làm việc.
Các bước để thực hiện chức năng mở báo cáo trên màn hình:
Thiết kế một điều khiển trên Form ứng với chức năng mở báo cáo, thường là một Command Button
Gọi lệnh mở báo cáo theo cú pháp sau:
DoCmd.OpenReport "Tên báo cáo", Kiểu mở , "Điều kiện lọc"
+ Tên báo cáo: tên của một báo cáo đã có trong cơ sở dữ liệu
+ Kiểu mở: ta có thể mở báo cáo để xem trên màn hình hay là xuất báo cáo ra máy in tuỳ theo các trị truyền vào
− acViewPreview: mở báo cáo để xem trên màn hình − acViewNormal: xuất báo cáo ra máy in
+ Điều kiện lọc: ta có thể giới hạn dữ liệu hiển thị trên báo cáo thông qua giá trị này. Cách sử dụng giá trị này cũng giống với mệnh để lọc trong lệnh lọc dữ liệu (Filter)
Chứng chỉ B Tin Học Quốc Gia Trang 110/131
VI.2. Ví dụ
Màn hình trên có 3 nút dùng để mở báo cáo trên màn hình:
Danh sách sinh viên: Mở báo cáo chứa các sinh viên trong cơ sở dữ liệu
Sinh viên theo khoa: Mở báo cáo danh sách sinh viên của khoa hiện hành trên màn hình
Điểm của sinh viên: Mở bảng điểm của sinh viên hiện hành trên màn hình Cách thực hiện chức năng Danh sách sinh viên:
Tạo báo cáo chứa danh sách sinh viên hiện có, lưu báo cáo với tên là rptDssv
Trong sự kiện click của nút Danh sách sinh viên, giả sử đặt tên là cmdDssv, ta viết lệnh như sau:
Private Sub cmdDssv_Click()
DoCmd.OpenReport "rptDssv", acViewPreview End Sub
Cách thực hiện chức năng Sinh viên theo khoa:
Tạo báo cáo chứa danh sách sinh viên có nhóm theo khoa, lưu báo cáo với tên là rptDssvTheoKhoa
Trên màn hình, đặt tên cho Text Box chứa mã khoa là: txtMaKhoa
Trong sự kiện click của nút Sinh viên theo khoa, giả sử đặt tên là cmdSinhVienKhoa, ta viết lệnh như sau:
Private Sub cmdSinhVienKhoa_Click()
DoCmd.OpenReport "rptDssvTheoKhoa", acViewPreview, , "MaKhoa = '" & txtMaKhoa & "'" End Sub
Một điểm cần lưu ý khi mở báo cáo có lọc là trên báo cáo cần mở phải có chứa tên Field mà ta dùng để lọc, trong trường hợp trên MaKhoa phải là tên Field có trong nguồn dữ liệu của báo cáo rptDssvTheoKhoa
Chứng chỉ B Tin Học Quốc Gia Trang 111/131
Bài 7