Chương 1. TỔNG QUAN VỀ VISUAL FOXPRO
1.1. Tổng quan về Visual FoxPro
1.1.1. Giới thiệu
Visual Foxpro là một ngôn ngữ lập trình thế hệ thứ tư. Trong môi trường ngôn
ngữ thế hệ thứ tư có:
- Hệ quản trị cơ sở dữ liệu
- Từ điển dữ liệu
- Một ngôn ngữ lập trình có câu trúc, hướng đối tượng.
- Một ngôn ngữ hỏi đáp có cấu trúc (SQL).
- Một bộ công cụ Case.
- .
a) Cơ sở dữ liệu (cơ sở dữ liệu) là một tập hợp các dữ liệu có quan hệ với nhau, được
tổ chức và lưu trữ trong máy tính theo một qui định nhất định nhằm phục vụ cho một
mục đích nào đó.
b) Hệ quản trị cơ sở dữ liệu (DBMS) là một hệ thống chương trình nhằm quản lý, khai
thác và biến đổi các cơ sở dữ liệu.
Visual Foxpro là một hệ quản trị cơ sở dữ liệu quan hệ của hãng Microsoft. Nó cho
phép:
- Tạo lập, cập nhật các cơ sở dữ liệu, các bảng dữ liệu
- Sắp xếp, tìm kiếm thông tin
- Hỏi đáp, tổng hợp, báo cáo thông tin
c) Ngôn ngữ hỏi đáp có cấu trúc (SQL) là ngôn ngữ hỏi đáp có cấu trúc phi thủ tục
giúp truy xuất nhanh thông tin.
d) Một bộ các công cụ Case cho phép xây dựng các ứng dụng một cách nhanh chóng,
thay vì phải lập trình rất phức tạp ta chỉ cần nêu ra các ý tưởng cần thực hiện, chẳng
hạn:
- Công cụ tạo bảng cho phép tạo cấu trúc bảng cơ sở dữ liệu, tạo các qui tắc toàn
vẹn dữ liệu cũng như các khoá và chỉ mục, .
- Công cụ tạo Query và View cho phép hỏi đáp, tổng hợp thông tin nhanh chóng.Chương 1 Tổng quan về Visual Foxpro
6
- Công cụ Form cho phép tạo nhanh các màn hình cập nhập dữ liệu.
- Công cụ Report, Label cho phép tạo nhanh các báo cáo và nhãn .
- Công cụ Menu cho phép tạo các Menu nhiều cấp nhanh chóng, đơn giản
e) Từ điển dữ liệu: là nơi dùng để lưu các thông tin cần thiết về các cơ sở dữ liệu, cũng
như mối quan hệ giữa các bảng cơ sở dữ liệu,
110 trang |
Chia sẻ: Thục Anh | Ngày: 12/05/2022 | Lượt xem: 603 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Giáo trình Hệ quản trị cơ sở dữ liệu (Phần 1), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Report Layout
5.1.2. Tạo một Report Layout
Trong Visual FoxPro có nhiều cách để tạo một Report Layout (trình bày báo
cáo), ta có thể tạo nó bằng cách sau:
- Sử dụng công cụ Report Wizard
- Tạo Report bằng công cụ Report Designer
Với mỗi cách trên đều có thể chỉnh sửa bằng công cụ Report Designer
Chương 5 Báo cáo và nhãn
70
1) Sử dụng công cụ Report Wizard
Để tạo một Report Layout bằng công cụ Report Wizard ta thực hiện nhƣ sau:
- Trong cửa sổ Project Manager, chọn trang Documents / Chọn mục Reports
- Chọn nút New / Chọn Report Wizard. Xuất hiện cửa sổ hộp thoại Wizard
Selection. Cho phép ta chọn loại Report cần tạo, rồi chọn OK.
Hình 5.1. Hộp thoại Wizard Selection
+ Chọn One-to-Many Report Wizard: Nếu muốn tạo một Report dựa trên hai
bảng dữ liệu có quan hệ với nhau theo kiểu một-nhiều.
+ Chọn Report Wizard: Nếu muốn tạo một Report dựa trên một bảng dữ liệu
a) Tạo Report Layout dựa trên một bảng dữ liệu (Report Wizard):
Sau khi chọn kiểu Report là Report Wizard và chọn nút OK, xuất hiện cửa sổ
Report Wizard:
- Bƣớc 1: Chọn các trƣờng cần đƣa vào Report
Hình 5.2. Hộp thoại Report Wizard-bước 1
Chương 5 Báo cáo và nhãn
71
+ Hộp Databases and tables: Cho phép chọn cơ sở dữ liệu chứa các bảng dữ
liệu nguồn và chọn bảng dữ liệu nguồn. Khi bảng dữ liệu đƣợc chọn, các trƣờng sẽ
xuất hiện ở hộp Available fields.
+ Hộp Available fields: Cho phép chọn các trƣờng xuất hiện trên Report.
+ Hộp Seleted fields: chứa danh sách trƣờng đã đƣợc chọn xuất hiện trên
Report.
+ Chọn nút Next để chuyển sang bƣớc tiếp theo, chọn Cancel để huỷ thao tác
tạo Report, chọn nút Back để quay lại bƣớc trƣớc.
- Bƣớc 2: Chọn các trƣờng để phân nhóm dữ liệu trên Report (Chỉ thao tác
bƣớc này nếu muốn tạo Report có phân nhóm - dạng Banded)
Hình 5.3.Hộp thoại Report Wizard- bước 2
+ Nút Summary Option: cho phép đƣa vào cuối mỗi nhóm, hoặc cuối báo cáo
những thông tin thống kê tổng hợp. Khi chọn nút này xuất hiện hộp thoại Summary
Option.
Hình 5.4. Hộp thoại Summary Option
Chương 5 Báo cáo và nhãn
72
Cột Field: Cho phép chọn trƣờng kiểu số nào cần thống kê, tổng hợp.
Cột Sum: Dùng để tính tổng giá trị của trƣờng số đƣợc chọn.
Cột Avg: Dùng để tính trung bình cộng của trƣờng số đƣợc chọn.
Cột Count: Dùng để đếm giá trị khác NULL của trƣờng đƣợc chọn.
Cột Min: Dùng để đƣa ra giá trị nhỏ nhất của trƣờng số đƣợc chọn.
Cột Max: Dùng để đƣa ra giá trị lớn nhất của trƣờng đƣợc chọn.
Detail and Summary: Thống kê, tổng hợp chi tiết cuối mỗi nhóm và cuối
báo cáo.
Summary only: Chỉ đƣa vào tổng hợp, thống kê cuối báo cáo.
No totals: Không tổng hợp, thống kê theo nhóm.
+ Chọn nút Next để chuyển sang bƣớc tiếp theo, chọn Cancel để huỷ thao tác
tạo Report, chọn nút Back để quay lại bƣớc trƣớc.
- Bƣớc 3: Chọn kiểu trình bày dữ liệu trên Report
Hình 5.5. Hộp thoại Report Wizard - bước 3
Hộp Style cho phép chọn các dạng thể hiện dữ liệu trên Report.
+ Executive: Trình bày kiểu quản trị dữ liệu.
Chương 5 Báo cáo và nhãn
73
Hình 5.6. Báo cáo trình bày theo kiểu quản trị dữ liệu
+Ledger: Trình bày theo hàng.
Hình 5.7. Báo cáo trình bày theo hàng
Chương 5 Báo cáo và nhãn
74
+ Presentation: Trình bày theo kiểu trình diễn.
Hình 5.8. Báo cáo trình bày theo kiểu trình diễn
+Bended: Trình bày theo kiểu phân nhóm.
Hình 5.9. Báo cáo trình bày theo kiểu phân nhóm
Chương 5 Báo cáo và nhãn
75
+ Casual: Trình bày theo kiểu ngẫu nhiên.
Hình 5.10. Báo cáo trình bày theo kiểu ngẫu nhiên.
+ Chọn nút Next để chuyển sang bƣớc tiếp theo, chọn Cancel để huỷ thao tác tạo
Report, chọn nút Back để quay lại bƣớc trƣớc.
- Bƣớc 4: Định nghĩa cách trình bày báo cáo, trong đó:
+ Mục chọn: Orientation cho phép chọn hƣớng in.
Portrait: In theo chiều dọc khổ giấy.
Landscape: In theo chiều ngang khổ giấy.
+ Hộp Number of Columns: Thiết lập số cột đƣợc in ra trên trang giấy theo kiểu
cột báo.
+ Mục chọn Field Layout: Cho phép trình bày các trƣờng của báo cáo
Columns: In theo cột, mỗi bản ghi trên một hàng (màn hình kiểu Browse).
Rows: In theo hàng, mỗi bản ghi in trên nhiều hàng, mỗi trƣờng nằm trên
một hàng (màn hình kiểu Append).
Chương 5 Báo cáo và nhãn
76
Bƣớc này thƣờng chỉ xuất hiện khi nguồn dữ liệu của báo cáo là các bảng.
Hình 5.11. Hộp thoại Report Wizard - bước 4.
+ Chọn nút Next để chuyển sang bƣớc tiếp theo, chọn Cancel để huỷ thao tác
tạo Report, chọn nút Back để quay lại bƣớc trƣớc.
- Bƣớc 5: Cho phép sắp xếp dữ liệu khi in trên báo cáo
Hình 5.12. Hộp thoại Report Wizard - bước 5
+ Hộp Available fields or index tag: Cho phép chọn các trƣờng hoặc các chỉ
mục sắp xếp dùng để sắp xếp dữ liệu in ra.
Chương 5 Báo cáo và nhãn
77
+ Hộp Seleted fields: Chứa danh sách trƣờng, chỉ mục đã đƣợc chọn dùng để
sắp xếp.
+ Chọn nút Next để chuyển sang bƣớc tiếp theo, chọn Cancel để huỷ thao tác
tạo Report, chọn nút Back để quay lại bƣớc trƣớc.
+ Nút lựa chọn Ascending (ngầm định) , Descending dùng để chọn chiều sắp
xếp
- Bƣớc 6: Kết thúc
Hình 5.13. Hộp thoại Report Wizard - bước 6
+ Nhập tiêu đề của báo cáo vào hộp Type a title for your Report
+Ngoài ra còn một số lựa chọn khác nhƣ sau:
Save Report for later use: Ghi Report vừa tạo mà không chạy thử
Save Report and modify it in the Report designer: Ghi Report vừa tạo và
chỉnh sửa nó trong Report designer
Save and print Report : Ghi Report vừa tạo và chạy thử.
Wrap fields that do not fit: Tự động xuống dòng nếu màn hình không đủ
chỗ để thể hiện tất cả các trƣờng của báo cáo.
Nút Preview dùng để xem qua hình dạng của Report vừa tạo.
- Chọn nút Finish / nhập vào tên tệp Report / chọn nút Save trong hộp thoại
Chương 5 Báo cáo và nhãn
78
Save as.
b) Tạo Report Layout dạng một-nhiều (One-to-Many Report Wizard)
Report dạng một - nhiều là loại Report dựa trên hai bảng dữ liệu nguồn có quan
hệ với nhau theo kiểu một-nhiều. Khi in ra kết quả, với mỗi bản ghi của bảng dữ liệu
cha sẽ in ra các bản ghi tƣơng ứng trong bảng dữ liệu con.
Hình 5.14. Report dạng một - nhiều
Cách tạo một Report dạng một - nhiều:
- Các thao tác ban đầu hoàn toàn tƣơng tự nhƣ tạo Report dạng Report Wizard.
- Trong hộp thoại Wizard Selection, chọn One - to - many Report Wizard /OK
- Bƣớc 1. Chọn các trƣờng dữ liệu trên bảng cha
+ Trong hộp Database and table chọn tên cơ sở dữ liệu, chọn bảng cha.
+ Trong hộp thoại Available Fields chọn các trƣờng cần xuất hiện trên Report,
chọn nút Add.
+ Chọn nút Next.
Chương 5 Báo cáo và nhãn
79
Hình 5.15. Hộp thoại One-to-Many Report Wizard - Bước 1
+ Chọn nút Next để chuyển sang bƣớc tiếp theo, chọn Cancel để huỷ thao tác
tạo Report, chọn nút Back để quay lại bƣớc trƣớc.
- Bƣớc 2. Chọn các trƣờng dữ liệu trên bảng con
+ Trong Database and table chọn tên cơ sở dữ liệu, chọn bảng con.
+ Trong hộp thoại Available Fields chọn các trƣờng cần xuất hiện trên Report,
chọn nút Add.
Hình 5.16. Hộp thoại One-to-Many Report Wizard- bước 2
+ Chọn nút Next để chuyển sang bƣớc tiếp theo, chọn Cancel để huỷ thao tác
tạo Report, chọn nút Back để quay lại bƣớc trƣớc.
Chương 5 Báo cáo và nhãn
80
- Bƣớc 3. Kết nối giữa hai bảng cha và con
+ Chọn biểu thức kết nối giữa bảng cha (bên trái) và bảng con (bên phải).
Hình 5.17. Hộp thoại One-to-Many Report Wizard - bước 3
+ Chọn nút Next để chuyển sang bƣớc tiếp theo, chọn Cancel để huỷ thao tác
tạo Report, chọn nút Back để quay lại bƣớc trƣớc.
- Bƣớc 4: Cho phép chọn các trƣờng hoặc chỉ mục để sắp xếp dữ liệu khi in ra.
Hình 5.18. Hộp thoại One-To-Many Report Wizard-Bước 4
+ Chọn nút Next để chuyển sang bƣớc tiếp theo, chọn Cancel để huỷ thao tác
tạo Report, chọn nút Back để quay lại bƣớc trƣớc.
- Bƣớc 5: Chọn dạng trình bày dữ liệu khi in ra.
Chương 5 Báo cáo và nhãn
81
Hình 5.19. Hộp thoại One-To-Many Report Wizard-Bước 5
Hộp Style: Cho phép chọn dạng trình bày dữ liệu của báo cáo.
Mục chọn Orientation cho phép chọn hƣớng của trang in:
Portrate: In dọc trang giấy.
LandScape: In ngang trang giấy.
Nút Summany Option cho phép đƣa ra thông tin tổng hợp của từng nhóm
hoặc cuối báo cáo.
Chọn nút Next để chuyển sang bƣớc tiếp theo, chọn Cancel để huỷ thao tác
tạo Report, chọn nút Back để quay lại bƣớc trƣớc.
- Bƣớc 6: Kết thúc
Hình 5.20. Hộp thoại One-To-Many Report Wizard-Bước 6
Chương 5 Báo cáo và nhãn
82
+ Nhập tiêu đề của báo cáo vào hộp Type a title for your Report
+ Ngoài ra còn một số lựa chọn khác nhƣ sau:
Save Report for later use: Ghi Report vừa tạo mà không chạy thử
Save Report and modify it in Report designer: Ghi Report vừa tạo và
chỉnh sửa nó trong Report designer
Save and print Report : Ghi Report vừa tạo và chạy thử.
Wrap fields that do not fit: Tự động xuống dòng nếu màn hình không đủ
chỗ để thể hiện tất cả các trƣờng của báo cáo.
Nút Preview dùng để xem qua hình dạng của Report vừa tạo.
- Chọn nút Finish / nhập vào tên tệp Report / chọn nút Save trong hộp thoại
Save as.
2) Sử dụng công cụ Report Designer
a) Giới thiệu về thanh công cụ Report Controls
Thanh công cụ Report Controls chứa các công cụ cho phép ta đƣa các đối tƣợng
điều khiển dữ liệu vào Report Layout. Muốn đƣa một đối tƣợng điều khiển vào Report
Layout, ta chọn biểu tƣợng tƣơng ứng để nút này chìm xuống nháy trái chuột vào góc
trên bên trái, kéo và thả tại góc dƣới bên phải nơi cần đặt đối tƣợng trên Report Layout
Hình 5.21. Thanh công cụ Report Control
: Con trỏ lựa chọn đối tƣợng. Khi biểu tƣợng này đƣợc chọn Visual
FoxPro cho phép chọn một điều khiển trong thanh công cụ để đƣa vào Report
Layout. Khi một đối tƣợng đƣợc chọn thì nó bị chìm xuống.
: Cho phép tạo một Label (nhãn) trên Report Layout. Label là một xâu
văn bản dùng làm tiêu đề.
: Cho phép tạo một đối tƣợng là một Field (trƣờng) trong cơ sở dữ liệu
hoặc các biểu thức trên Report Layout.
: Dùng để tạo các đoạn thẳng ngang, dọc trên Report Layout
Chương 5 Báo cáo và nhãn
83
: Dùng để tạo các đƣờng viền là hình chữ nhật trên Report Layout
: Dùng để tạo các đƣờng viền là hình tròn, hình chữ nhật tròn góc trên
Report Layout.
: Dùng để nhúng các đối khác: ảnh, đồ thị,
Để đƣa ra thanh công cụ Report Controls: Trong cửa sổ Report Designer / Chọn
Menu View / chọn Toolbar... Xuất hiện hộp thoại Toolbars. Đánh dấu vào mục Report
Controls / chọn OK.
Hình 5.22. Hộp thoại Toolbars
b) Tạo Report bằng công cụ Report Designer:
Để tạo Report bằng công cụ Report Designer, ta thực hiện:
- Trong cửa sổ Project Manager chọn trang Documents / chọn mục Report /
chọn nút New / chọn nút New Report. Xuất hiện cửa sổ Report Designer gồm ba
Band: page Header, Detail và Page Footer.
Để thêm các band khác và cửa sổ Report Designer, ta thực hiện:
- Thêm Band Title và Summary:
+ Chọn menu Report / Chọn Title/Summary..., xuất hiện hộp thoại
Title/Summary.
+ Đánh dấu vào mục các mục chọn để thêm band.
+ Chọn nút OK.
Chương 5 Báo cáo và nhãn
84
Hình 5.23. Hộp thoại Title/Summary
Hình 5.24. Cửa sổ Report Designer
Band Title: Dùng để tạo tiêu đề cho mỗi report. Tiêu đề này chỉ in một lần ở
đầu mỗi report.
Band Page Header: Dùng để tạo tiêu đề đầu trang trên mỗi report. Tiêu đề này
in ở đầu mỗi trang in.
Band Detail: Dùng để thiết kế phần chi tiết cho mỗi dòng in (ứng với từng
record trên bảng dữ liệu).
Page Footer: Dùng để tạo tiêu đề cuối trang trên mỗi Report. Tiêu đề này in ở
cuối mỗi trang in.
- Trong cửa sổ Report Designer:
+ Chọn Menu View / chọn Data Enviroment
+ Chọn menu DataEnviroment / chọn Add (hoặc nháy phải chuột vào nền của
cửa sổ Data Enviroment chọn add) để thêm các bảng dữ liệu nguồn vào môi trƣờng
Chương 5 Báo cáo và nhãn
85
dữ liệu (Data Enviroment). Data Enviroment tự động mở các bảng, view dữ liệu
nguồn khi Report đƣợc mở và chạy và tự động đóng các bảng, view này khi đóng
hay chấm dứt thi hành Report.
+ Tiến hành kết nối các bảng, view với nhau (nếu cần).
- Đƣa các đối tƣợng điều khiển vào vị trí thích hợp trên Report Layout.
3) Ví dụ về thiết kế Report Layout
Thông tin về việc mua bán của các khách hàng (mỗi lần mua một mặt hàng thì
ghi trên một bản ghi) nằm trong bảng dữ liệu muaban.dbf của cơ sở dữ liệu QLBH.
Hãy tạo một báo cáo mua bán theo mẫu (hình 5.28).
Yêu cầu:
- Cột số thứ tự lấy thông tin từ một biến nhớ.
- Các cột còn lại lấy giá trị tƣơng ứng trong các trƣờng của bảng dữ liệu trên.
- Cột mua bán phải ghi rõ mua hay bán.
- Mục ngày lấy theo thời gian hệ thống của ngày in báo cáo.
- Phải đánh số trang cuối mỗi trang báo cáo.
Theo yêu cầu thiết kế, ta nhận thấy:
- Dòng tiêu đề chỉ in ra một lần ở đầu báo cáo nên ta thiết kế trong Band Title bằng
cách đƣa điều khiển nhãn vào Band Title.
Việc chọn Font chữ cho một đối tƣợng điều khiển dữ liệu (Label hoặc Field)
trong Report Layout, có thể thực hiện theo cách sau:
+ Chọn đối tƣợng điều khiển cần chọn Font (đối tƣợng điều khiển nhãn hoặc
trƣờng).
+ Trong Menu Format chọn mục font. Hộp thoại Font xuất hiện cho phép chọn
font. Rồi chọn OK.
Để chọn Font ngầm định cho tất cả các đối tƣợng điều khiển trên Report ta thực
hiện nhƣ sau:
+ Trong menu Report chọn mục Defaut font.
+ Trong hộp thoại font chọn font thích hợp rồi chọn OK.
- Dòng Nam Định, ngày chỉ in một lần ở cuối báo cáo nên ta thiết kế trong band
Summary và phải đƣa vào một đối tƣợng điều khiển nhãn để thể hiện dòng chữ
Chương 5 Báo cáo và nhãn
86
“Nam Định, ngày ” . Để thể hiện đƣợc giá trị ngày, ta phải đƣa vào sau chữ ngày một
đối tƣợng điều khiển trƣờng chứa biểu thức DATE()
- Dòng tiêu đề của bảng đƣợc in một lần ở đầu mỗi trang nên ta thiết kế trong band
Page Header bằng cách đƣa vào một hoặc nhiều đối tƣợng điều khiển nhãn . Để vẽ các
đƣờng kẻ ta đƣa đối tƣợng vào Report Layout.
- Mục đánh số trang của báo cáo đƣợc in một lần ở cuối mỗi trang nên ta thiết kế trong
band Page Footer bằng cách đƣa vào đối tƣợng điều khiển trƣờng chứa biểu thức
“Trang” + ALLTRIM(STR(_PageNo))
- Nội dung của bảng báo cáo là nội dung dữ liệu trong bảng dữ liệu nên ta thiết kế
trong Band Detail. Mỗi cột lấy dữ liệu của một trƣờng tƣơng ứng nên ta đƣa đối tƣợng điều
khiển trƣờng vào các cột và gắn điều khiển đó với trƣờng tƣơng ứng.
- Để đƣa một đối tƣợng trƣờng vào Report Layout và gắn điều khiển đó với trƣờng
tƣơng ứng ta có thể thực hiện bằng cách sau:
+ Mở Data Enviroment của Report
+ Chọn bảng dữ liệu nguồn.
+ Kéo và thả Field vào Layout (nếu đối tƣợng đó là một Field).
Hoặc
+ Từ thanh Toolbar Report Controls, chọn rồi đƣa vào Report Layout. Xuất
hiện hộp thoại Report Expression.
Hình 5.25a. Hộp thoại Report Expression
Chương 5 Báo cáo và nhãn
87
+ Trong hộp thoại Report Expression, chọn nút lệnh sau hộp Expression (nút có 3
dấu chấm). Xuất hiện hộp thoại Expression Builder.
Hộp Expression for Field on Report cho phép đƣa vào tên biến, tên trƣờng
hoặc biểu thức.
Trong hộp Field, chọn trƣờng tƣơng ứng (nếu hộp này trống ta phải thêm
bảng dữ liệu nguồn vào môi trƣờng dữ liệu). Các hộp khác cho phép chọn
các hàm.
+ Nút Calculations cho phép đƣa vào các phép toán thống kê, tổng hợp nếu cần.
+ Nút Print When cho phép in các giá trị trùng lặp của biểu thức hay không.
Hình 5.25b. Hộp thoại Expression Builder Hình 5.26. Hộp thoại Print When
+ Chọn nút OK / OK.
- Cột số thứ tự lấy giá trị từ một biến nhớ nên ta đƣa biến nhớ vào Report Layout.
Để đƣa biến nhớ vào Report Layout ta thực hiện nhƣ sau:
+ Đƣa điều khiển trƣờng vào vị trí tƣơng ứng. Xuất hiện hộp thoại
Expression, ta nhập vào tên biến nhớ.
+ Trong menu Report chọn mục Variables.
+ Trong hộp thoại Report Variables chọn tên biến.
+ Trong mục Value to store, nhập vào tên Field hay biểu thức.
+ Chọn phép tính tích hợp nếu cần trong mục chọn Calculate.
+ Thiết lập giá trị ban đầu cho biến trong hộp Initial value.
Chương 5 Báo cáo và nhãn
88
+ Mục chọn Resret cho phép thiết lập lại giá trị của biến sau mỗi báo cáo, mỗi
nhóm, mỗi trƣờng.
+ Chọn nút OK.
Nhƣ trong ví dụ trên để đánh số thứ tự:
+ Ta đƣa điều khiển trƣờng vào band Detail tại cột STT.
+ Nhập tên biến là x vào hộp Expression.
+ Trong hộp thoại Report Variables chọn tên biến là x.
+ Trong hộp Value to store, nhập tên Field là x.
+ Chọn phép tính thống, kê tổng hợp chọn COUNT (xem hình 6.26).
+ Chọn nút OK.
Để đƣa một biểu thức vào Report Layout
Hình 5.27. Hộp thoại Report Variables
+ Đƣa điều khiển trƣờng vào vị trí tƣơng ứng.
+ Trong hộp thoại Expression nhập vào hoặc chọn biểu thức.
Nhƣ trong ví dụ trên, để đƣa vào giá trị cột mua bán, ta thực hiện:
+ Đƣa điều khiển trƣờng vào cột mua bán trên band Detail.
+ Trong hộp thoại Expression nhập vào biểu thức IIF(muaban,”Mua”, “Bán”).
Hàm IIF (biểu thức logic, giá trị 1, giá trị 2) trả lại giá trị 1 khi biểu thức đúng và
ngƣợc lại trả lại giá trị sai khi biểu thức sai.
Chương 5 Báo cáo và nhãn
89
Do đó, ta có thiết kế báo cáo (Report) trong cửa sổ Report Designer nhƣ hình sau:
Hình 5.28. Màn hình thiết kế báo cáo mua bán
iif ( muaban.muaban,"mua","bán")
Chương 5 Báo cáo và nhãn
90
Hình 5.29. Báo cáo mua bán tổng hợp dạng Leger
4) Tạo Report có phân nhóm
Sau khi thiết kế xong dạng Report Layout ta có thể tạo ra các Report có phân
nhóm theo các biểu thức nào đó. Visual Foxpro cho phép phân nhóm đến 20 cấp
trong Report.
Chương 5 Báo cáo và nhãn
91
Để tạo ra một báo cáo phân nhóm theo một biểu thức nào đó (nhóm đơn– nhóm
một cấp). Ví dụ nhƣ báo cáo dƣới đây tiến hành phân nhóm theo biểu thức là trƣờng
mã khách hàng (makh), thì thực hiện nhƣ sau:
- Trong màn hình Report Designer, chọn Menu Report / chọn mục Data Grouping.
Xuất hiện hộp thoại Data Grouping:
Hình 5.30. Hộp thoại Data Grouping
- Trong hộp Group Expressions nhập vào biểu thức dùng để nhóm (ở đây là makh)
hoặc chọn nút bên phải để mở hộp thoại Expressions Builder.
- Trong mục chọn Group Properties chọn thuộc tính tƣơng ứng.
- Chọn OK.
- Trong cửa sổ Report Designer xuất hiện thêm hai Band là Group Header và
Group Footer.
Trong báo cáo này, cuối mỗi nhóm ta phải đếm số lần mua hoặc bán của mỗi khách
hàng nên ta thiết kế Group Footer này là một biến nhớ y và chọn phép tính thống kê,
tổng hợp là COUNT trong mục chọn Calculator.
Chương 5 Báo cáo và nhãn
92
Hình 5.31. Báo cáo mua bán dạng phân nhóm
Màn hình (hình 5.31) là màn hình thiết kế báo cáo tổng hợp mua bán theo từng
khách hàng.
+ Biểu thức phân nhóm là: Mã khách hàng (makh)
+ Dữ liệu nguồn cho báo cáo là bảng muaban.dbf.
+ Đầu báo cáo có dòng tiêu đề “Tổng hợp mua bán theo từng khách hàng”.
+ Đầu mỗi trang có các tiêu đề cột của bảng.
+ Mỗi nhóm có đánh số thứ tự mỗi lần mua bán theo nhóm (sử dụng biến nhớ x).
+ Các cột tƣơng ứng trong nhóm lấy dữ liệu ở trƣờng tƣơng ứng trong bảng dữ
liệu nguồn.
Chương 5 Báo cáo và nhãn
93
+ Cuối mỗi nhóm có đếm số lần mua bán của mỗi khách hàng (sử dụng biến nhớ
y).
+ Cuối báo cáo có ghi rõ ngày tháng năm của ngày in báo cáo (lấy theo
thời gian hệ thống).
+ Cuối mỗi trang có đáng số trang.
Hình 5.32. Màn hình thiết kế báo cáo có phân nhóm
Ở mỗi báo cáo trên, bạn đọc có thể thêm cột thành tiền (dành cho bạn đọc).
Để tạo báo cáo nhóm theo nhiều biểu thức, các bƣớc tiến hành nhƣ sau:
- Trong màn hình Report Designer, chọn Menu Report / chọn mục Data Grouping.
Xuất hiện hộp thoại Data Grouping.
- Trong hộp Group Expressions nhập vào biểu thức thứ nhất dùng để phân nhóm
hoặc chọn nút bên phải để mở hộp thoại Expressions Builder.
- Trong mục chọn Group Properties chọn thuộc tính tƣơng ứng.
- Chọn nút Insert để lặp lại các bƣớc trên cho mỗi nhóm cấp sâu hơn.
- Chọn OK.
Chú ý: Để tạo báo cáo từ nhiều bảng dữ liệu nguồn, ta nên tạo một View trung gian
chứa tất cả các thông tin cần thiết để tạo báo cáo từ các bảng dữ liệu trên, rồi tạo báo
cáo dựa trên dữ liệu nguồn là View trung gian.
5.1.3. Chỉnh sửa Report Layout
Khi đã tạo Report Layout, muốn chỉnh sửa nó ta thực hiện:
Chương 5 Báo cáo và nhãn
94
- Trong cửa sổ Project Manager, chọn trang Documents / chọn mục Report / chọn
tên Report cần chỉnh sửa.
- Chọn nút Modify, xuất hiện hộp thoại Report Designer cho phép chỉnh sửa lại
Report Layout.
- Tiến hành chỉnh sửa lại Report Layout theo ý muốn.
- Trong màn hình Report Layout muốn thay đổi chiều cao của các Band (chiều cao
của các Band xác định rõ khoảng cách mà mỗi Band sử dụng khi in ra giấy). Chỉ việc
kéo và thả nút bên phải trên Band.
Chú ý: Một cách giúp tạo báo cáo dễ dàng là tạo Report Layout bằng công cụ
Report Wizard, sau đó tiến hành chỉnh sửa lại bằng công cụ Report Designer.
5.1.4. Xem và in Report
1) Xem report
Để xem report trƣớc khi in có thể chọn một trong các cách:
- Nếu thiết kế Report Layout bằng công cụ Report Wizard, chọn nút Preview ở
bƣớc 6.
- Nếu thiết kế Report Layout bằng công cụ Report Designer thì trong cửa sổ
Report Designer chọn menu View / Preview hoặc chọn menu File / Print preview hoặc
trên thanh công cụ Standard chọn biểu tƣợng Print preview.
- Trong cửa sổ Project Manager chọn trang Documents / chọn mục Report /
chọn tên Report cần xem / chọn nút preview.
- Đƣa vào câu lệnh
Report Form Preview [ For ]
2) In report
Để in report có thể chọn một trong các cách:
- Nếu thiết kế Report Layout bằng công cụ Report Wizard, chọn mục chọn
save and print Report ở bƣớc 6.
- Nếu thiết kế Report Layout bằng công cụ Report Designer thì trong cửa sổ
Report Designer chọn menu File / Print hoặc trên thanh công cụ Standard
chọn biểu tƣợng Print (máy in).
- Đƣa vào câu lệnh
Report Form To Printer [ For ]
Chương 5 Báo cáo và nhãn
95
5.2. Label
5.2.1 Khái niệm Label
Label một dạng Report đặc biệt có nhiều cột (in nhiều Label trên một trang giấy
in), nó đƣợc in trên khổ giấy nhãn đặc biệt. Nếu mỗi Report dùng để kết xuất ra nhiều
bản ghi của bảng dữ liệu nguồn ra một báo cáo, do đó một Report có thể đƣợc in ra
trên nhiều trang giấy in thì mỗi Label chỉ dùng để in ra một bản ghi trong bảng dữ liệu,
do đó một trang giấy in có thể in đƣợc nhiều Label (bảng dữ liệu nguồn có thể là bảng
cơ sở dữ liệu hoặc view, Cursor...).
5.2.2 Tạo Label Layout
Trong Visual Foxpro có nhiều công cụ để tạo Label Layout.
- Label Wizard.
- Label Designer.
1) Tạo Label Layout bằng công cụ Label Wizard
Trong Project Manager chọn trang Documents/chọn mục Label/New/Label
Wizard, xuất hiện hộp thoại Label Wizard
- Bƣớc 1: Chọn bảng
+ Chọn bảng cơ sở dữ liệu và bảng dữ liệu chứa dữ liệu nguồn để tạo Label trong
hộp databases and tables.
+ Chọn nút Next
Hình 5.33. Hộp thoại Label Wizard - bước 1
- Bƣớc 2: Chọn kiểu Label
+ Chọn loại giấy và số cột xuất hiện trên Label
Chương 5 Báo cáo và nhãn
96
+ Chọn nút Next.
Hình 5.34. Hộp thoại Label Wizard - bước 2
- Bƣớc 3: Thiết kế Label Layout
Hình 5.35. Hộp thoại Label Wizard - bước 3
+ Trong hộp thoại Available Fields chọn các trƣờng cần xuất hiện trên Label ,
chọn nút Add, các trƣờng đƣợc chọn xuất hiện trong hộp Selected fields
+ Nút Space cho phép chọn khoảng cách giữa các cột.
+ Hộp Text cho phép chọn các ký tự phân cách giữa các cột trong Label.
+ Nút : Cho phép xuống dòng.
+ Nút Font cho phép chọn Font chữ.
Chương 5 Báo cáo và nhãn
97
+ Chọn nút Next.
- Bƣớc 4: Sắp xếp các bản ghi
+ Cho phép chọn các trƣờng dùng để sắp xếp các bản ghi khi in ra Label.
+ Chọn nút Next. Xuất hiện hộp thoại Finish.
Hình 5.36. Hộp thoại Label Wizard - bước 4
- Bƣớc 5: Kết thúc.
Hình 5.37. Hộp thoại Label Wizard - bước 5
Chương 5 Báo cáo và nhãn
98
+ Chọn nút Preview để xem nhanh kết quả Label.
Hình 5.38. Ví dụ về Label
+ Chọn nút Finish. Xuất hiện hộp thoại Save as cho phép ghi lại Label.
2) Tạo Label Layout bằng công cụ Label Designer
Để tạo một Label Layeout bằng công cụ Label Designer ta thực hiện:
- Trong Project Manager chọn trang Documents / chọn mục Label / New / New
Label, xuất hiện hộp thoại New Label cho phép chọn loại giấy, chiều cao, chiều
rộng và số cột xuất hiện trong Label.
Hình 5.39. Hộp thoại New Label
Chương 5 Báo cáo và nhãn
99
- Chọn OK. Xuất hiện Label Designer.
Hình 5.40. Màn hình thiết kế Label Designer
- Trong cửa sổ Label Designer:
+ Chọn Menu View / chọn Data Enviroment
+ Chọn menu DataEnviroment / chọn Add (hoặc nháy phải chuột vào nền của
cửa sổ Data Enviroment chọn add) để thêm các bảng dữ liệu nguồn vào môi trƣờng
dữ liệu (Data Enviroment). Data Enviroment tự động mở các bảng, view dữ liệu
nguồn khi Label đƣợc mở và chạy và tự động đóng các bảng, view này khi đóng
hay chấm dứt thi hành Label.
+ Tiến hành kết nối các bảng, view với nhau (nếu cần).
- Đƣa các đối tƣợng điều khiển vào vị trí thích hợp trên Label Layout.
Chú ý:
- Một cách dễ dàng để tạo Label Layout là kéo và thả các trƣờng của bảng dữ liệu
nguồn trong
Các file đính kèm theo tài liệu này:
- giao_trinh_he_quan_tri_co_so_du_lieu_phan_1.pdf