Giáo trình Hệ quản trị cơ sở dữ liệu (Phần 1)

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,

pdf110 trang | Chia sẻ: Thục Anh | Ngày: 12/05/2022 | Lượt xem: 603 | Lượt tải: 0download
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:

  • pdfgiao_trinh_he_quan_tri_co_so_du_lieu_phan_1.pdf