Danh mục

Bài giảng Visual FoxPro - Chương 3

Số trang: 10      Loại file: pdf      Dung lượng: 294.74 KB      Lượt xem: 10      Lượt tải: 0    
Hoai.2512

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

SẮP XẾP, TÌM KIẾM, THỐNG KÊI. Sắp xếp. Dữ liệu trong một bảng có thể được sắp xếp theo một tiêu chuẩn nào đó, phục vụ cho việc khai thác thông tin. 1. Sắp xếp theo chỉ mụca. Khái niệm về chỉ mục Ta đã biết mỗi bảng dữ liệu chứa các bản ghi và mỗi bản ghi đều được đánh số hiệu theo số thứ tự từ 1 đến n. Ví dụ: bảng NHANVIEN.DBF có dạng sau:
Nội dung trích xuất từ tài liệu:
Bài giảng Visual FoxPro - Chương 3 Bài giảng Visual FoxPro CHƯƠNG III: SẮP XẾP, TÌM KIẾM, THỐNG KÊI. Sắp xếp. Dữ liệu trong một bảng có thể được sắp xếp theo một tiêu chuẩn nào đó, phục vụ cho việc khai thác thông tin.1. Sắp xếp theo chỉ mục a. Khái niệm về chỉ mục Ta đã biết mỗi bảng dữ liệu chứa các bản ghi và mỗi bản ghi đều được đánh số hiệu theo số thứ tự từ 1 đến n. Ví dụ: bảng NHANVIEN.DBF có dạng sau: Khi xử lý thông tin trong bảng dữ liệu, các mẫu tin có thể được truy xuất theo số hiệu. Ví dụ: use NHANVIEN ↵ list ↵ Kết quả in ra sẽ như sau: Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 38 Bài giảng Visual FoxPro Sắp xếp bảng dữ liệu theo chỉ mục là tạo ra một file mới (có phần mở rộng mặc định là .IDX) chỉ có hai trường: trường khoá sắp xếp và trường số hiệu bản ghi. Thứ tự của bản ghi ở đây là thứ tự sắp xếp. Ví dụ: File chỉ mục của bảng nhanvien theo thứ tự của năm làm việc: Lúc này, khi truy xuất dữ liệu của bảng, thứ tự của các bản ghi là thứ tự được quy định trong file chỉ mục này.2. Lập chỉ mục IDX cho bảng dữ liệu Cú pháp: INDEX ON TO [FOR] [UNIQUE] C h ứ c n ă ng: Lệnh sắp xếp file dữ liệu theo chiều tăng dần của của các bản ghi thoả mãn sau FOR, mặc định là tất cả các bản ghi. Nếu có từ khoá [UNIQUE] thì các bản ghi nào có trùng nhau sẽ bị bỏ qua trên file chỉ mục. Ví dụ 1: Hiển thị theo thứ tự tăng dần của namlv của các nhân viên. use NHANVIEN↵ index on NAMLV to CMNAMLV list Chú ý: Lệnh luôn sắp xếp theo thứ tự tăng dần của , do vậy khi lựa chọn thì phải chọn cho phù hợp. Ví dụ 1: Hiển thị theo thứ tự giảm dần của namlv của các nhân viên. use NHANVIEN↵ index on -NAMLV to CMNAMLVG list Ví dụ 2: Hiển thị theo thứ tự giảm dần của ngaysinh. use NHANVIEN index on date()-NGAYSINH to CMNSINHG list Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 39 Bài giảng Visual FoxPro3. Một số lệnh liên quan • SET INDEX TO : Dùng để mở file chỉ mục sau khi đã mở một bảng dữ liệu. • SET INDEX TO: Dùng để đóng file chỉ mục. • REINDEX: D ù n g đ ể c ậ p n h ậ t f i l e c h ỉ m ụ c .II. Tìm kiếmTìm kiếm tuần tự a. Lệnh Locate: Cú pháp: LOCATE [] FOR [WHILE] C h ứ c n ă ng: Lệnh sẽ duyệt tuần tự các bàn ghi trong bảng dữ liệu và tìm đến bản ghi đầu tiên trong thoả mãn điều kiện của . Nếu tìm được, hàm FOUND() sẽ cho giá trị .T., hàm EOF() có giá trị .F. Ví dụ: Tìm nhân viên đầu tiên trong bảng dữ liệu sinh năm 1970 trong bảng nhanvien use NHANVIEN Locate for year(NGAYSINH) = 1970 Display b. Lệnh continue Cú pháp : CONTINUE Chức năng : Theo sau lệnh LOCATE, dùng để tìm bản ghi kế tiếp sau thỏa mãn điều kiện đã nêu. Ví dụ: Tìm 2 nhân viên đầu tiên sinh năm 1970 use NHANVIEN locate for year ( NGAY SINH) = 1970 display continue displayTìm kiếm sau khi đã lập chỉ mục Cú pháp : SEEK Chức năng : sau khi đã lập chỉ mục theo đề tìm bản ghi nào thỏa mãn một điều kiện dựa vào Ta sử dụng lệnh SEEK theo sau là của biểu điều kiện cần tìm. nếu tìm thấy thì Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 40 Bài giảng Visual FoxPro hàm FOUND() có giá trị .T. và hàm EOF () có giá trị .F. Ví dụ: 1. Sắp xếp theo thứ tự tăng dần của Họ Tên, tìm nhân viên có tên “Nguyen Van AN”. use NHANVIEN index on upper(HOTEN) to CMHOTEN seek “Nguyen Van An” disp 2. Sắp xếp theo thứ tự giảm dần của NAMLV, tìm nhân viên có năm làm việc 1981. use NHANVIEN index on - NAMLV to CMNAMLVG list seek -1981 dispIII. THỐNG KÊ Đếm số lượng bản ghi Cú pháp: COUNT [][FOR] [WHILE] [TO] Chức năng :lệnh dùng để đếm số mẫu tin trong bảng dữ liệu hiện hành thỏa mãn điều kiện các nằm trong phạm vi được chỉ ra. Kết quả được đưa ra màn hình hay đưa vào nếu có TO. Ví dụ: Cho biết có bao nhiêu nhân viên có NAMLV là 1980 use NHANVIEN count for NAMLV = 1980 to songuoi ?’ có songuoi: ‘, songuoi, ‘ làm việc năm 1980’ Tính tổng giá trị các trường kiểu số Cú pháp: SUM [] [] [TO ] [FOR ] [WHILE ] Chức năng : Lệnh sẽ lấy tổng theo các biểu thức được xây dựng dựa trên các trường kiểu số, của các bản ghi trong bảng dữ liệu; nằm trong và thỏa mãn điều kiện của các . Nếu không có thì các trường kiểu số đều được lấy tổng. Mặc định, kết quả được đưa ra màn hình; nếu có TO thì kết quả của các sẽ được đưa vào các tương ứng. Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 41 Bài giảng Visual FoxPro Chú ý : Phải tương ứng 1-1 giữa và . Ví dụ: Dựa vào bảng NHANVIEN, cho biết tổng LUONG phải trả và tổng PHUCAP là bao nhiêu ...

Tài liệu được xem nhiều: