Bài giảng Thiết kế báo cáo bằng report

Tài liệu Bài giảng Thiết kế báo cáo bằng report: 1 Bài 6: THIẾT KẾ BÁO CÁO BẰNG REPORT Report là công cụ dùng thiết kế in ấn dữ liệu hữu hiệu trong Access. Hầu như tất cả những gì muốn in và in theo bố cục như thế nào? Report đều có thể đáp ứng! Bài này sẽ trình bày từ những khái niệm căn bản về thiết kế in ấn, về Report của Access đến tiếp cận những kỹ thuật in ấn phức tạp như: report có tham số, subreport,.. Nội dung cụ thể bao gồm:  Các khái niệm về Report;  Sử dụng report wizard;  Sử dụng report design view;  Kỹ thuật sub-report;  Tham số cho report. I. Cấu trúc Report Cấu trúc một report thông thường gồm 5 phần: 2 • Page Header Là phần đầu tiên của một trang báo cáo. Giống như khái niệm Page header trong Word và Excel. Phần này có thể có hoặc không có thông tin tuỳ vào người thiết kế. • Page Footer Là phần cuối cùng của mỗi trang báo cáo. Giống như khái niệm Page footer trong Word và Excel. Phần này có thể có hoặc không có thông tin tuỳ vào người thiết kế. • Detail Là phần thân ...

pdf22 trang | Chia sẻ: hunglv | Lượt xem: 2110 | Lượt tải: 1download
Bạn đang xem trước 20 trang mẫu tài liệu Bài giảng Thiết kế báo cáo bằng report, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
1 Bài 6: THIẾT KẾ BÁO CÁO BẰNG REPORT Report là công cụ dùng thiết kế in ấn dữ liệu hữu hiệu trong Access. Hầu như tất cả những gì muốn in và in theo bố cục như thế nào? Report đều có thể đáp ứng! Bài này sẽ trình bày từ những khái niệm căn bản về thiết kế in ấn, về Report của Access đến tiếp cận những kỹ thuật in ấn phức tạp như: report có tham số, subreport,.. Nội dung cụ thể bao gồm:  Các khái niệm về Report;  Sử dụng report wizard;  Sử dụng report design view;  Kỹ thuật sub-report;  Tham số cho report. I. Cấu trúc Report Cấu trúc một report thông thường gồm 5 phần: 2 • Page Header Là phần đầu tiên của một trang báo cáo. Giống như khái niệm Page header trong Word và Excel. Phần này có thể có hoặc không có thông tin tuỳ vào người thiết kế. • Page Footer Là phần cuối cùng của mỗi trang báo cáo. Giống như khái niệm Page footer trong Word và Excel. Phần này có thể có hoặc không có thông tin tuỳ vào người thiết kế. • Detail Là phần thân của report – nơi hiển thị giá trị các bản ghi sẽ in ra. Phần này có thể bị thay đổi, phụ thuộc vào nguồn dữ liệu tại thời điểm sẽ in ra của report. Ví dụ: Danh sách học sinh lớp 10A1 là 45 khi đó Detail report sẽ in ra 45 dòng; nếu chuyển sang in danh sách học sinh lớp 10A2 có 48 học sinh, lúc này Detail report sẽ in ra 48 dòng (tương ứng với số bản ghi của nguồn dữ liệu sẽ in ra). • Report Header Là phần tiêu đề của trang đầu tiên Report, nằm tiếp theo phần Page header và nằm trên phần Detail. Mỗi Report sẽ chỉ có nhiều nhất 1 Report header. Phần này có thể có hoặc không có thông tin tuỳ vào người thiết kế. • Report Footer Là phần tiêu đề cuối của trang cuối cùng Report, nằm tiếp theo phần Detail và phía trước phần Page Footer. Mỗi Report sẽ chỉ có nhiều nhất 1 Report footer. Phần này có thể có hoặc không có thông tin tuỳ vào người thiết kế. Môi trường làm việc Làm việc với Report gần giống làm việc với Form. Sự khác nhau cơ bản của Report và Form là: Form có thể hiển thị, tra cứu, cập nhật và điều khiển dữ liệu từ CSDL; còn Report chỉ có thể lập báo cáo và in ra, đặc biệt Report không làm thay đổi giá trị dữ liệu trong CSDL. Thông thường mỗi report sẽ in dữ liệu của một Table hoặc một Query nào đó. Tức là phải có một nguồn dữ liệu cần in cụ thể II. SỬ DỤNG REPORT WIZARD 3 Ví dụ: Tạo bản in danh sách các sản phẩm trong table SanPham bao gồm các field : MaSP, TenSP, DonViTinh, DonGia Bước 1: Ở thẻ Reports bên khung trái cửa sổ Database , nhấn New, chọn Report wizard, chọn nguồn dữ liệu trong khung trống bên dưới (vd: table SanPham), nhấn OK. Bước 2: Chọn dữ liệu cần in Lưu ý: Sử dụng các nút lệnh >, >>, <, << để đưa các field cần in từ danh sách Available Fields: (danh sách các trường có thể in) sang danh sách Seleted Fields (danh sách các 4 field sẽ được in ra report). Hãy lần lượt thực hiện chọn các field MaSP, TenSP, DonViTinh, DonGia, nhấn Next Bước 3: Chọn kiểu phân nhóm dữ liệu trên report Ở bước này cho phép chọn các field làm các cấp phân nhóm. Nếu không cần phân nhóm thì giữ nguyên và nhấn Next. Nếu muốn dùng field nào để phân nhóm thì chọn field đó trong danh sách bên khung trái, field phân nhóm sẽ được đưa lên trên. Bước 4: Thiết lập sắp xếp dữ liệu trên báo cáo Report wizard cho phép tối đa 4 mức ưu tiên sắp xếp dữ liệu được đánh số từ 1 đến 4 (hộp thoại trên). Field nào thiết lập trước, sẽ được ưu tiên sắp xếp trước. 5 Trong trường hợp giá trị trường đó trùng nhau, Access sẽ chuyển đến các mức tiếp theo để sắp xếp. Kiểu sắp xếp (theo chiều tăng hoặc giảm) có thể thiết lập khi nhấn nút Ascending hoặc Descending bên cạnh. Thiết lập xong nhấn Next để tiếp tục Bước 6: Chọn bố cục (Layout) cho Report Có 2 thiết lập trong bước này: - Chọn bố cục cho report ở hộp Layout. Có 3 kiểu Layout: Columnar, Tabular và Justified- hãy chọn một kiểu phù hợp (xem hộp preview bên trái để biết trước kết quả) - Chọn hướng giấy in ở hộp Orientation. Có 2 kiểu hướng in là: Portrait – in theo khổ giấy dọc và Landscape- in theo khổ giấy ngang - Chọn xong nhấn Next để tiếp tục Bước 7: Chọn mẫu định dạng (Style) cho report Hãy chọn một mẫu định dạng từ danh sách bên trái hộp thoại. Chọn xong nhấn Next để tiếp tục Bước 8: Hoàn thiện các thông tin cuối cùng 6 Bao gồm các thông tin sau: - Gõ vào tiêu đề report cũng như tên report trên hộp What do you want for your report? - Chọn Preview the report để hiển thị dữ liệu của report ngay sau khi kết thúc; hoặc hiển thị ngay màn hình thiết kế để sửa cấu trúc report khi chọn Modify the report’s design - Cuối cùng nhấn Finish để kết thúc các công việc sử dụng report wizard. Màn hình hiển thị dữ liệu report như sau: 7 III. Thiết kế REPORT 1. Thiết kế bằng chế độ Design view …………………. 2. Tạo đối tượng chứa giá trị một biểu thức: - Dùng đối tượng Textbox. - Để lấy giá trị của một control trên Report đang mở thì phải dùng tên Control trong thuộc tính Name với cú pháp sau: REPORT![TÊN REPORT]![TÊN CONTROL] Nếu control thuộc Report đang thiết kế thì chỉ cần ghi: TÊN CONTROL 3. Thêm số thứ tự cho các record B1: Thêm textbox trên vùng Detail B2: Mở bảng thuộc tính của tetxbox trên và chọn nhóm DATA B3: Đặt thuộc tính Control Source: =1 B4: Đặt thuộc tính Running Sum: Over All: đánh STT tăng từ record đầu tới record cuối Over Group: đánh STT tăng theo nhóm No: Không tạo STT IV. Tạo vùng GROUP trên Report View/ Sorting and Grouping o Field/Expression: Chọn biểu thức hoặc filed cần phân nhóm (biểu thức bắt đầu bởi dấu =) o Sort order: chọn cách sắp xếp o Vùng Group Properties: chỉ định các thuộc tính của nhóm Group Header, Group Footer: ẩn/hiện tiêu đề đầu/ cuối nhóm Group On: chỉ định cách so sánh giá trị của Field/Expression để lập nhóm Each Value: so sánh toàn bộ các giá trị, hay các chỉ định khác tùy theo kiểu của Field/Expression Kiểu Tetx: Perfix Characters (so sánh theo các kí tự đầu chuỗi) Kiểu Number: Interval – nhóm theo khoảng giá trị Group Interval: chỉ định số kí tự đầu hay khoảng giá trị phụ thuộc vào lựa chọn ở Group On. Chú ý: chọn 1 khi Group On là Each Value Keep Together: chỉ định cách in nhóm kế tiếp sau khi in xong nhóm hiện hành. No: nếu trang còn trống thì in nhóm kế tiếp Whole Group: In nhóm kế tiếp ở đầu trang mới With first detail: In tiếp nhóm kế nếu phần còn lại của trang đủ in vùng đầu nhóm và 1 dòng chi tiết, nếu không in đủ thì in nhóm kế tiếp ở đầu trang mới. 8 V. Tổng kết dữ liệu theo nhóm. - Tạo textbox chứa công thức tại vùng Group cần tổng kết. - Các hàm tổng kết: Count, Sum, Avg, Max, Min, tính toán dựa trên các field của bảng nguồn - Ví dụ: Tạo report tổng hợp tiền mua của mỗi khách hàng theo từng năm. Tạo textbox : =sum(thanhtien) đặt ở vùng GroupHeader hay Footer của Năm để tính tổng tiền mua của năm. Đặt ở vùng GroupHeader hay Footer của MaKH để tính tổng tiền mua của mỗi khách hàng Report chứa tham số Report có tham số thực chất là loại Report có khả năng lọc dữ liệu khi in. Ví dụ: bình thường Report in ra danh sách học sinh sẽ in danh sách toàn bộ các học sinh. Bây giờ muốn in danh sách học sinh một lớp nào đó? Lúc này phải cần đến report có tham số. Sau đây là cách giải quyết bài toán: In danh sách học sinh một lớp nào đó. Lớp cần in được chọn từ Combo box một form như sau: Sau khi chọn tên một lớp từ danh sách, nhấn nút In Report. Danh sách học sinh lớp đã chọn sẽ được in ra một report. Cách làm: Bước 1: Tạo Report đáp ứng thông tin cần in Sử dụng Report Design View để tạo ra một Report in danh sách học sinh với các thông tin như sau: 9 Bước 2: Tạo form theo yêu cầu bài toán - Sử dụng Combo Wizard để tạo Combobox lấy ra danh sách các lớp từ table LOP; - Sử dụng Command button Wizard để tạo các nút lệnh Đóng và In Report Bước 3: Thiết lập tham số cho Report Ở đây trình bày phương pháp thiết lập tham số vào thuộc tính Record Source của Report. Cách làm như sau: - Mở report đã tạo được ở chế độ Design View (chế độ thiết kế); - Mở query được thiết lập ở thuộc tính Record Source – nơi tạo nguồn dữ liệu và thiết lập tham số cho field LOP của query như sau: 10 Trong đó: tham số cho field LOP là tên (Name) của ô Combo box chứa LOP được chọn trên form F-LOP. Cú pháp viết tham chiếu tới một đối tượng trên form như sau: Forms ! ! Trong trường hợp này tên ô Combo đó là Combo2 và tên của form là F-LOP, cách viết tham số sẽ như sau: Forms ! F-LOP ! Combo2 11 Ñeà 1 Söû duïng cô sôû döõ lieäu HOADON.MDB ñeå thöïc hieän caùc yeâu caàu sau : CAÂU 1 : Taïo Crosstab query TK1 cho bieát soá löôïng caùc saûn phaåm baùn ñöôïc trong töøng naêm Caâu 2 : taïo Form theo doi san pham coù daïng sau : Yeâu caàu : ƒ Trong Form treân coù 2 Sub form. Khi trong Main form choïn moät saûn phaåm naøo ñoù thì trong Sub form 1 ( ôû treân) seõ xuaát hieän toång soá löôïng vaø toång soá tieàn baùn ñöôïc cuûa sanû phaåm ñoù, trong sub form 2 ( ôû döôùi) seõ xuaát hieän caùc hoùa ñôn coù chöùa saûn phaåm ñoù. ƒ Nuùt ÑOÙNG coù coâng duïng ñoùng Form. 12 Ñeà 2 Söû duïng cô sôû döõ lieäu HOADON.MDB ñeå thöïc hieän caùc yeâu caàu sau : CAÂU 1 : Taïo Crosstab query Khach Hang – San Pham cho bieát soá tieàn moãi khaùch haøng ñaõ mua ñoái vôùi töøng saûn phaåm. CAÂU 2 : Taïo Form Hoa Don coù daïng nhö sau Yeâu caàu : Form coù 2 Sub form : Sub form 1 cho bieát soá saûn phaåm vaø toàng soá tieàn, sub form 2 cho bieát chi tieát hoùa ñôn ñöôïc choïn trong Main form. 13 Ñeà 3 Söû duïng cô sôû döõ lieäu HOADON.MDB ñeå thöïc hieän caùc yeâu caàu sau : CAÂU 1 : : Taïo Crosstab query Khach Hang – San Pham cho bieát soá tieàn moãi khaùch haøng ñaõ mua ñoái vôùi töøng saûn phaåm. Caâu 2 : taïo Form theo doi san pham coù daïng sau : Yeâu caàu : ƒ Trong Form treân coù 2 Sub form. Khi trong Main form choïn moät khaùch haøng naøo ñoù thì trong Sub form 1 ( ôû treân) seõ xuaát hieän toång soá tieàn vaø soá tieàn trung bình maø khaùch haøng ñoù ñaõ mua, trong sub form 2 ( ôû döôùi) seõ xuaát hieän caùc hoùa ñôn maø khaùch haøng ñaõ mua. 14 ÑEÀ 4 Söû duïng cô sôû döõ lieäu KQTHI.MDB ñeå thöïc hieän caùc yeâu caàu sau : CAÂU 1 : Taïo query KET QUA THI coù caùc vuøng sau: SOBD, HOTEN, NGAY SINH, LOP, TOAN, VAN, NN, DTB, XEP LOAI Trong ñoù : DTB laø dieåm trung bình cuûa 3 moân TOAN, VAN , NN XEP LOAI ñöôïc xeáp theo tieâu chuaån sau : Len thang : neáu DTB>=5 vaø khoâng coù moân naøo döôùi 3. Thi lai : coøn laïi CAÂU 2 :Taïo Crosstab query TK1 cho soá löôïng hoïc sinh trong töøng lôùp cuûa töøng xeáp loaïi. Caâu 3 : taïo Form Lop coù daïng sau : 15 ÑEÀ 5 Söû duïng cô sôû döõ lieäu THI.MDB ñeå thöïc hieän caùc yeâu caàu sau : CAÂU 1 : Taïo query KET QUA THI coù caùc vuøng sau: SOBD, HOTEN, PHAI, NGAY SINH, LOP, TOAN, VAN, NN, DTB, XEP LOAI Cho bieát : - DTB laø dieåm trung bình cuûa 3 moân TOAN, VAN , NN trong ñoù Toaùn heä soá 3, Vaên heä soá 2 vaø NN heä soá 1. - XEP LOAI ñöôïc xeáp theo tieâu chuaån sau : Ñaäu : neáu khoâng coù moân naøo döôùi 5. Rôùt : coøn laïi CAÂU 2 :Taïo Crosstab query TK1 cho soá löôïng hoïc sinh trong töøng lôùp cuûa töøng xeáp loaïi. Caâu 3 : taïo Form Lop coù daïng sau : 16 ÑEÀ 6 Söû duïng cô sôû döõ lieäu KQTHI.MDB ñeå thöïc hieäc caùc nhieäm v uï sau 1. Taïo query coù daïng sau : LOP Ñieåm cao nhaát Gioûi Keùm Khaù Trung Bình 10A1 33.5 3 5 13 19 10A2 34.5 4 1 20 13 10A3 33.5 4 7 14 17 10A4 34 7 3 29 27 10A5 37 9 1 23 18 Ghi chuù - Field Ñieåm cao nhaát : cho bieát toång ñieåm cao nhaát cuaû töøng lôùp. - Toång ñieåm laø toång ñieåm cuûa caùc moân hoïc. - Field Gioûi, Keùm, Khaù vaø Trung Bình cho bieát soá löôïng hoïc sinh coù xeáp loaïi laø Gioûi, Keùm, Khaù vaø Trung Bình cuûa töøng lôùp. - Hoïc sinh coù xeáp loaïi laø Gioûi neáu toång ñieåm lôùn hôn hoaëc baèng 32, laø Khaù neáu toång ñieåm lôùn hôn hoaëc baèng 28, laø Trung Bình neáu toång ñieåm lôùn hôn hoaëc baèng 20 vaø laø Keùm neáu toång ñieåm nhoû hôn 5. 2. Thieát keá Form sau Löu yù : Hoïc sinh coù keát quaû laø Ñaäu neáu toång ñieåm lôùn hôn hoaëc baèng 20 vaø khoâng coù moân naøo döôùi 4. 17 ÑEÀ 7 Söû duïng cô sôû döõ lieäu KQTHI.MDB ñeå taïo form sau Ghi chuù - Ñieåm trung bình : cho bieát ñieåm trung bình cuaû töøng lôùp. - Toång ñieåm laø toång ñieåm cuûa caùc moân hoïc. - Field Gioûi, Keùm, Khaù vaø Trung Bình cho bieát soá löôïng hoïc sinh coù xeáp loaïi laø Gioûi, Keùm, Khaù vaø Trung Bình cuûa töøng lôùp. - Hoïc sinh coù xeáp loaïi laø Gioûi neáu toång ñieåm lôùn hôn hoaëc baèng 32, laø Khaù neáu toång ñieåm lôùn hôn hoaëc baèng 28, laø Trung Bình neáu toång ñieåm lôùn hôn hoaëc baèng 20 vaø laø Keùm neáu toång ñieåm nhoû hôn 5. - Hoïc sinh coù keát quaû laø Ñaäu neáu toång ñieåm lôùn hôn hoaëc baèng 20 , khoâng coù moân naøo döôùi 4 vaø coù toái ña 2 moân döôùi 5. 18 ÑEÀ 8 Söû duïng cô sôû döõ lieäu HOADON.MDB ñeå thöïc hieäc caùc nhieäm vuï sau 1. Taïo query cho bieát toång soá tieàn baùn ñöôïc cuûa töøng saûn phaåm vaø soá tieàn baùn ñöôïc cuûa töøng saûn phaåm baùn ñöôïc trong töøng naêm ( coù daïng nhö sau) 2. Thieát keá form sau : Yeâu caàu : - Thaønh tieàn : soá löôïng * Ñôn giaù. Neáu soá löông lôùn hôn 100 thì giaûm 3%, neáu soá löôïng lôùn hôn 10 thì giaûm 2%, coøn laïi thì khoâng giaûm. 19 ÑEÀ 9 Söû duïng cô sôû döõ lieäu HOADON.MDB ñeå thöïc hieäc caùc nhieäm vuï sau 1. Taïo query cho bieát toång soá tieàn baùn ñöôïc cuûa töøng nhaân vieân vaø soá tieàn baùn ñöôïc cuûa töøng nhaân vieân ñoái vôùi töøng saûn phaåm ( coù daïng nhö sau) 2. Thieát form sau : Yeâu caàu - Thaønh tieàn = soá löôïng * ñôn giaù . Neáu saûn phaåm laø Gia vò thì giaûm 5%, neáu saûn phaåm laø Nem thì giaûm 2%, coøn laïi thì khoâng giaûm. 20 ÑEÀ 10 Söû duïng cô sôû döõ lieäu HOADON.MDB ñeå thöïc hieäc caùc nhieäm vuï sau 1. Taïo query cho bieát toång soá tieàn cuûa töøng nhaân vieân ñaõ baùn vaø toång soá tieàn cuûa töøng nhaân vieân ñaõ baùn trong töøng thaùng. 2. Thieát keá form sau : Löu yù : Thaønh tieàn : soá löôïng * ñôn giaù. Neáu MaKH laø ASC thì giaûm 10%, neáu MaKH laø ASECO thì giaûm 8%, coøn laïi thì khoâng giaûm. 21 ÑEÀ 11 Caâu 1 : Taïo maãu Form : CHI TIET SAN PHAM ñeå xem caùc thoâng tin veà töøng Saûn Phaåm vaø chi tieát caùc hoùa ñôn ñaõ laäp cho saûn phaåm ñoù hình 1 Hình 2 1.1 Moâ taû ƒ Form treân coù chöùa Tab control. ƒ Khi nhaép nuùt Saûn Phaåm seõ hieån thò caùc thoâng tin cuûa töøng saûn phaåm nhö hình 1. ƒ Khi nhaép nuùt Chi Tieát Saûn Phaåm seõ xuaát hieän caùc thoâng tin veà caùc hoaù ñôn ñaõ laäp cho saûn phaåm ñang xem ôû maøn hình 1 nhö hình 2. 22 ÑEÀ 12 Caâu 1 : Taïo maãu Form : KHACH HANG ñeå xem caùc thoâng tin veà töøng khaùch haøng vaø caùc hoùa ñôn maø khaùch haøng ñaõ mua. Hình 1 Hình 2 1.2 Moâ taû ƒ Form treân coù chöùa Tab control. ƒ Khi nhaép nuùt KHAÙCH HAØNG seõ hieån thò caùc thoâng tin cuûa töøng khaùch haøng nhö hình 1. ƒ Khi nhaép nuùt CAÙC HOÙA ÑÔN xuaát hieän caùc thoâng tin veà caùc hoaù ñôn maø khaùch haøng ñoù ñaõ mua.

Các file đính kèm theo tài liệu này:

  • pdfCHUONG_6.pdf
Tài liệu liên quan