Chương 6: Report - Báo cáo

 Báo cáo dùng để in ra giấy những thông tin kết xuất từ CSDL theo khuôn dạng, theo yêu cầu của người sử dụng.  Báo cáo có nhiều dạng, nhưng thông dụng nhất là các dạng sau:  Báo cáo dạng văn bản, trong đó văn bản kết hợp với các thông tin lấy từ CSDL, ví dụ, giấy mời được giửi tới các thành viên mà danh sách được lưu trữ trong CSDL, thẻ ra vào,  Báo cáo dạng đơn giản với thông tin được lấy trực tiếp từ CSDL, ví dụ danh sách nhân viên, bảng lương.  Báo cáo thực hiện một số tính toán, thống kê.  Báo cáo dạng biểu đồ, nhãn thư,

pdf26 trang | Chia sẻ: lylyngoc | Lượt xem: 1705 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Chương 6: Report - Báo cáo, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 6: REPORT- BÁO CÁO I. Giới thiệu về báo cáo  Báo cáo dùng để in ra giấy những thông tin kết xuất từ CSDL theo khuôn dạng, theo yêu cầu của người sử dụng.  Báo cáo có nhiều dạng, nhưng thông dụng nhất là các dạng sau:  Báo cáo dạng văn bản, trong đó văn bản kết hợp với các thông tin lấy từ CSDL, ví dụ, giấy mời được giửi tới các thành viên mà danh sách được lưu trữ trong CSDL, thẻ ra vào, …  Báo cáo dạng đơn giản với thông tin được lấy trực tiếp từ CSDL, ví dụ danh sách nhân viên, bảng lương.  Báo cáo thực hiện một số tính toán, thống kê.  Báo cáo dạng biểu đồ, nhãn thư, … II. Tạo báo cáo Để tạo khuôn dạng của báo cáo ta làm như sau:  Cách 1: Từ cửa sổ Database, trong phần Objects chọn Report / Create report in Design view hoặc Create report by using wizard  Cách 2: Từ cửa sổ Database, trong phần Objects chọn Report / New, cửa sổ New Report xuất hiện với các lựa chọn như sau: Tạo báo cáo (tiếp)  Auto Report: Tự động đưa ra báo cáo khi đã chọn nguồn dữ liệu. Không được chọn thông tin nào.  Report Wizard: Người sử dụng phải lựa chọn các mục sau:  Chọn nguồn dữ liệu (bảng hoặc truy vấn).  Chọn trường dùng trong báo cáo.  Chọn trường cần phân nhóm (nếu muốn tạo báo cáo phân nhóm )  Sắp thứ tự (nếu cần).  Dạng và kiểu trình bày của báo cáo. Dùng Wizard có thể tạo báo cáo nhanh nhưng kích cỡ của báo cáo thường lớn, khuông dạng và font chữ theo ngầm định của Access nên thường phải sửa thiết kế. Tạo báo cáo (tiếp)  Báo cáo dạng nhãn (Label Report): Để tạo một báo cáo dạng này cần thực hiện lần lượt các bước sau:  Xác định kích cỡ và cách bố trí các nhãn trên giấy.  Font chữ ngầm định.  Các trường cần lấy thông tin.  Trường cần sắp xếp.  Mở thiết kế của báo cáo dạng nhãn, điều chỉnh lại một số điều khiển cho phù hợp yêu cầu thực tế. III. Các thành phần của báo cáo Từ cửa sổ New Report chọn mục Design View. Màn hình thiết kế báo cáo hiện ra với 3 chế độ song song tồn tại, đó là:  Design View: Thiết kế báo cáo.  Print Preview: Xem hình ảnh của báo cáo với kích thước thật và dữ liệu thật.  Layout Preview: Chỉ xem hình ảnh của báo cáo, còn dữ liệu chưa chắc chính xác, vì Access có thể bỏ qua các điều kiện chọn, kết nối, … Các thành phần của báo cáo (tiếp) Trên màn hình thiết kế báo cáo cũng luôn để 2 công cụ là Toolbox và Fieldlist. Các thành phần trong cửa sổ thiết kế báo cáo gồm:  Detail: Lặp lại theo từng bộ dữ liệu (từng bản ghi trong bảng hoặc truy vấn nguồn).  Page Header/Page Footer: Lập lại mỗi trang một lần. Phần này thường chứa số trang, ngày tháng lập báo cáo, …  Report Header/Report Footer: Mỗi báo cáo lặp một lần. Phần này chứa tiêu đề chung của toàn báo cáo và các dòng tổng cộng.  Ngoài ra các báo cáo có phân nhóm còn chứa Group Header/Footer dùng làm tiêu đề và các dòng tổng cộng cho từng nhóm trong báo cáo. Các thành phần của báo cáo (tiếp) 1. Thiết kế báo cáo dạng văn bản  Gồm những văn bản giống nhau được gửi tới mỗi đối tượng có thông tin trong CSDL. Đặc trưng của các báo cáo dạng này là văn bản trộn lẫn với thông tin trong CSDL. Vì vậy, toàn bộ thiết kế nằm trong phần Detail. Trong báo cáo thường gồm các điều khiển:  Nhãn: Chứa các đoạn văn bản với font chữ theo yêu cầu thực tế.  Textbox: Có thể chứa thông tin lấy trực tiếp từ nguồn dữ liệu hoặc kết xuất từ những thông tin trong CSDL. Do vậy Text box gồm 2 loại: bị buộc và tính toán được.  Ảnh: Có thể bị buộc hoặc không bị buộc. Các thành phần của báo cáo (tiếp) 2. Thiết kế báo cáo đơn giản dạng bảng  Tiêu đề: Nếu tiêu đề chỉ xuất hiện ở trang đầu chọn Report Header. Nếu tiêu đề xuất hiện trên mọi trang chọn Page Header.  Đầu cột: Thường để ở Page Header  Text box chứa dữ liệu nguyên dạng: Kéo các dữ liệu xuất hiện trong bảng từ Field List vào phần Detail. Xóa nhãn đi kèm điều khiển. Việc căn chỉnh giống như căn chỉnh điều khiển trên form.  Nếu muốn các giá trị trùng nhau chỉ xuất hiện 1 lần, ví dụ tên người đi kèm tên ngoại ngữ mà người đó biết, mở thuộc tính của Textbox đặt Hide Duplicate là Yes.  Để có các textbox có độ cao giống nhau, nên chọn cách sao chép hoặc tác động vào thuộc tính của điều khiển. Các thành phần của báo cáo (tiếp)  Tạo các Textbox (điều khiển tính toán được) chứa dữ liệu kết xuất dạng =  Có những Textbox được dùng làm trung gian để tính giá trị cho những textbox khác. Khi ấy phải đặt thuộc tính Visible là No.  Dòng tổng cộng đặt tại Report Footer.  Số trang hoặc ngày lập báo cáo có thể để ở Page Footer. Hàm Page, cho biết số của trang hiện thời. Hàm Pages, cho biết tổng số trang của báo cáo. Hàm Now() cho biết ngày tháng hiện tại  Muốn kẻ khung dùng các điều khiển dạng Line. Muốn chính xác sử dụng thuộc tính left, width, top, height. Tại Textbox đặt thuộc tính Border Style chọn Solid/Dashes … Các thành phần của báo cáo (tiếp)  Cuối báo cáo (Report Footer) thường có các dòng tổng cộng là các điều khiển dạng tính toán được với các hàm thư viện hoặc các hàm thư viện có điều kiện, đó là:  = Sum| Avg ()  =Count| Min| Max () IV.Sắp xếp và phân nhóm trên báo cáo  Muốn dữ liệu xuất hiện trong báo cáo được sắp xếp theo một thứ tự nào đó, không nhất thiết phải sắp xếp trên truy vấn. Có thể sắp xếp ngay trên báo cáo. Để thực hiện công việc này, cần mở hộp thoại Sorting and Grouping (Có thể mở hộp thoại Sorting and Grouping bằng cách chọn View hoặc kích chuột phải). Cửa sổ Sorting and Grouping có dạng như sau: Sắp xếp và phân nhóm trên báo cáo(tiếp) Sắp xếp và phân nhóm trên báo cáo(tiếp)  Sau khi sắp xếp xong có thể phân nhóm dữ liệu – cũng làm việc trên hộp thoại nói trên. Nếu đặt Group Header/Footer là Yes, sẽ xuất hiện tiêu đề trên và dưới cho mỗi nhóm và do vậy có thể dùng tiêu đề, kẻ đầu cột cũng như tính toán ứng với mỗi nhóm.  Có thể phân nhóm theo nhiều trường cũng như phân nhóm theo trường kết xuất. V. Báo cáo chính-phụ  Khi tạo báo cáo với nguồn dữ liệu lấy từ nhiều bảng và phải đảm bảo đúng khuôn dạng thực tế, người ta phải dùng báo cáo chính-phụ, ví dụ phiếu xuất vật tư, lý lịch nhân viên, …  Cách tạo báo cáo chính – phụ gồm các bước sau:  Tạo báo cáo chính.  Tạo báo cáo phụ độc lập.  Mở đồng thời cửa sổ thiết kế báo cáo chính và cửa sổ Database. Kéo báo cáo phụ từ cửa sổ Database vào.  Mở thuộc tính của điều khiển Subreport trên báo cáo chính. Kiểm tra sự kết nối dữ liệu qua các thuộc tính LinkMasterFields và LinkChildFields. VI. Một số ví dụ về thiết kế báo cáo 1.Ví dụ 1: Thiết kế báo “Thẻ ra vào”, có nội dung được trình bày như sau: THẺ RA VÀO Số thẻ: Họ tên: Nam/nữ Năm sinh: Đơn vị: Ảnh Một số ví dụ về thiết kế báo cáo (tiếp)  Để có được nguồn dữ liệu cho báo cáo, cần thiết kế truy vấn: Tìm MãNV, Họ tên, Năm sinh, Giới tính (Nam/nữ), Tên phòng. Dữ liệu cho truy vấn này được lấy từ bảng NHANVIEN và bảng PHONG.  Vì thẻ ra vào được in cho từng nhân viên, có nghĩa là toàn bộ thông tin trên tờ thẻ được lặp lại với mỗi bản ghi về nhân viên nên toàn bộ các thông tin trên thẻ đều được để trong phần Detail.  Thiết kế của thẻ ra vào được thể hiện như sau: Bước 1: Mở cửa sổ thiết kế báo cáo (report) Từ cửa sổ Database, trong phần Objects chọn Report/ Create report in Design view Một số ví dụ về thiết kế báo cáo (tiếp) Bước 2: Chọn nguồn dữ liệu cho báo cáo là bảng NHANVIEN Bước 3: Thiết kế các điều khiển trên báo cáo Kéo rê các trường cần hiển thị trên report (các trường này lấy từ nguồn dữ liệu của report – Field List) vào cửa sổ thiết kế, sau đó hiệu chỉnh lại các nhãn (Lables) và text box để hiển thị giới tính trên report như sau: Một số ví dụ về thiết kế báo cáo (tiếp) Một số ví dụ về thiết kế báo cáo (tiếp) 2. Ví dụ 2: Tạo 1 báo cáo thống kê trình độ ngoại ngữ của từng phòng.  Trong báo cáo chính có: MAPHONG, TENPHONG  Trong báo phụ có: HOTEN, NGAYSINH, TENNN, TDO của các nhân viên trong phòng tương ứng Một số ví dụ về thiết kế báo cáo (tiếp) 3. Ví dụ 3: Tạo báo cáo cho biết danh sách nhân viên của từng phòng và tổng số nhân viên của phòng đó. Với mã phòng nhập từ bàn phím hoặc chọn trên form. Như sau: DANH SÁCH NHÂN VIÊN PHÒNG … Tổng cộng: …. Người Các bước tạo báo cáo này:  Tạo nguồn dữ liệu cho report là một truy vấn tham số gồm các thông tin: Tìm mã nhân viên, họ tên, ngày sinh, giới tính của các nhân viên thuộc phòng X, X nhập từ bàn phím (hoặc chọn trên form).  Sau đó thiết kế báo cáo như sau: Họ và tên Ngày sinh Giới tính Một số ví dụ về thiết kế báo cáo (tiếp) Một số ví dụ về thiết kế báo cáo (tiếp) 4. Ví dụ 4: Tạo danh sách nhân viên toàn cơ quan nhận tiền theo mẫu sau: DANH SÁCH NHÂN VIÊN TOÀN CƠ QUAN NHẬN TIỀN … PHÒNG TỔ CHỨC Tổng toàn phòng …… PHÒNG TÀI VỤ Tổng toàn phòng …… Tổng cộng toàn cơ quan. Trong đó, lý do nhận tiền và số tiền nhận nhập từ bàn phím. STT Họ tên Số tiền Kí nhận STT Họ tên Số tiền Kí nhận Một số ví dụ về thiết kế báo cáo (tiếp) Để thiết kế báo cáo trên chúng ta làm như sau:  Tạo nguồn dữ liệu là một truy vấn tham số gồm các thông tin: tên phòng, họ tên nhân viên, số tiền nhận (số tiền là 1 tham số được nhập từ bàn phím).  Đặt con trỏ trên báo cáo, click chuột phải -> Sorting and Grouping, cửa sổ Sorting and Grouping xuất hiện, trong cửa sổ này chúng ta thiết kế như sau: Một số ví dụ về thiết kế báo cáo (tiếp)  Kéo rê các trường cần hiển thị trên report (các trường này lấy từ nguồn dữ liệu của report – Field List) vào cửa sổ thiết kế, sau đó hiệu chỉnh lại các nhãn (Lables) và thêm các nhãn, các text box mới trên report như sau: Một số ví dụ về thiết kế báo cáo (tiếp)