Lệnh REPLACE

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

- 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.

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

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

(180 trang)
w