BÀI 4: BÁO CÁO (REPORT)
6. Định dạng và trang trí báo cáo
4.1.Tổng hợp dữ liệu trên mỗi nhóm
-Để tổng hợp dữ liệu của các bản ghi trong nhóm, ta tạo các điều khiển Unbound tại đầu hoặc cuối nhóm và đặt vào ô điều khiển các phép toán, hàm thống kê (Sum, Average, …) đã học
- Ví dụ: Khi tạo báo cáo thống kê số sinh viên và tổng học bổng ở mỗi khoa. Muốn vậy ta xây dựng báo cáo và nhóm dữ liệu trên trường Makhoa, tại đầu hoặc cuối nhóm đơn vị ta đưa vào điều khiển sau:
- Số Sinh Viên: =Count ([MaSV]) - Tổng học bổng: = Sum([HocBong])
4.2. Tổng hợp dữ liệu trên toàn báo cáo
Để tổng hợp dữ liệu của các bản ghi trên toàn báo cáo, ta cũng tạo các điều khiển như trên nhưng các hộp văn bản textbox điều khiển được đặt ở đầu và cuối báo cáo.
4.3 So sánh dữ liệu tổng hợp trên các phần của báo cáo
- Khi xây dựng các báo cáo thường phải so sánh, đối chiếu số liệu tổng hợp giữa các phần với nhâu. Ví dụ khi tổng hợp tổng số sinh viên của trường cần biết tổng số sinh viên của mỗi khoa chiếm bao nhiêu phần trăm tổng sinh viên của toàn trường.
- Để so sánh dữ liệu tổng hợp trên các phần của báo cáo ta làm như sau:
- Tạo các hộp văn bản Text box tại đầu hoặc cuối mỗi phần để nhận dữ liệu tổng hợp trên các phần, dùng thuộc tính Name trong hộp thoại Properties để đặt tên cho các ô điều khiển
- Sử dụng các ô điều khiển nói trên để thực hiện các phép toán so sánh dữ liệu tổng hợp trên các phần khác nhau của báo cáo, cách làm như sau: Tạo các ô điều khiển mới (tại bất kỳ vị trí nào trên báo cáo), rồi đặt vào đó các biểu thức tên các ô điều khiển đã xây dựng ở bước 1.
Hình 4. 11. Công cụ thiết kế báo cáo 6.1. Định dạng
Thiết lập thuộc tính các báo cáo
− Click phải trên đối tượng cần thay đổi thuộc tính, chọn Property Mô tả Format Định dạng kiểu dữ liệu numbers, dates,times, text . Decimal Places Số số lẻ.
Visible Hiển thị hoặc ẩn control.
Left Xác địnhvị trí của control theo chiều ngang.
Top Xác định vị trí của control theo chiều dọc Width Xác định độ rộng của control.
Height Xác định chiều cao của control.
Back Color Chọn màu nền của control. Click nút để chọn màu.
Special Effect Chọn hiệu ứng 3-D cho control
Border Style Chỉ định kiểu đường viền của control transparent lines, solid lines, dashed lines…
Border Color Màu đường viền.
Border Width Độ rộng của đường viền.
Fore Color Chỉ định màu cho văn bản trong các Font Name Chọn font chữ.
Font Weight Chữ đậm Font Italic Chữ nghiêng.
Font Underline Gạch dưới.
Text Align Canh lề cho văn bản trong control.
Tạo số thứ tự
Khi tạo report có dạng danh sách, ngoài các field trong cơ sở dữ liệu, ta có thể tạo thêm cột số thứ tự cho danh sách:
−Mở report ở chế độ design.
−Tạo một textbox trong phần detail
−Nhâp nội dung cho textbox
−Click phải trên textbox properties chọn tab Data.
−Tại thuộc tính Running Sum: chọn kiểu đánh số thứ tự.
∗ No: không đánh số thứ tự
∗ Over Group: đánh số thứ tự theo nhóm, dùng cho report có phân nhóm.
∗ Over All: đánh số thứ tự trên toàn bộ danh sách, dùng
Định dạng dữ liệu kiểu Text
định dạng văn bản trong các control dùng thanh công cụ trong nhóm Text Formatting
− Mở report ở chế độ Design hoặc Layout view.
− Chọn các ô chứa văn bản cần định dạng .
− Chọn font chữ trong khung font, kích thước trong khung size...
− Ngoài ra các định dạng khác, có thể sử dụng menu tắt khi click chuột phải trên các control cần định dạng.
Định dạng dữ liệu có điều kiện
Với công cụ conditional formatting bạn có thể nhấn mạnh một thông tin nào đó theo các định dạng khác nhau.
− Chọn giá trị trong cột mà bạn muốn định dạng
− Chọn Report Layout Tools, chọn tab Format
− Trong nhóm lệnh Control Formating, click nút Conditional Formatting.
6.2. Trang trí báo cáo Tạo lưới cho report:
− Mở report ở chế độ Layout.
− Thanh Ribbon chuyển sang Report Layout Tools.
− Chọn khối dữ liệu cần tạo lưới.
− Click nút Gridline
6.3. In ấn báo cáo
Câu hỏi và bài tập A. Câu hỏi
1. Nêu khái niệm báo cáo?
2. Nêu các loại báo cáo?
3. Trình bày các thành phần của một báo cáo? Nêu cách ẩn/ hiện các thành phần của báo cáo?
4. Trình bày phương pháp tạo báo cáo tự động (AutoReport)?
5. Trình bày phương pháp tạo báo cáo sử dụng công cụ Wizard?
6. Trình bày phương pháp thiết kế báo cáo ở chế độ Design View?
7. Nêu các công cụ thường dùng khi thiết kế báo cáo?
8. Trình bày cách tạo cột số thứ tự trong báo cáo?
9. Nêu cách tổng hợp số liệu trên mỗi nhóm dữ liệu và trên toàn bộ báo cáo?
10. Trình bày cách so sánh dữ liệu tổng hợp trên các phần của báo cáo?
11. Trình bày thao tác thực hiện báo cáo chính-phụ?
B. Bài tập
Bài 1. Sử dụng CSDL QuanLyBanHang.accdb đã cho, hãy tạo các báo cáo có dạng như sau:
Báo cáo 1
Hướng dẫn:
- Tạo một truy vấn chứa các cột như sau: NgaylapHD, TenSP, SoLuong, DonGia, ThanhTien:[Soluong]*[DonGia]
- Lưu Truy vấn với tên là : Q_ThongKe
- Dùng công cụ Wizard để tạo báo cáo lấy dữ liệu từ Query trên, nhóm báo cáo theo trường TenSP và có thống kê trong Summary Options là dùng hàm Sum trên trường ThanhTien
- Chuyển sang chế độ Design View để thiết kế lại báo cáo theo mẫu như sau:
- Báo cáo 2: Yêu cầu khi thực hiện báo cáo sẽ xuất hiện hộp thoại nhập vào mã hóa đơn. Khi nhập vào mã hóa đơn là 2 thì kết quả như sau:
Hướng dẫn:
- Tạo một truy vấn có các cột như sau:
HoTenKH, DiaChi, DienThoai từ bảng KHACHHANG
MaHD, NgayLapHD từ bảng HOADON
HoTenNhanVien:[HoNV]& “ ” &[TenNV] từ bảng NHANVIEN
TenSP, DonViTinh, DonGia từ bảng SANPHAM
SoLuong từ bảng CHITIETHD
Tạo một tham số trong truy vấn từ cột MaHD như sau:[Nhập mã Hóa đơn:]
- Lưu Truy vấn với tên là Q_HoaDon
- Dùng công cụ Wizard tạo một báo cáo theo yêu cầu như sau:
Báo cáo theo nhóm là cột TenKH
Và trong nhóm cùng giá trị cột TenKH, báo cáo theo nhóm là cột MaHD
Lưu lại báo cáo với tên là R_HoaDon
- Chuyển sang chế độ Design View để thiết kế lại báo cáo theo mẫu như sau:
-Bài 2.Sử dụng CSDL QuanLySinhVien.accdb đã tạo, hãy thực hiện các yêu cầu sau:
1. Tạo Form theo mẫu sau: Đặt tên F_TimSV
Yêu cầu:
Khi nhập vào một Mã sinh viên và nhấn vào nút In thì sẽ mở một báo cáo bảng điểm sinh viên như hình:
Khi nhấn vào nút “Thoát” thì đóng biểu mẫu F_TimSV B1-Thiết kế Query như sau:đặt tên là Q_Indiem
Khi nhấn vào nút “Thoát” thì đóng Form F_TimSV.
Hướng dẫn:
Tạo Form theo mẫu sau trên đặt tên là F_TimSV, đặt tên Textbox là txtMaSV
Thiết kế Query như sau: đặt tên là Q_Indiem
Thiết kế Report đặt tên là R_bangdiem lấy dữ liệu từ Query trên, mẫu Report như sau:
Tạo một Command button đặt tiêu đề là “In” trên biểu mẫu F_TimSV bằng Wizard, chọn sự kiện là “Report Operations” và “Preview Report” Chọn báo cáo R_bangdiem
Tạo một Command button đặt tiêu đề là “Thoát” trên biểu mẫu F_TimSV bằng Wizard, chọn sự kiện “Form Operations”“Close Form”.
2. Tạo báo cáo để hiển thị danh sách sinh viên trong một khoa nào đó, bao gồm cả môn học mà sinh viên đó đã học .
3. Tạo báo cáo để hiển thị danh sách sinh viên trong từng khoa, bao gồm cả môn học, trong đó các sinh viên cùng một khoa thì tên khoa được nhóm lại với nhau.
4. Tạo báo cáo để hiển thị danh sách các môn học kèm với điểm và kết quả là đậu hay rớt với từng môn học của sinh viên.
5. Tạo báo cáo để hiển thị danh sách các môn học kèm với điểm và kết quả là đậu hay rớt với từng môn học của sinh viên, trong đó các môn học được nhóm theo từng sinh viên.
6. Tạo báo cáo để hiển thị điểm thi các môn học của một sinh viên bất kỳ.
7. Tạo báo cáo để hiển thị danh sách thông tin sinh viên kèm với kết quả thi của một môn học bất kỳ được gom nhóm.