- 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.3.6. Lệnh REPLACE
- Dùng để thay thế nội dung của các trường dữ liệu trong tệp đang mở. - Dạng:
REPLACE [ phạm vi] < trường 1> WITH < Biểu thức 1>
[, < trường 2> WITH < Biểu thức 2> ] [, ...][ FOR < BT logic> ] Trong đó:
•Phạm vi: Xác định tập hợp các bản ghi cần thay thế, ngầm định là bản ghi hiện thời.
•Trường 1, trường 2, ... : Là các tên trường cần thay thế giá trị.
•Biểu thức 1, biểu thức 2,...: Là các biểu thức dùng để lấy giá trị thay vào các trường 1, 2, ... nên phải cùng loại với trường tương ứng.
- Tác động: Trên các bản ghi thuộc phạm vi, trường 1 được thay thế giá trị của biểu thức 1, trường 2 được thay thế giá trị của biểu thức 2,... Nếu có For <BT logic> thì chỉ các bản ghi làm biểu thức logic đúng (. T.) mới được thay thế. Khi đó phạm vi ngầm định là ALL
- Ví dụ:
+ Ví dụ: Xét tệp QLHS.DBF. Cần tính điểm trung bình và phần loại học tập của sinh viên theo quy tắc:
Điểm trung bình = (Điểm 1 x 6 + Điểm 2 x 5 + Điểm 3 x 4) / 15 Phân loại =’ Giỏi’ - nếu ĐTB ≥ 9
Phân loại =’Khá’ - nếu 7 ≤ ĐTB < 9
Phân loại =’ Trung bình’ - nếu 5 ≤ ĐTB < 7 Phân loại =’ Yếu’ - nếu ĐTB < 5
Ta viết các lệnh: USE QLHS
REPLACE ALL DTB WITH (D1∗6 + D2∗5 + D3∗4)/15 REPLACE PL WITH ‘GIOI’ FOR DTB > = 9
REPLACE PL WITH ‘KHA’ FOR DTB > = 7 . AND. DTB <9 REPLACE PL WITH ‘TB’ FOR DTB > = 5 . AND. DTB < 7 REPLACE PL WITH ‘Yếu’ FOR DTB < 5
USE
+ Ví dụ 2: Giả sử có tệp VATTU.DBF để quản lý tình hình nhập, xuất vật tư ở một kho, có cấu trúc như sau:
Name --- Type --- Width --- Dec --- Giải thích --- SOCT C 6 Số chứng từ NLCT D 8 Ngày lập chứng từ
TENVT C 20 Tên vật tư
MAVT C 6 Mã vật tư
DVT C 3 Đơn vị tính
LNV L 1 Loại nghiệp vụ (N/X)
MADV C 4 Mã đơn vị nhập/ Xuất
KL N 10 0 Khối lượng
DG N 10 2 Đơn giá
TT N 15 0 Thành tiền
Trong đó trường LNV là loại L được mã lại là .T. - nhập .F. - xuất
Bây giờ ta cần đổi lại các đơn vị tính thống nhất từ tấn (TAN) ra kilôgam (KG) ở trường DVT rồi tính: Thành tiền = khối lượng x đơn giá.
Ta viết các lệnh: USE VATTU
REPLACE KL WITH KL∗1000 FOR DVT = ‘TAN’ REPLACE DG WITH DG /1000 FOR DVT = ‘TAN’ REPLACE DVT WITH ‘KG’ FOR DVT = ‘TAN’ REPLACE ALL TT WITH KL ∗ DG
USE
Tất nhiên ba lệnh REPLACE đầu tiên cùng có mệnh đề For < btlogic> như nhau, có thể gộp thành một lệnh như sau:
REPLACE KL WITH KL∗1000, DG WITH DG/1000, DVT WITH; ‘KG’ FOR DVT = ‘TAN’
Nhận xét: Với bản chất là để thay thế giá trị cho trường dữ liệu, lệnh REPLACE thường dùng để tính toán và ghi kết quả vào trường.