Giáo trình Visual FoxPro 6.0

1.1 Khởi động VF

Có nhiều cách khởi động VF, cách thông dụng nhất l à:

 Chọn Start/Program/Microsoft Visual Studio 6.0 /Visual FoxPro 6.0

Và tuỳ theo cài đặt và đã chạy trước đó, nên có thể có những dạng màn hình xuất

hiện khác nhau. Giả sử ta có dạng sau:

Trong trường hợp này ta thấy có một cửa sổ Microsoft Visual FoxPro v à một cửa

sổ Command T (ta sẽ còn làm quen với hai cửa sổ này trong suốt giáo trình)

1.2 Project Manager

Project Manager (quản lý dự án) là công cụ tổ chức cơ bản nhất để làm việc với

các dữ liệu và đối tượng trong VF. Tạo một Project Manager mới nh ư sau:

 Chọn File/New. Sau đó ta có hộp thoại:

 Chọn Project và New File, hộp thoại sau xuất hiện:

Nghĩa là VF yêu cầu bạn gõ tên dự án vào phần Enter Project, hãy đặt tên cho dự

án và chọn Save. Tiếp theo hộp thoại sau hiện ra:

Trong hộp thoại trên có các thành phần: Data, Document, Code và Other và 6

tab: All, Data, Documents, Classes, Code và Other (B ạn chưa cần tìm hiểu nó

vội - vì mục đích lúc này là biết cách trưng diện nó mà thôi). Nếu bạn kích vào

các dấu + thì các thành phần trong đó hiện ra, bạn hãy quan sát hộp thoại sau,

sau khi bạn đã kích vào 4 dấu cộng (+) :

Giáo trình Visual FoxPro 6.0 trang 1

Trang 1

Giáo trình Visual FoxPro 6.0 trang 2

Trang 2

Giáo trình Visual FoxPro 6.0 trang 3

Trang 3

Giáo trình Visual FoxPro 6.0 trang 4

Trang 4

Giáo trình Visual FoxPro 6.0 trang 5

Trang 5

Giáo trình Visual FoxPro 6.0 trang 6

Trang 6

Giáo trình Visual FoxPro 6.0 trang 7

Trang 7

Giáo trình Visual FoxPro 6.0 trang 8

Trang 8

Giáo trình Visual FoxPro 6.0 trang 9

Trang 9

Giáo trình Visual FoxPro 6.0 trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 146 trang xuanhieu 8760
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Visual FoxPro 6.0", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Visual FoxPro 6.0

Giáo trình Visual FoxPro 6.0
INH KV
DOITUONG TOAN LY HOA TONG TC
 1 99A0001 Nguyễn Thị Hà 171279 1 01 6.5 5.0 5.5 17.0
 2 99A0002 Trịnh Vĩnh Anh 280278 2 02 5.0 3.5 4.0 12.5
 3 99A0003 Đỗ Văn Hùng 280679 3 03 7.0 5.5 6.0 18.5
 4 99A0004 Trần Thanh Hải 011080 1 01 8.5 7.0 7.5 23.0
 5 99A0005 Phan Trọng Thanh 241280 1 5A 9.0 7.5 8.0 24.5
 6 99A0006 Đàm Hữu Thắng 190581 1 5B 3.0 1.5 2.0 6.5
 7 99A0007 Lê Thanh Hồng 171177 2 09 4.5 3.0 3.5 11.0
 8 99A0008 Nguyễn Phi Chung 020979 2 08 5.5 4.0 4.5 14.0
 9 99A0009 Trần Tuấn Bảo 090280 2 07 6.5 5.0 5.5 17.0
 10 99A0010 Nguyễn Đình Thu 151179 2 06 7.0 5.5 6.0 18.5
 11 99A0011 Nguyễn Văn Hoàng 100177 2 09 8.5 7.0 7.5 23.0
 12 99A0012 Đinh Việt Hữu 020180 2 09 9.0 7.5 8.0 24.5
 13 99A0013 Đỗ Nguyễn Chu 071180 2 04 10.0 8.5 9.0 27.5
14 99A0014 Lý Xuân Thanh 200880 2 04 2.5 1.0 1.5 5.0
.......
Tuỳ theo Đối tượng mà điểm được tăng như sau:
Tăng 3.5 điểm nếu Đối tượng là '01','02','03','04','5A','5B' và khu vực 3
Tăng 2.5 điểm nếu Đối tượng là '06','07','08' và khu vực 3
Không tăng nếu Đối tượng là '10','11' và khu vực 3
Tăng 4.5 điểm nếu Đối tượng là '01','02','03','04','5A','5B' và khu vực 2
Tăng 3.5 điểm nếu Đối tượng là '06','07','08 và khu vực 2
Tăng 1 điểm nếu Đối tượng là '10','11' và khu vực 2
Tăng 5.5 điểm nếu Đối tượng là '01','02','03','04','5A','5B' và khu vực 1
Tăng 4.5 điểm nếu Đối tượng là '06','07','08' và khu vực 1
Tăng 4 điểm nếu Đối tượng là '10','11' và khu vực 1
TRUNG TÂM ĐÀO TẠO TRỰC TUYẾN - ĐẠI HỌC KINH DOANH & CÔNG NGHỆ H À NỘI
ELEC Trang 137
Tăng 2 điểm nếu đối tượng là '09'
Ta lập trình dùng hàm INLIST như sau:
set talk off
use a99
REPL all TC with tonghs+ 3.5 for ut1(DoiTuong) and khuvuc='3'
REPL all TC with tonghs+ 2.5 for ut2(DoiTuong) and khuvuc='3'
REPL all TC with tonghs for ut3(DoiTuong) and khuvuc ='3'
REPL all TC with tonghs+ 4.5 for ut1(DoiTuong) and khuvuc='2'
REPL all TC with tonghs+ 3.5 for ut2(DoiTuong) and khuvuc='2'
REPL all TC with tonghs+ 1 for ut3(DoiTuong) and khuvuc='2'
REPL all TC with tonghs+ 5.5 for ut1(DoiTuong) and khuvuc='1'
REPL all TC with tonghs+ 4.5 for ut2(DoiTuong) and khuvuc='1'
REPL all TC with tonghs+ 4 for ut3(DoiTuong) and khuvuc='1'
REPL all TC with tonghs+ 2 for DoiTuong='09' and khuvuc='2'
************ chuong trinh con ***********
Function ut1
Parameter DoiTuong
Ut1=Inlist(DoiTuong,'01','02','03','04','5A','5B')
Return Ut1
Function ut2
Parameter DoiTuong
Ut2=Inlist(Doituong,'06','07','08')
Return Ut2
Function ut3
Parameter DoiTuong
Ut3=!Inlist(Doituong,'01','02','03','04','5A','5B','06','07','08','09')
Return Ut3
11.4 Biến toàn cục (Global) và biến cục bộ (Private)
a. Biến toàn cục
Trong một chương trình khi chúng ta khởi tạo giá trị cho các biến nhớ v à mảng,
thì giá trị các biến đó sẽ tồn tại trong bộ nhớ cho đến khi ch ương trình kết thúc
và chương trình chạy sau không thể sử dụng được các biến nhớ đó. Nhưng có
nhiều khi ta muốn chương trình chạy sau sử dụng được các biến đó thì làm thế
nào?
Để làm được điều này ta phải khai báo các biến đó là toàn cục bằng lệnh sau:
TRUNG TÂM ĐÀO TẠO TRỰC TUYẾN - ĐẠI HỌC KINH DOANH & CÔNG NGHỆ H À NỘI
ELEC Trang 138
PUBLIC 
Ví dụ:
PUBLIC a,b,c
Như vậy a,b, c là biến toàn cục.
Để khai báo mảng toàn cục ta dùng lệnh:
PUBLIC [ARRAY] 
Ví dụ:
PUBLIC ARRAY A(4), B(4), C(4,5) ho ặc
PUBLIC A(4), B(4) ,C(4,5)
Chú ýC:
 Các biến toàn cục được khởi tạo bởi PUBLIC có giá trị ba n đầu là .F.
 Lệnh PUBLIC phải thực hiện trước, trước khi gán giá trị cho các biến.
 Các biến tạo ra trong cửa sổ lệnh là toàn cục
b. Biến cục bộ
Khi thực hiện một chương trình, nếu trong một chương trình con ta muốn dùng
tên biến trùng với biến toàn cục, nhưng không muốn làm thay đổi biến toàn cục
thì nên khai báo biến đó là biến cục bộ theo lệnh sau:
PRIVATE 
Ví dụ:
PRIVATE a, b, c
Thì biến a, b, c là biến cục bộ, nghĩa là nó chỉ có ý nghĩa trong chương trình con
đó mà thôi. Sau đây là ví dụ về chương trình.
Set talk off
Clear
PUBLIC a, b
a=1
b=2
Do InAn
 ?a, b
Procedure InAn
Private a
a=150
b=100
?' a b '
?a, b
Return
Kết quả sau khi chạy chương trình là:
 a b
150 150 100 (giá trị trong chương trình con InAn)
1 1 100 (a là cục bộ, nên ra khỏi chương trình con a vẫn bằng 1)
Lệnh PRIVATE còn có dạng khác:
TRUNG TÂM ĐÀO TẠO TRỰC TUYẾN - ĐẠI HỌC KINH DOANH & CÔNG NGHỆ H À NỘI
ELEC Trang 139
PRIVATE ALL [LIKE | EXCEPT ]
Ví dụ 1:
Cục bộ cho tất cả các biến.
PRIVATE ALL
Ví dụ 2:
Cục bộ với những biến có chữ đầu là B.C
PRIVATE ALL LIKE b*
Ví dụ 3:
Cục bộ với tất cả các biếnC, trừ biến có chữ đầu l à a
PRIVATE ALL LIKE EXCEPT A*
Ví dụ 4:
Cục bộ với tất cả các biếnC, trừ biến có chữ đầu l à a và chữ thứ 3 là c.
PRIVATE ALL LIKE EXCEPT a?c*
Ví dụ 5: Cục bộ với tất cả các biến có 3 ký tự, trừ biến có chữ đầu l à A và chữ
thứ 3 là d
PRIVATE ALL LIKE EXCEPT a?d
Chú ý:
Biến khai báo ở chương trình chính là toàn cục, ví dụ trên có thể viết như sau:
Set talk off
Clear
a=1
b=2
Do InAn
 ?a, b
Procedure InAn
Private a
a=150
b=100
?' a b '
?a, b
Return
c. Hiển thị biến nhớ
Để hiển thị nội dung biến nhớ (tên biến, toàn cuc hay cục bộ, kiểu và độ lớn) hãy
dùng lệnh sau:
DISPLAY MEMORY [LIKE ]
[TO PRINTER | TO FILE ]
d. Giải phóng các biến nhớ
Để giải phóng các biến nhớ khỏi bộ nhớ h ãy thực hiện lệnh sau:
RELEASE 
Ví dụ
a=1
b='Tin hoc'
TRUNG TÂM ĐÀO TẠO TRỰC TUYẾN - ĐẠI HỌC KINH DOANH & CÔNG NGHỆ H À NỘI
ELEC Trang 140
c=.T.
Release b,c
Display memo
Khi chạy chương trình chỉ có biến a được hiển thị.
Lệnh giải phóng biến nhớ còn có cách viết khác:
RELEASE ALL [ LIKE | EXCEPT ]
Ví dụ:
D1=12
D2=11
C=4
RELEASE ALL Like D*
Hoặc có thể viết:
D1=12
D2=11
C=4
RELEASE ALL EXCEPT C*
Chú ý: Chỉ có lệnh RELEASE mới xoá đ ược biến toàn cục.
Ví dụ:
PUBLIC a1, a2,a3, b
Store 10 to a1, a2, a3
Store 2 To b
Release all like a*
Display Memory
Sau khi chạy chương trình ta thấy biến a1,a2, a3 không bị xo á
TRUNG TÂM ĐÀO TẠO TRỰC TUYẾN - ĐẠI HỌC KINH DOANH & CÔNG NGHỆ H À NỘI
ELEC Trang 141
Chương 12. Lệnh ghép ngang (JOIN) và lệnh cập nhật (UPDATE)
12.1 Lệnh Join
Tạo một tệp CSDL mới từ tệp CSDL hiện h ành và một tệp CSDL thứ hai mở
trong vùng làm việc khác. Mỗi bản ghi của tệp CSDL mới đ ược tạo bởi các
trường trong hai bản ghi tương ứng. Sau đây là cú pháp lệnh:
JOIN WITH | WITH 
TO 
FOR 
[FIELDS | FIELDS LIKE | FIELDS EXCEPT
]
Các mệnh đề trên có ý nghĩa như sau:
 | 
Xác định vùng làm việc của tệp CSDL thứ hai. Vùng làm việc có thể được xác
định qua biểu thức số hoặc qua biểu thức ký tự .
 TO 
 là tên của tệp CSDL mới được tạo thành từ lệnh trên.
 FOR 
Khi thực hiện lệnh JOIN mỗi bản ghi trong tệp CSDL hiện h ành sẽ được kết hợp
lần lượt với từng bản ghi trong tệp CSDL thứ hai, nh ưng chỉ những bản ghi thoả
mãn điều kiện .
 [FIELDS | FIELDS LIKE | F IELDS EXCEPT ]
Chỉ những trường trong hoặc trong LIKE hoặc không phải
trong EXCEPT mới được kết nối, ví dụ:
FIELDS LIKE A*,P*
FIELDS LIKE A*,P* EXCEPT PARTNO*
Ví dụ ta có hai tệp CSDL. Tệp thứ nhất có t ên HOSO.DBF với nội dung sau:
Record# HOTEN NGAYSINH SBDC KHUVUC DOITUONG
 1 Hoàng Thanh Hà 191180 99A311 3 11
 2 Hoàng Trung Thành 231181 99A669 1 08
 3 Nguyễn Anh Tuấn 250880 99A784 2 10
 4 Vương Văn Hiệp 250778 99A971 2 09
 5 Hoàng Văn Mạnh 300680 99A483 2 09
 6 Hoàng Thọ Diện 281177 99A116 2 09
 7 Vũ Thị Na 100479 99A492 1 08
 8 Hoàng Văn Tường 260179 99A806 2 09
 9 Nguyễn Văn Thuyết 210680 99A627 2 11
 10 Bùi Thế Thuật 180281 99A633 2 10
 11 Nguyễn Văn Đại 020879 99A171 2 09
12 Lê Thanh Nam 170880 99A504 2 09
 13 Nguyễn Xuân Đô 041080 99A953 1 08
TRUNG TÂM ĐÀO TẠO TRỰC TUYẾN - ĐẠI HỌC KINH DOANH & CÔNG NGHỆ H À NỘI
ELEC Trang 142
 14 Đỗ Trí Duy 100481 99A123 2 09
 15 Đinh Quang Hải 280479 99A328 2 10
 16 Dương Thị Lan 230481 99A411 3 10
 17 Nguyễn Quang Phú 240480 99A565 3 10
 18 Hà Tất Thắng 151181 99A689 2 10
 19 Bùi Duy Thức 100981 99A700 3 10
 20 Lâm Hồng Hiệp 080180 99A223 3 11
Tệp thứ hai có tên DIEMTHI.DBF có nội dung như sau:
Record# SBDC TOAN10 LY10 HOA10 TONGDIEM30
 1 99A311 5.5 4.5 6.8 16.8
 2 99A669 6.5 4.3 6.4 17.2
 3 99A784 7.5 5.9 7.5 20.9
 4 99A971 6.5 6.0 7.0 19.5
 5 99A483 5.6 7.4 4.6 17.6
 6 99A116 4.8 6.2 5.0 16.0
 7 99A492 5.8 6.6 5.1 17.5
 8 99A806 6.8 6.9 3.7 17.4
 9 99A627 6.9 6.1 4.9 17.9
 10 99A633 6.9 5.4 5.6 17.9
 11 99A171 7.0 5.7 6.6 19.3
 12 99A504 7.0 5.4 6.8 19.2
 13 99A953 3.0 4.2 5.7 12.9
 14 99A123 4.1 4.4 5.3 13.8
 15 99A328 4.1 8.7 5.4 18.2
 16 99A411 4.1 7.6 4.3 16.0
 17 99A565 4.1 6.8 7.3 18.2
 18 99A689 5.1 6.2 8.6 19.9
 19 99A700 5.1 6.6 3.1 14.8
 20 99A223 6.3 6.1 8.8 21.2
Ví dụ 1:
Set talk off
Select 1
Use HoSo
Select 2
Use DiemThi
Join With HoSo To TepMoi For sbdc=HoSo.Sbdc
Use TepMoi
Browse
Khi chương trình chạy ta được TepMoi như sau:
TRUNG TÂM ĐÀO TẠO TRỰC TUYẾN - ĐẠI HỌC KINH DOANH & CÔNG NGHỆ H À NỘI
ELEC Trang 143
Record#
SBDC TOAN10 LY10 HOA10 TONGDIEM30 HOTEN NGAYSINH KHUVUC DOITU ONG
1 99A311 5.5 4.5 6.8 16.8 Hoàng Thanh Hà 191180 3 11
2 99A669 6.5 4.3 6.4 17.2 Hoàng Trung Thành 231181 1 08
3 99A784 7.5 5.9 7.5 20.9 Nguyễn Anh Tuấn 250880 2 10
4 99A971 6.5 6.0 7.0 19.5 Vương Văn Hiệp 250778 2 09
5 99A483 5.6 7.4 4.6 17.6 Hoàng Văn M ạnh 300680 2 09
6 99A116 4.8 6.2 5.0 16.0 Hoàng Th ọ Diện 281177 2 09
 7 99A492 5.8 6.6 5.1 17.5 Vũ Thị Na 100479 1 08
 8 99A806 6.8 6.9 3.7 17.4 Hoàng Văn Tư ờng 260179 2 09
 9 99A627 6.9 6.1 4.9 17.9 Nguyễn Văn Thuyết 210680 2 11
 10 99A633 6.9 5.4 5.6 17.9 Bùi Thế Thuật 180281 2 10
 11 99A171 7.0 5.7 6.6 19.3 Nguyễn Văn Đại 020879 2 09
 12 99A504 7.0 5.4 6.8 19.2 Lê Thanh Nam 170880 2 09
 13 99A953 3.0 4.2 5.7 12.9 Nguyễn Xuân Đô 041080 1 08
 14 99A123 4.1 4.4 5.3 13.8 Đỗ Trí Duy 100481 2 09
 15 99A328 4.1 8.7 5.4 18.2 Đinh Quang H ải 280479 2 10
 16 99A411 4.1 7.6 4.3 16.0 Dương Th ị Lan 230481 3 10
 17 99A565 4.1 6.8 7.3 18.2 Nguyễn Quang Phú 240480 3 10
 18 99A689 5.1 6.2 8.6 19.9 Hà Tất Thắng 151181 2 10
 19 99A700 5.1 6.6 3.1 14.8 Bùi Duy Th ức 100981 3 10
 20 99A223 6.3 6.1 8.8 21.2 Lâm Hồng Hiệp 080180 3 11
Ví dụ 2:
Set talk off
Select 1
Use HoSo
Select 2
Use DiemThi
Join With HoSo To TepMoi For sbdc=HoSo.Sbdc Fields Hoso.Hoten, SBDC,
TongDiem30
Use TepMoi
Browse
Khi chương trình chạy ta được TepMoi như sau:
Record# HOTEN SBDC TONGDIEM30
 1 Hoàng Thanh Hà 99A311 16.8
 2 Hoàng Trung Thành 99A669 17.2
 3 Nguyễn Anh Tuấn 99A784 20.9
 4 Vương Văn Hiệp 99A971 19.5
 5 Hoàng Văn Mạnh 99A483 17.6
 6 Hoàng Thọ Diện 99A116 16.0
 7 Vũ Thị Na 99A492 17.5
 8 Hoàng Văn Tường 99A806 17.4
TRUNG TÂM ĐÀO TẠO TRỰC TUYẾN - ĐẠI HỌC KINH DOANH & CÔNG NGHỆ H À NỘI
ELEC Trang 144
 9 Nguyễn Văn Thuyết 99A627 17.9
 10 Bùi Thế Thuật 99A633 17.9
 11 Nguyễn Văn Đại 99A171 19.3
 12 Lê Thanh Nam 99A504 19.2
 13 Nguyễn Xuân Đô 99A953 12.9
 14 Đỗ Trí Duy 99A123 13.8
 15 Đinh Quang Hải 99A328 18.2
 16 Dương Thị Lan 99A411 16.0
 17 Nguyễn Quang Phú 99A565 18.2
 18 Hà Tất Thắng 99A689 19.9
 19 Bùi Duy Thức 99A700 14.8
 20 Lâm Hồng Hiệp 99A223 21.2
12.2 Lệnh UPDATE
Lệnh này dùng để cập nhật dữ liệu vào tệp CSDL hiện hành từ một tệp CSDL
thứ hai đang mở trong một vùng làm việc khác. Cú pháp lệnh như sau:
UPDATE ON 
FROM | 
REPLACE WITH 
[, WITH ...]
[RANDOM]
Các mệnh đề trên có ý nghĩa như sau:
 ON 
Field là trường khoá, tệp CSDL hiện thời phải đ ược sắp xếp theo lệnh SORT
hoặc lệnh INDEX trên trường này theo thứ thự tăng dần.
 FROM | 
Xác định vùng làm việc của tệp CSDL thứ hai, nơi để lấy dữ liệu chuyển cho tệp
hiện thời. Vùng làm việc có thể được xác định qua biểu thức số hoặc
qua biểu thức ký tự .
 REPLACE WITH [, WITH ...]
Trường trong tệp CSDL hiện thời sẽ đ ược nhận giá trị v.v..
 RANDOM
Sẽ được dùng nếu tệp CSDL thứ hai không được sắp xếp theo trường khoá tăng
dần. Nếu tệp CSDL thứ hai được sắp xếp tăng dần theo trường khoá thì mệnh đề
này không cần thiết và qúa trình cập nhật được tiến hành nhanh hơn.
Giả sử ta có tệp Hoso.dbf có các trường sau:
Record# HOTEN NGAYSINH SBDC TONG
 1 Hoàng Thọ Diện 281177 99A116 0.00
 2 Đỗ Trí Duy 100481 99A123 0.00
 3 Nguyễn Văn Đại 020879 99A171 0.00
 4 Lâm Hồng Hiệp 080180 99A223 0.00
TRUNG TÂM ĐÀO TẠO TRỰC TUYẾN - ĐẠI HỌC KINH DOANH & CÔNG NGHỆ H À NỘI
ELEC Trang 145
 5 Hoàng Thanh Hà 191180 99A311 0.00
 6 Đinh Quang Hải 280479 99A328 0.00
 7 Dương Thị Lan 230481 99A411 0.00
 8 Hoàng Văn Mạnh 300680 99A483 0.00
 9 Vũ Thị Na 100479 99A492 0.00
 10 Lê Thanh Nam 170880 99A504 0.00
 11 Nguyễn Quang Phú 240480 99A565 0.00
 12 Nguyễn Văn Thuyết 210680 99A627 0.00
 13 Bùi Thế Thuật 180281 99A633 0.00
14 Hoàng Trung Thành 231181 99A669 0.00
 15 Hà Tất Thắng 151181 99A689 0.00
 16 Bùi Duy Thức 100981 99A700 0.00
 17 Nguyễn Anh Tuấn 250880 99A784 0.00
 18 Hoàng Văn Tường 260179 99A806 0.00
 19 Nguyễn Xuân Đô 041080 99A953 0.00
 20 Vương Văn Hiệp 250778 99A971 0.00
Và tệp Diem.dbf có các trường sau:
Record# SBDC TOAN10 LY10 HOA10 TONGDIEM30
 1 99A223 6.3 6.1 8.8 21.2
 2 99A784 7.5 5.9 7.5 20.9
 3 99A689 5.1 6.2 8.6 19.9
 4 99A971 6.5 6.0 7.0 19.5
 5 99A171 7.0 5.7 6.6 19.3
 6 99A504 7.0 5.4 6.8 1 9.2
 7 99A328 4.1 8.7 5.4 18.2
 8 99A565 4.1 6.8 7.3 18.2
 9 99A627 6.9 6.1 4.9 17.9
 10 99A633 6.9 5.4 5.6 17.9
 11 99A483 5.6 7.4 4.6 17.6
 12 99A492 5.8 6.6 5.1 17.5
 13 99A806 6.8 6.9 3.7 17.4
 14 99A669 6.5 4.3 6.4 17.2
 15 99A311 5.5 4.5 6.8 16.8
 16 99A116 4.8 6.2 5.0 16.0
 17 99A411 4.1 7.6 4.3 16.0
 18 99A700 5.1 6.6 3.1 14.8
 19 99A123 4.1 4.4 5.3 13.8
 20 99A953 3.0 4.2 5.7 12.9
Ta muốn đưa cột TongDiem30 của tệp CSDL Diem.dbf sâng cột Tong của tệp
Hoso.dbf theo trường khoá là SBDC, ta lập trình như sau:
Set talk off
Clear
TRUNG TÂM ĐÀO TẠO TRỰC TUYẾN - ĐẠI HỌC KINH DOANH & CÔNG NGHỆ H À NỘI
ELEC Trang 146
Select 1
Use Diem
Select 2
Use Hoso
Index on sbdc to sbdc1
Update On Sbdc From Diem Replace Tong With Diem.To ngDiem30 Random
Select 2
Browse
Sau khi chạy chương trình ta có kết quả:
Record# HOTEN NGAYSINH SBDC TONG
 1 Hoàng Thọ Diện 281177 99A116 16.00
 2 Đỗ Trí Duy 100481 99A123 13.80
 3 Nguyễn Văn Đại 020879 99A171 19.30
 4 Lâm Hồng Hiệp 080180 99A223 21.20
 5 Hoàng Thanh Hà 191180 99A311 16.80
 6 Đinh Quang Hải 280479 99A328 18.20
 7 Dương Thị Lan 230481 99A411 16.00
 8 Hoàng Văn Mạnh 300680 99A483 17.60
 9 Vũ Thị Na 100479 99A492 17.50
10 Lê Thanh Nam 170880 99A504 19.20
 11 Nguyễn Quang Phú 240480 99A565 18.20
 12 Nguyễn Văn Thuyết 210680 99A627 17.90
 13 Bùi Thế Thuật 180281 99A633 17.90
 14 Hoàng Trung Thành 231181 99A669 17.20
 15 Hà Tất Thắng 151181 99A689 19.90
 16 Bùi Duy Thức 100981 99A700 14.80
 17 Nguyễn Anh Tuấn 250880 99A784 20.90
 18 Hoàng Văn Tường 260179 99A806 17.40
 19 Nguyễn Xuân Đô 041080 99A953 12.90
 20 Vương Văn Hiệp 250778 99A971 19.50
Hoặc ta có thể viết lại chương trình để chạy nhanh hơn như sau:
Set talk off
Clear
Select 1
Use Diem
Index on SBDC to SbdDiem
Select 2
Use Hoso
Index on sbdc to sbdc1
Update On Sbdc From Diem Replace Tong With Diem.TongDiem30
Select 2
Browse

File đính kèm:

  • pdfgiao_trinh_visual_foxpro_6_0.pdf