Di chuyển con trỏ bản ghi

Một phần của tài liệu giáo trình tin học ứng dụng (Trang 125 - 128)

CHƯƠNG 2: QUẢN TRỊ DỮ LIỆU TÀI CHÍNH (DỰA TRÊN VISUAL VFP)

2.2. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU VISUAL FOXPRO

2.2.4. CÁC LỆNH CƠ BẢN CỦA VFP

2.2.4.2. Di chuyển con trỏ bản ghi

Khi làm việc với tệp dữ liệu là ta làm việc với các bản ghi trong tệp. Tại một thời điểm cụ thể chỉ làm việc với một bản ghi duy nhất. Bản ghi có thể được xử lí tại thời điểm hiện thời gọi là bản ghi hiện thời. Khi đó con trỏ bản ghi sẽ được đặt ở bản ghi đó.

Vậy con trỏ bản ghi là cơ chế đánh dấu bản ghi đang làm việc. Khi mới mở tệp dữ liệu, con trỏ đặt vào bản ghi đầu tiên của tệp. Để làm việc với các bản ghi nào đó, ta phải di chuyển con trỏ đến đó bằng các lệnh sau:

b. Lệnh GOTO (GO)

- Dùng để: Di chuyển con trỏ đến một bản ghi có vị trí xác định.

- Dạng:

GOTO n /TOP/ BOTTOM Trong đó:

n là số hiệu bản ghi cần chuyển đến

TOP là từ khoá chỉ bản ghi đầu tiên của tệp

- 125 -

BOTTOM là từ khoá chỉ bản ghi cuối cùng của tệp - Ví dụ: Giả sử tệp QLHS.DBF có 100 bản ghi.

Lệnh Con trỏ đặt tại bản ghi số

USE QLHS 1

GOTO 50 50

GOTO TOP 1

GOTO BOTTOM 100 c. Lệnh SKIP

- Dùng để: Di chuyển con trỏ đến một bản ghi có vị trí tương đối so với bản ghi hiện thời.

- Dạng: SKIP [n]

Trong đó n là biểu thức số nhận giá trị nguyên. Giá trị ngầm định của n là 1 - Tác động: Lệnh sẽ di chuyển con trỏ đi |n| bản ghi kể từ bản ghi hiện thời Nếu n > 0: Chuyển về phía cuối tệp

Nếu n < 0: Chuyển về phía đầu tệp

Ví dụ: Giả sử tệp QLHS.DBF có 100 bản ghi

Lệnh Con trỏ đặt ở bản ghi số

USE QLHS 1/100

SKIP 50 51/100

SKIP 10 61/100

SKIP - 5 56/100

SKIP 57/100

GO BOTTOM 100/100

- 126 -

SKIP EOF/100

SKIP (Báo lỗi: Out of range!) Chú ý:

Các bản ghi trong tệp được đánh số từ 1 đến hết. Trước bản ghi đầu tiên có dấu hiệu bắt đầu tệp BOF (viết tắt của Begin Of File), sau bản ghi cuối cùng có dấu hiệu kết thúc tệp EOF (viết tắt của End Of File)

Khi con trỏ ở bản ghi cuối cùng nếu dịch chuyển đi một bản ghi về phía cuối, con trỏ sẽ đặt tại dấu hiệu EOF, khi đó hàm EOF() nhận giá trị .T. (còn khi con trỏ không đặt tại dấu hiệu EOF thì hàm EOF() sẽ nhận giá trị .F.). Khi con trỏ ở bản ghi đầu tiên, nếu dịch chuyển lên trên một bản ghi, hàm BOF() sẽ nhận giá trị .T. (còn khi không ở trường hợp này, hàm BOF() sẽ nhận giá trị .F.)

Các lệnh GOTO và SKIP sẽ di chuyển con trỏ không phụ thuộc bất kỳ điều kiện nào nên gọi là các lệnh di chuyển con trỏ vô điều kiện. Ngoài ra còn có các lệnh để di chuyển con trỏ đến bản ghi thoả mãn một điều kiện nào đó, các lệnh đó được gọi là các lệnh di chuyển có điều kiện. Các lệnh di chuyển có điều kiện thực chất là các lệnh tìm kiếm bản ghi, sẽ được giới thiệu ở phần các lệnh tìm kiếm.

d. Lệnh LOCATE

- Dùng để tìm kiếm và định vị con trỏ bản ghi đến bản ghi thoả mãn một điều kiện nào đó. Lệnh được dùng để tìm kiếm bản ghi.

- Dạng: LOCATE FOR FOR biểu_thức_logic Trong đó: BT logic xác định điều kiện tìm kiếm

- Tác động:

VFPsẽ duyệt lần lượt từng bản ghi bắt đầu từ đầu tệp và sẽ dừng lại đặt con trỏ vào bản ghi đầu tiên thoả mãn biểu thức logic.

- 127 -

Trường hợp có nhiều bản ghi cùng thoả mãn điều kiện tìm kiếm, VFPvẫn đặt con trỏ vào bản ghi đầu tiên làm biểu thức logic đúng, muốn chuyển con trỏ đến các bản ghi tiếp theo cũng thỏa mãn biểu thức logic, ta dùng lệnh CONTINUE. Với cách thức tìm kiếm của LOCATE như vậy, người ta còn gọi LOCATE là lệnh tìm kiếm theo kiểu tuần tự. Cách này có ưu điểm là tìm kiếm được trên bất kỳ tệp có được sắp xếp hay không. Tuy nhiên, nhược điểm của lệnh là tốc độ tìm kiếm rất chậm.

Ví dụ: Xét tệp VATTU.DBF, cần tìm để đưa ra xem số lượng, đơn giá, số tiền trên chứng từ số 20/VL nhập ngày 15/10/1999

USE VATTU

LOCATE FOR SOCT = ‘10/VL’ . AND. NLCT = {10/15/99}

? ‘số lượng:’ , KL, ‘ đơn giá:’ , DG, ‘số tiền:’ , TT USE

Một phần của tài liệu giáo trình tin học ứng dụng (Trang 125 - 128)

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

(252 trang)