Tính tổng bộ phận

Một phần của tài liệu Tổng quan về foxpro (Trang 84 - 88)

- Sao lưu cấu trúc: Để lưu trữ cấu trúc của một tệp CSDL ta có thể tạo ra một tệp CSDL khác lưu cấu trúc của tệp đó như sau:

4. Tính tổng bộ phận

4.1. Khái niệm

Tính tổng bộ phận nghĩa là tính tổng các trường kiểu số cho các bản ghi có cùng một giá trị khóa cho trước. Mỗi giá trị khóa lập thành một tổng. Khóa ở đây là một trường của tệp CSDL.

Ví dụ: Trên tệp BLUONG.DBF khi ta cần tính lương theo từng phòng, khoa. Điều đó có nghĩa là tính tổng của các bản ghi có cùng một giá trị trên trường KHOA.

4. Tính tổng bộ phận

4.2. Lệnh TOTAL

TOTAL ON <Khoá> TO <tệp KQ> [FOR <btL>][FIELDS <Ds trường>]

Giải thích:

 Lệnh tính tổng bộ phận cho các bản ghi có cùng một giá trị <Khóa> nằm liên tiếp nhau lập thành một bản ghi tổng và ghi vào

<tệp KQ>.

 Nếu có tuỳ chọn FOR <btL> thì chỉ có những bản ghi thỏa mãn <btL> mới được tính tổng bộ phận.

 Nếu có tuỳ chọn FIELDS <Ds trường> thì việc tính tổng bộ phận chỉ tiến hành trên những trường được liệt kê trong danh sách.

 <Tệp KQ> có cấu trúc hoàn toàn giống với cấu trúc của tệp đang mở.

4. Tính tổng bộ phận

4.3. Cơ chế thực hiện

Bắt đầu từ bản ghi đầu tiên lệnh thiết lập một giá trị khóa rồi xét những bản ghi kế tiếp nó để lập một bản ghi tổng và ghi vào <tệp KQ>. Khi gặp bản ghi đầu tiên khác giá trị khóa, lệnh chuyển sang thiết lập giá trị khóa thứ hai, rồi thực hiện như trên, để thiết lập bản ghi tổng khác. Quá trình thực hiện tương tự như trên, cho đến khi kết thúc tệp CSDL.

Vì vậy, để kết quả có ý nghĩa. Tệp CSDL phải được sắp xếp hoặc chỉ số theo trường khoá tính tổng bộ phận.

4. Tính tổng bộ phận

4.4. Ví dụ

USE BLUONG

TOTAL ON KHOA TO THOP1

INDEX ON KHOA TO T1

TOTAL ON KHOA TO THOP2

Một phần của tài liệu Tổng quan về foxpro (Trang 84 - 88)

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

(149 trang)