Lệnh TOTAL

Một phần của tài liệu BÀI GIẢNG - TIN HỌC ỨNG DỤNG ppt (Trang 107 - 109)

- Không có hình nền, họa tiết nếu có chỉ viền xung quanh Màu font & nền tương phản.

4. CÁC LỆNH CƠ BẢN CỦA FOX 1 Tạo tệp dữ liệu.

4.6.4. Lệnh TOTAL

- Dùng để : Tính tổng các trường số trên từng nhóm bản ghi của tệp dữ liệu. Nhóm bản ghi gồm tập hợp các bản ghi kế tiếp nhau có cùng giá trị của tiêu thức phân nhóm. Khi phân nhóm, sẽ xét từ đầu tệp.

Ví dụ: Giả sử tệp LUONGCB. DBF có nội dung

HT MADV ... PT TL

A 01 ... 1 2

B 02 ... 3 4

Nếu dựa vào mã đơn vị (trường MADV) để phân nhóm thì Fox sẽ chia tệp thành ba nhóm bản ghi. Như vậy là không phù hợp với quan niệm chung về nhóm đối tượng vì Fox không chỉ xét đến giá trị của tiêu thức phân nhóm mà còn xét cả đến vị trí các bản ghi. Để cho phù hợp, trước khi phân nhóm ta sắp xếp tệp để các bản ghi không bị ảnh hưởng bởi vị trí khi phân nhóm. Nguyên tắc là muốn phân nhóm dựa vào tiêu thức nào thì trước đó phải tiến hành sắp xếp dựa vào tiêu thức đó.

Chẳng hạn tệp LUONGCB.DBF , sau khi thực hiện lệnh: INDEX ON MADV TO P các bản ghi sẽ có trật tự như sau:

HT MADV ... PT TL

A 01 ... 1 2

C 01 5 6

B 02 3 4

Bây giờ có thể phân nhóm chính xác: Hai bản ghi đầu là một nhóm, bản ghi thứ ba là một nhóm.

- Dạng lệnh:

TOTAL TO <tên tệp> ON <Biểu thức>[FIELDS<ds trường>][FOR<BT logic>]

Trong đó:

Tên tệp: Là tên tệp dữ liệu dùng để lưu giữ kết quả sau khi tính tổng. Biểu thức: Là biểu thức bất kỳ, dùng làm tiêu thức phân nhóm.

DS trường gồm tập hợp tên các trường số cần tính tổng, ngầm định là tất cả các trường số trong tệp đang mở.

- Tác động: Dựa vào giá trị của biểu thức để phân tệp dữ liệu thành các nhóm bản ghi, sau đó tính tổng các trường số có tên trong danh sách trường của từng nhóm rồi gửi tổng mỗi nhóm vào một bản ghi của tệp có tên xác định bởi <tên tệp>. Tệp kết quả này có cùng cấu trúc với tệp gốc; Trên các bản ghi, giá trị các trường cần tính tổng sẽ nhận giá trị là tổng của nhóm tương ứng, còn các trường không được tính tổng sẽ lấy giá trị trên bản ghi đầu tiên của nhóm.

Trường hợp có For <BT logic> thì chỉ các bản ghi làm biểu thức logic đúng mới được tham gia tính tổng.

- Ví dụ:

Ví dụ 1: Xét tệp LUONGCB.DBF, cần in ra bảng tổng hợp lương của từng đơn vị

USE LUONGCB

INDEX ON MADV TO CD1 TOTAL TO KQ1. dbf ON MADV USE KQ1

LIST FIELDS MADV, PT, TL TO PRINTER USE

Ví dụ 2: Xét tệp VATTU.DBF, cần lập một báo cáo đơn giản về tổng khối lượng và số tiền nhập vật tư từng loại trong quí 4/1999

USE VATTU

INDEX ON MAVT TO CD2 FOR LNV. AND. MONTH(NLCT) = 10; . AND. YEAR(NLCT) = 1999

TOTAL TO KQ2 ON MAVT FIELDS KL, TT USE KQ2

LIST FIELDS TENVT, MAVT, KL, TT CLOSE ALL

Một phần của tài liệu BÀI GIẢNG - TIN HỌC ỨNG DỤNG ppt (Trang 107 - 109)

Tải bản đầy đủ (DOC)

(180 trang)
w