Sắp xếp và tìm kiếm bản ghi 1 Lệnh INDE

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

- 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.5.Sắp xếp và tìm kiếm bản ghi 1 Lệnh INDE

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

4.5.Sắp xếp và tìm kiếm bản ghi 1 Lệnh INDE

4.5.1. Lệnh INDEX

- Dùng để tạo tệp chỉ dẫn để sắp xếp tệp đang mở theo giá trị tăng dần của tiêu thức sắp xếp.

- Dạng:

INDEX ON <Biểu thức> TO <Tên tệp> [ FOR < BT logic>] Trong đó:

- Biểu thức: Là một biểu thức bất kỳ dùng làm tiêu thức sắp xếp. - Tên tệp : Là tên tệp chỉ dẫn, phần mở rộng ngầm định là .IDX

- Tác động: Khi thực hiện INDEX, Fox sẽ dùng giá trị của biểu thức làm khoá để lập chỉ dẫn, sắp xếp sao cho trên các bản ghi từ đầu đến cuối tệp, biểu thức có giá trị tăng dần. Nếu có các bản ghi có cùng giá trị của khoá sắp xếp, Fox sẽ sắp xếp các bản ghi đó theo trật tự vật lý của các bản ghi.

Khi trong lệnh có mệnh đề For <BTlogic> thì chỉ có các bản ghi làm biểu thức logic đúng mới được coi là có mặt trong tệp và tham gia sắp xếp.

- Ví dụ:

Ví dụ 1: Xét tệp QLHS .DBF

Cần in một doanh sách học sinh khoá 40 đã xếp theo thứ tự alphabet của tên học sinh.

USE QLHS

INDEX ON TEN TO CD1. idx FOR KHOA = ‘40’ LIST TO PRINTER

USE

Ví dụ 2: Cần in danh sách khoá 40 xếp theo lớp, cùng lớp xếp theo điểm trung bình tăng dần.

USE QLHS

INDEX ON LOP + STR (DTB, 5, 2) TO CD 2 FOR KHOA = ‘40’ LIST TO PRINTER

USE

4.5.2. Lệnh SORT

- Dùng để sắp xếp lại tệp dữ liệu, khác với lệnh INDEX, lệnh SORT không sắp xếp trên các bản ghi của tệp đang mở mà tạo ra một tệp mới với các bản ghi lấy của tệp dữ liệu đang mở đã được sắp xếp theo yêu cầu của lệnh.

- Dạng:

SORT TO <tên tệp> ON <DS biểu thức khoá [/A/D/C]>[FOR<BT logic>] Trong đó:

- Tên tệp: Là tên tệp dữ liệu để ghi kết quả đã sắp xếp.

- Danh sách biểu thức gồm các biểu thức viết cách nhau dấu phảy, dùng làm tiêu thức sắp xếp. Nếu có nhiều biểu thức thì ưu tiên cho các biểu thức viết trước.

- Tác động: Lệnh sẽ sắp xếp tệp dữ liệu dựa vào giá trị các biểu thức trong danh sách biểu thức.

Nếu có /A thì xếp tăng dần. Nếu có /D thì xếp giảm dần. (Ngầm định là /A) Nếu có /C thì sẽ không phân biệt sự khác nhau giữa chữ in và thường.

Kết quả sắp xếp được ghi vào một tệp dữ liệu có tên xác định bởi <tên tệp>. Nếu có FOR <BT logic> thì trong tệp kết quả chỉ chứa các bản ghi làm <BT logic> nhận giá trị đúng.

- Ví dụ: Xét tệp VATTU.DBF

Ta cần xem lại các chứng từ tháng 10/1999 đã nhập vào máy được xếp theo mã vật tư, nếu cùng mã vật tư, xếp theo số tiền giảm dần.

USE VATTU

SORT TO SXEP ON MAVT, TT/D/C FOR MONTH (NLCT) = 10; .AND. YEAR (NLCT) = 1999

USE SXEP DISPLAY ALL USE

Trên thực tế lệnh SORT ít được sử dụng hơn lệnh INDEX vì tốn bộ nhớ và tốc độ thực hiện chậm.

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