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ư,
26 trang |
Chia sẻ: lylyngoc | Lượt xem: 1814 | Lượt tải: 2
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)