Làm việc với nhiều bảng

Một phần của tài liệu Bài giảng Visual FoxPro pdf (Trang 46 - 49)

Vùng làm việc

Visual Foxpro cho phép mở nhiều bảng dữ liệu đồng thời, mỗi bảng trên một vùng làm việc (WorkArea) nhất định. Visual Foxpro cho phép mở tối đa là 255 vùng làm việc đồng thời,

mỗi vùng được xác định qua tên hoặc số hiệu vùng. Lệnh SELECT <n | TableName| AliasName >

Lệnh này cho phép chọn vùng làm việc, trong đó: n là số thứ tự của vùng cần chuyển đến; TableName là tên bảng hoặc aliasname.

Ví dụ

SELECT A

USE DMLOP ALIAS LOP SELECT B

USE HOSOSV ALIAS SINHVIEN SELECT 0

USE DIEM

Trong ví dụ trên đã tạo ra 3 vùng làm việc: Vùng 1 (hoặc vùng A hoặc LOP), Vùng 2 (hoặc vùng B hoặc SINHVIEN), Vùng 3 (hoặc DIEM).

Lưu ý: Khi chọn n=0 thì Visual Foxpro sẽ tự động chọn vùng cao nhất cịn trống. Có thể xem danh sách các tables đã được mở: Menu Window/Data session

Liên kết giữa các bảng

Visual Foxpro cho phép đặt liên kết (mối “quan hệ”) giữa các bảng để có thể tạo ra một

bảng to hơn từ các bảng con. • Menu Window/Data sesion.

• Chọn các tables -> Click vào Relations.

Lệnh SET RELATION TO <BieuThuc> INTO <n| TableName | AliasName>

Lệnh này cho phép đặt quan hệ từ bảng hiện thời vào bảng được mở ở vùng n (hoặc

TableName hoặc AliasName), trong đó BieuThuc là tiêu chuẩn đế đặt quan hệ.

Lưu ý: Bảng được mở trong vùng AliasName phải được index theo BieuThuc này rồi.

Ví dụ:

SELECT A

INDE ON ma TO malopidx BROW

SELECT B

USE HOSOSV ALIAS SINHVIEN SET RELATION TO malop INTO LOP BROW

(trong ví dụ này bảng DMLOP gọi là bảng cha, bảng HOSOSV gọi là bảng con) Khi con trỏ di chuyển trong bảng con thì con trỏ trong bảng cha cũng thay đổi tương ứng.

Một số hàm và lệnh khác Một số hàm

Hàm RECNO() Trả về số hiệu bản ghi hiện thời Hàm RECCOUNT() Trả về số bản ghi hiện có của bảng Hàm ALIAS() Định danh của vùng hiện thời

Hàm DBF() Tên file DBF

Hàm EOF(), BOF() Trạng thái TRUE nếu con trỏ vượt quá Beginning và End

Một số lệnh khác

• LIST [Scope] [Field <FieldName List>] [FOR <BieuthucLogic>] • COUNT [ TO VarName ] [ FOR expL1 ] [ While expL2 ] [ Phạm vi ] • AVERAGE expN TO VarName [ FOR expL1 ] [ While expL2 ] [ Phạm vi ] • SUM <Danh sách biểu thức> TO <Danh sỏch biến số>

• FOR expL1 ] [ While expL2 ] [ Phạm vi ]

• CALC <Danh sách biểu thức> TO <Danh sỏch biến số> • [ FOR expL1 ] [ While expL2 ] [ Phạm vi ]

• max(expr), min(expr), aver(expN)

• COPY TO <FileName> [ FOR expL1 ] [ While expL2 ] [ Phạm vi ] • COPY STRUCTURE TO <FileName> [EXTENDED]

• APPEND FROM <FileName> [ FOR <ExpL>]

Một số hàm thông dụng Các hàm về ngày tháng

DATE(): trả về ngày, tháng, năm hiện tại của hệ thống. Thứ tự kết quả hiển thị của lệnh này phụ thuộc vào lệnh SET DATE.

SET DATE FRENCH DATE()

YEAR(<BTHứC DATE>): trả về năm của <BTHứC DATE>.

Ví dụ: YEAR(DATE()) → trả về năm hiện hành của hệ thống. MONTH(<BTHứC DATE>): trả về năm của <BTHứC DATE>.

Các hàm về chuỗi

LEN(<BTHứC C>): trả về chiều dài của <Bthuc C>, tính bằng Byte. Chuỗi rỗng có chiều dài là 1.

LEFT(<BTHứC C>, <N>): trích ra một chuỗi gồm n kí tự của <BTHứC C>, tính từ bên trái sang.

Ví dụ: ?LEFT("NGUYEN VAN AN", 6) → CHO KếT QUả LÀ "NGUYEN".

RIGHT(<BTHứC C>, <N>): trích ra một chuỗi gồm n kí tự của <BTHứC C>, tính từ bên phải sang.

SUBSTR (<BTHứC C>, <N1>, <N2>): trích ra chuỗi con của <BTHứC C>, từ vị trí <N1> và gồm <N2> kí tự.

Ví dụ: ? SUBSTR ("NGUYEN VAN AN", 8, 3" KếT QUả CHO CHUỗI "VAN". ALLTRIM (<BTHứC C>): cho kết quả là một chuỗi sau khi đã loại bỏ các kí tự trắng ở hai bên của <BTHứC C>.

Ví dụ: ?ALLTRIM("NGUYEN VAN AN ") → "NGUYEN VAN AN" UPPER(<BTHứC C>): kết quả là chuỗi in hoa của <BTHứC C>.

Ví dụ: ?UPPER ("Nguyen Van AN") → "NGUYEN VAN AN" LOWER <BTHứC C>: kết quả là chuỗi in thường của <BTHứC C>.

Các hàm số học

ASB(X): Trị tuyệt đối của X. INT(X): trả về phần nguyên của X.

ROUND(X,<N>): Làm tròn X với N số lẻ. SIN(X): cho giá trị SIN X

Một phần của tài liệu Bài giảng Visual FoxPro pdf (Trang 46 - 49)

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

(102 trang)