Tải bản đầy đủ (.pdf) (25 trang)

Bài 3: Tin Quản lý Visual Foxpro - Sắp xếp tìm kiếm - Thống kê dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.48 MB, 25 trang )

Saturday, April 07, 2012 Tin Quản Lý - Visual Foxpro
BÀI 3
SẮP XẾP, TÌM KIẾM
THỐNG KÊ DỮ LIỆU
Nhóm TIN QUẢN LÝ - BM TIN - Khoa Toán Tin học
Đại học Thăng Long

Saturday, April 07, 2012 Tin Quản Lý - Visual Foxpro
NỘI DUNG
 Sắp xếp dữ liệu (Sorting)
 Tìm kiếm dữ liệu (Finding)
 Một số câu lệnh thống kê dữ liệu
Saturday, April 07, 2012 Tin Quản Lý - Visual Foxpro
NỘI DUNG
 Sắp xếp dữ liệu
 Lệnh SORT
 Lệnh INDEX
Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
SẮP XẾP DỮ LIỆU (SORTING)
• Một số khái niệm
– Trường khóa sắp xếp (Keys)
– Kiểu sắp xếp
• Ascending (Tăng dần – ngầm định)
• Descending (Giảm dần)
• Có thể sử dụng
– /A thay cho Ascending
– /D thay cho Descending


Tin Quản Lý - Visual Foxpro


Saturday, April 07, 2012
SẮP XẾP DỮ LIỆU (Cont)
• Câu lệnh SORT
– Cú pháp
SORT ON <Trường khóa sắp xếp>/< kiểu sắp xếp >
[FOR< biểu thức Logic >]
[FIELDS <DS trường>]
TO <Tên tệp kết quả sắp xếp>
Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
SẮP XẾP DỮ LIỆU (Cont)
• Ví dụ:
Use DSSV
Sort On MASV For Lop = “Q20” To DSSV_Q20
Sort On MASV DESC For Lop = “T20” To DSSV_T20
Use DSSV_Q20
Browse
Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
SẮP XẾP DỮ LIỆU (Cont)
• Câu lệnh INDEX
Để sắp xếp bảng DL bằng câu lệnh Index, tiến hành sắp xếp
qua 2 bước
Bước 1: Tạo tệp chỉ mục (index file) hoặc thẻ sắp xếp (tag)
trên trường khóa sắp xếp theo yêu cầu sắp xếp
Bước 2: Mở bảng dữ liệu cần sắp xếp theo tệp chỉ mục (hoặc
thẻ sắp xếp)


Tin Quản Lý - Visual Foxpro

Saturday, April 07, 2012
SẮP XẾP DỮ LIỆU (Cont)
• Câu lệnh INDEX – sắp xếp theo tệp chỉ mục (index file)

B1: INDEX ON <Trường khóa>[/kiểu sắp xếp]
TO <Tệp chỉ mục>

B2: USE <Tên tệp> INDEX <Tệp chỉ mục>

Tệp chỉ mục: *.idx
Chú ý: Đối với trường khóa là kiểu số (Numeric), khi sắp xếp giảm dần, ta dùng
dấu “-” đằng trước trường sắp xếp thay cho từ khóa DESC

Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
SẮP XẾP DỮ LIỆU (Cont)
• Câu lệnh INDEX – sắp xếp theo thẻ (Tag)

B1: INDEX ON <Trường khóa> [/ kiểu sắp xếp]
TAG <Tên thẻ sắp xếp>
B2: USE <Tên tệp> ORDER <Tên thẻ sắp xếp>

Thẻ sắp xếp: *.cdx


Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
SẮP XẾP DỮ LIỆU (Cont)
• Ví dụ
USE DSSV

INDEX ON Masv TO dssv_idx
USE DSSV INDEX dssv_idx

Hoặc

Use DSSV
Index On MASV Tag DSSV_Tag
Use DSSV Order DSSV_Tag
Saturday, April 07, 2012 Tin Quản Lý - Visual Foxpro
TÌM KIẾM DỮ LIỆU
 Tìm kiếm dữ liệu
 Tìm kiếm tuần tự - Câu lệnh LOCATE
 Tìm kiếm sau khi lập chỉ mục
 Câu lệnh SEEK
 Câu lệnh FIND

Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
TÌM KIẾM DỮ LIỆU
• Câu lệnh LOCATE
Cú pháp

LOCATE FOR <Biểu thức điều kiện tìm kiếm>

Một số hàm, câu lệnh đi kèm với câu lệnh LOCATE
- FOUND (): cho biết có tìm thấy bản ghi nào thỏa mãn điều kiện
tìm kiếm hay không? (FOUND() = .T.)
- RECNO(): cho biết số hiệu của bản ghi thỏa mãn điều kiện tìm
- CONTINUE: tiếp tục tìm kiếm
Tin Quản Lý - Visual Foxpro

Saturday, April 07, 2012
TÌM KIẾM DỮ LIỆU (Cont)
• Lệnh FIND và lệnh SEEK
(Hai lệnh này chỉ sử dụng để tìm kiếm dữ liệu trên các tệp dữ liệu đã được
sắp xếp bằng lệnh INDEX)
Cú Pháp
FIND <Giá trị tìm>
hoặc
SEEK <Giá trị tìm>
VD: …
Saturday, April 07, 2012 Tin Quản Lý - Visual Foxpro
NỘI DUNG
 Một số câu lệnh thống kê dữ liệu
 Biến nhớ (Variable)
 Câu lệnh COUNT
 Câu lệnh SUM
 Câu lệnh AVERAGE
 Câu lệnh CALCULATE
 Câu lệnh TOTAL ON

Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
KHÁI NIỆM BIẾN
• Biến (Variables) là gì?
• Có bao nhiêu loại biến?
– Biến nhớ và Biến trường
• Biến trường  Trường
• Biến nhớ: một vùng nhớ được sử dụng để lưu trữ giá
trị trong quá trình thực hiện công việc
Tin Quản Lý - Visual Foxpro

Saturday, April 07, 2012
BIẾN NHỚ - VARIABLE
• Các thuộc tính của biến nhớ
– Tên biến - Name
– Kiểu dữ liệu của biến – Datatype
– Độ rộng của biến - Width
– Giá trị - Value
• Ví dụ:
• _Hoten = “Nguyễn Văn An”
• _Ngaysinh = {09/03/1984}
• _Diem = 9.5
• …
Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
BIẾN NHỚ - VARIABLE
• Ví dụ: _Hoten = “Nguyễn Văn An”
Nguyễn Văn An
_Hoten
Name: _Hoten
Data type: Character
Width: 13
Value: Nguyễn Văn An
Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
BIẾN NHỚ - VARIABLE
• Ví dụ: _Diem = 9.5
9.5
_Diem
Name: _Diem
Data type: Numeric

Width: 3
Decimal: 1
Value: 9.5
Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
Câu lệnh COUNT
• Cú pháp
COUNT <phạm vi> FOR <Biểu thức Logic> TO <Biến nhớ>

• VD: COUNT all FOR DiemLT>=5.0 TO _dem
?_dem

Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
Câu lệnh SUM
• Cú pháp
SUM <phạm vi> <Biểu thức> TO <Biến
nhớ> [FOR <Biểu thức Logic>]

VD: 1. SUM all Thuclinh TO _Tongthuclinh
?_Tongthuclinh

2. SUM all Doanhthu TO _TongDT FOR
thang=12
?_TongDT
Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
Câu lệnh AVERAGE
• Cú pháp
AVERAGE <phạm vi> <Biểu thức> TO <Biến

nhớ> [FOR <Biểu thức Logic>]

VD: 1. AVERAGE all DiemTB TO _DTB
? _DTB
Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
Câu lệnh CALCULATE
• Cú pháp
CALCULATE <Hàm tính> TO <Biến nhớ>
[FOR <Biểu thức điều kiện>]

Hàm tính có thể là MIN(), MAX(),AVG(),
VD: Calc Max(DiemLT) to _MaxLT

Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
Câu lệnh TOTAL ON
• Cú pháp
TOTAL ON <Trường xác định gộp nhóm>
FIELDS <Trường tính gộp>
TO <Tệp kết quả>
[FOR <Biểu thức Logic>]
Lưu ý: - Tệp chứa dữ liệu trước khi tính gộp phải được
sắp xếp theo trường xác định gộp
- Tệp kết quả là tệp *.dbf
Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012
Câu lệnh TOTAL ON
• Ví dụ:
Nguoiban Tienban

Lan Hương 1.000.000
Thanh Trúc 850.000
Lan Hương 500.00
Xuân Thành 450.000
Thanh Trúc 200.000
Nguoiban Tienban
Lan Hương 1.500.000
Thanh Trúc 1.050.000
Xuân Thành 450.000
Doanhthu1.dbf
Doanhthu2.dbf
- Sắp xếp bảng DOANHTHU.DBF
theo trường NGUOIBAN

- Xác định giá trị gộp
Total On Nguoiban Fields Tienban
To Doanhthu2
Tin Quản Lý - Visual Foxpro
Saturday, April 07, 2012

×