1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo trình visual foxpro 6 0

146 344 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 146
Dung lượng 1,09 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Visual FoxPro 6.0 (gọi tắt là VF) là một hệ quản trị cơ sở dữ liệu quan hệ (QTCSDL) trong bộ Microsoft Visual Studio 6.0. Đây l à một hệ QTCSDL trực quan, mạnh và hướng đối tượng. Nhờ VF mà bạn có thể tạo lập các CSDL để giải quyết một vấ n đề thực tế nào đó, bạn có thể sắp xếp, tìm kiếm, truy lục thông tin trong các bảng, từ các bảng trong một CSDL bạn còn có thể phát sinh ra các báo biểu, các nh ãn v.v..tóm lại nhờ công cụ này (VF) mà bạn có thể giải quyết được các bài toán xẩy ra trong công việc thường nhật một cách dễ dàng. Với VF chúng ta vừa kế thừa được sức mạnh trong môi trường Windows, lại vừa tận dụng được mọi tính năng của một hệ quản trị c ơ sở dữ liệu mạnh, lại vừa tận dụng được các điều khiển có tính trực quan v à cao hơn bạn tiếp cận với cung cách lập trình cấu trúc và hơn hết là lập trình hướng đối tượng (OOPObject Oriented Programming). Giáo trình được tổ chức theo 11 chương: Chương 1: Làm quen với môi trường VF Chương 2: Các loại dữ liệu trong VF Chương 3: DataBase và Table Chương 4: Truy vấn và hiển thị thông tin Chương 5: Form Report Chương 6: Lập trình trong VF Chương 7: Thiết kế giao diện Chương 8: Bẫy trong chương trình Chương 9: Mảng và chuyển giao dữ liệu Chương 10: Một số lệnh hiệu chỉnh dữ liệu Chương 11: Chương trình con Chương 12: Ghép dữ liệu Giáo trình được trình bày rõ ràng, dễ hiểu, nội dung của các Tables đ ơn giản giúp cho việc lĩnh hội kiến thức dễ dàng. Vì VF là một hệ QTCSDL lớn, chứa đựng rất nhiều tính năng tiện ích, ngo ài ra còn chứa đựng một loạt các điều khiển (controls), lớp (Class), các đối t ượng khác v.v.., mà giáo trình này lại ứng với số tiết không nhiều, n ên không thể đề cập đầy đủ được. Khi biên soạn giáo trình này chúng tôi hết sức cố gắng nhưng chắc chắn không thể tránh khỏi những thiếu sót, chúng tôi mong sự chỉ giúp của các bạn

Trang 1

Lời nói đầu

Visual FoxPro 6.0 (gọi tắt là VF) là một hệ quản trị cơ sở dữ liệu quan hệ(QTCSDL) trong bộ Microsoft Visual Studio 6.0 Đây l à một hệ QTCSDL trựcquan, mạnh và hướng đối tượng

Nhờ VF mà bạn có thể tạo lập các CSDL để giải quyết một vấ n đề thực tếnào đó, bạn có thể sắp xếp, tìm kiếm, truy lục thông tin trong các bảng, từ cácbảng trong một CSDL bạn c òn có thể phát sinh ra các báo biểu, các nh ãnv.v tóm lại nhờ công cụ này (VF) mà bạn có thể giải quyết đ ược các bài toánxẩy ra trong công việc thường nhật một cách dễ dàng

Với VF chúng ta vừa kế thừa đ ược sức mạnh trong môi tr ường Windows, lạivừa tận dụng được mọi tính năng của một hệ quản trị c ơ sở dữ liệu mạnh, lại vừatận dụng được các điều khiển có tính trực quan v à cao hơn bạn tiếp cận với cungcách lập trình cấu trúc và hơn hết là lập trình hướng đối tượng (OOP-ObjectOriented Programming)

Giáo trình được tổ chức theo 11 chương:

Chương 1: Làm quen với môi trường VF

Chương 2: Các loại dữ liệu trong VF

Chương 3: DataBase và Table

Chương 4: Truy vấn và hiển thị thông tin

Chương 5: Form Report

Chương 6: Lập trình trong VF

Chương 7: Thiết kế giao diện

Chương 8: Bẫy trong chương trình

Chương 9: Mảng và chuyển giao dữ liệu

Chương 10: Một số lệnh hiệu chỉnh dữ liệu

Chương 11: Chương trình con

Chương 12: Ghép dữ liệu

Giáo trình được trình bày rõ ràng, dễ hiểu, nội dung của các Tables đ ơn giảngiúp cho việc lĩnh hội kiến thức dễ d àng

Vì VF là một hệ QTCSDL lớn, chứa đựng rất nhiều tính năng tiện ích, ngo ài

ra còn chứa đựng một loạt các điều khiển (controls), lớp (Class), các đối t ượngkhác v.v , mà giáo trình này l ại ứng với số tiết không nhiều, n ên không thể đềcập đầy đủ được

Khi biên soạn giáo trình này chúng tôi hết sức cố gắng nhưng chắc chắnkhông thể tránh khỏi những thiếu sót, chúng tôi mong sự chỉ giúp của các bạn

Hà nội ngày 15/2/2008

Trang 2

Chương 1: Làm quen v ới môi trường VF

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)

Trang 3

 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:

Trang 4

Trong hộp thoại trên có các thành phần: Data, Document, Code v à Other và 6tab: 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àocá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 (+) :

Ta nhận thấy trong phần Data c ó : Databases (cơ sở dữ liệu), Free Tables(bảng), Queries (các truy vấn) v.v - chúng ta sẽ tìm hiểu các thành phần đó ở cácchương sau

Khi tìm hiểu các đối tượng riêng lẻ, bạn không nên chọn Tab All Ví dụ khi làmviệc với Data, hãy chọn Tab Data, sau đó chỉ phần Data hiện ra:

Trang 5

Cũng tương tự như vậy đối với các Tab khác.

1.3 Bổ sung và loại bỏ các File trong một Project

Trang 6

2 Loại bỏ một tệp trong một dự án

Giả sử với dự án mà ta vừa đưa tệp Labels.dbf vào, muốn loại bỏ nó hãy thaotác:

 Trưng diện hộp thoại và chọn: Data/Free Tables/Labels.dbf

Nếu sửa hãy chọn Modify, hiển thị hãy chọn Browse, loại bỏ hãy chọn Removev.v

1.4 Tạo File mới trong một th ành phần của Project Manager

 Hãy trưng diện dự án, ví dụ dự án có t ên DuAn1.pjx như hình sau:

 Chọn thành phần bạn muốn tạo File (giả sử chọn Data/Free Tables

 Chọn New sau đó ta có hộp thoại:

Trang 7

 Chọn New Table

Sau đố hộp thoại Create hiện ra:

 Hãy gõ tên tệp vào và chọn Save

Sau đó cửa sổ tạo bảng (Table Designer) có dạng:

 Hãy tạo cấu trúc tệp mới đó (sẽ nói cách tạo ở ch ương sau)

 Nạp luôn dữ liệu vào, nạp xong hãy gõ Ctrl + W để thoát

Trang 8

1.5 Thêm chú thích (mô t ả) File

Nhiều khi ta muốn chú thích cho một File n ào đó, giả sử ta muốn chú thích FileLabels.dbf là "Đây là t ệp nhãn dùng cho việc in bì thư" Muốn vậy ta thao tácnhư sau:

 Chọn tệp Labels.dbf trong phần Data/Free Tables, nh ư trong hộp thoại sau:

 Chọn Menu Project /Edit Description nh ư hình sau:

Trang 9

Sau đó ta có hộp thoại:

 Gõ chú thích: "Đây là tệp nhãn dùng cho việc in bì thư" vào và chọn OK

Sau đó ta thấy chú thích hiện ra mỗi khi ta chọn tệp Labels.dbf:

1.5 Những vấn đề khác

1 Di chuyển Project Manager

Đưa trỏ chuột vào thanh tiêu đề của Project Manager, sau đó kéo đến nới cầnđến

2 Đặt lại kích cỡ của Project Manager

Đặt trỏ chuột ở đỉnh hoặc các cạnh, sau đó co kéo cho hợp với kích cỡ m à mìnhmuốn

3 Chỉ đề phần Tab của Project Manager

Bên phải của các Table có mũi t ên lên, hãy kích vào nó ta có d ạng ProjectManager mới như sau:

Đã có chú

thích rồi!

Trang 10

Còn nếu kích vào mũi tên xuống ta được hình thù ban đầu.

4 Tách các Tab thành các giao di ện riêng

 Đưa Project Manager v ề dạng chỉ còn lại thanh Tab

 Đưa trỏ chuột vào Tab, kéo xuống ta được một giao diện riêng của Tab đó:

Nếu kích vào dấu Close (X) của giao diện đ ơn đó (hoặc kéo nó về nơi xuất phát),giao diện này sẽ nhập vào Tab tương ứng của Project Manager

5 Đưa Project Manager v ề dạng như thanh công cụ nằm ở phía trên màn hình

Đưa trỏ chuột vào thanh tiêu đề và kéo về phía trên, vùng dành cho các thanhcông cụ, cho đến khi nó mất phần phía sau thanh Tab Như hình sau:

Muốn Project Manager trở về dạng ban đầu h ãy kéo "thanh này" ra khỏi vùng đócho đến khi nó trở về dạng ban đầu

Như thanh công cụ

Trang 11

1.6 Các thanh công cụ

Việc sử dụng các thanh công cụ trong VF cũng nh ư trong các chương trình kháctrong môi trường Windows, sẽ giúp cho việc thao tác nhanh v à chính xác Đưamột thanh công cụ ra màn hình theo các bước sau:

 Chọn View /Toolbars sau đó ta có hộp thoại chọn thanh công cụ:

 Hãy đánh dấu kiểm vào một thanh mà bạn cần.

 Nếu không muốn hiển thị thanh công cụ đó h ãy xoá dấu khiểm

Bạn sẽ hiểu cách dùng các thanh công cụ đó qua những phần thích hợp

1.7 Thanh Menu Bar

Khi khởi động một dự án, thanh Menu Bar có các th ành phần sau:

Nó bao gồm:

Trang 12

Khi bạn chọn một thành phần nào đó trong Project Manager th ì các thành phầncủa Menu Bar tương ứng có thể có khác nhau Ví dụ bạn chọn Documents/Formthì Menu Bar sẽ có các thành phần:

Nghĩa là gồm các thành phần:

File, Edit, View, Format, Form, Tools, Program, Window và Help

Còn nếu bạn chọn Code /Program th ì:

Trang 13

Trên Menu Bar không có thành ph ần Form.

Bạn sẽ tìm hiểu các thành phần của Menu Bar ở những phần sau

1.8 Một số thuật ngữ và thao tác cơ bản đối với Project Manager

Như bạn đã biết Project Manager là "Trung tâm điều khiển" của mọi quá trình xử

lý trong VF Chính vì vậy mà chúng ta phải làm quen một số thuật ngữ và một sốthao tác trước khi chuyển sang các phần c ơ bản khác Như đã trình bày ở trên,trong Project Manager ch ứa 5 nhóm cơ bản:

Trang 14

Bảng này có 4 cột, mà ta hay gọi là Trường (Field), mỗi Trường có tên Trườngkhác nhau, ở ví dụ trên các tên Trường là:

a Hodem (để ghi Họ và đệm của Thí sinh).

b Ten (để ghi tên của Thí sinh)

c Ngaysinh (để ghi ngày sinh của Thí sinh)

d Sbd (để ghi số báo danh của Thí sinh)

Mỗi dòng trong bảng được gọi là một bản ghi (Record)

Tất nhiên để giải quyết bài toán Tuyển sinh, một mình bảng này chưa đủ, giả sử

ta còn có tệp dạng bảng có tên DiemKhoiA.dbf như sau:

Để kết nối hai bảng trên thành một loại thông tin cho một thí sinh bao gồm:Hodem, Ten, Ngaysinh, Sbd, Toan, Ly, Hoa, Tong ta ph ải dựa vào trường SBD,nhờ trường này mà hai bảng trên có thể liên kết được với nhau để định ra thô ngtin cho một Thí sinh Ta gọi trường này là trường Khoá, nghĩa là hai bảng trên cómối quan hệ thông qua trường Khoá SBD

Trong hai bảng trên ta còn phải chú ý một vấn đề nữa l à kiểu trường và độ dàitrường Ví dụ:

1 Trường Hodem có kiểu văn bản (Character ) và thường là có độ dài 20 kí tự,nghĩa là số ký tự dành cho họ và đệm không được quá 20 (tất nhiên phải căn

cứ vào thực tế để định độ dài cho thích hợp)

2 Trường Ten có kiểu Character v à độ dài nên khai báo là 7 (vì tên ng ười Việt

Trang 15

3 Trường ngày sinh cũng có thể khai báo Character v à có độ dài 6 (vì 2 chữ sốcho ngày, 2 cho tháng và 2 cho năm) Tuy v ậy trong VF còn có kiểu Date,chúng ta sẽ xét kỹ kiểu này ở phần sau.

4 Trường Toan, Ly, Hoa, Tong l à trường số (Numeric) và vì cách cho điểmtuyển sinh thường là 2 chữ số phần nguyên, dấu phẩy thập phân và có thể haichữ số sau dấu phẩy, nghĩa l à độ dài 5 và số chữ số sau dấu phẩy là 2

5 Trường số báo danh (Sbd) có kiểu l à Character và độ dài tuỳ bạn, miễn là đủ

để gán cho mỗi thí sinh một mã, không thí sinh nào giống nhau

 Trong DataBases có có các thành ph ần khác như: Local View, Remote View,Conections, Stored Procedures (chúng ta s ẽ tìm hiểu sau)

Trong Form chứa các tệp có hình ảnh Form Thực chất Form l à một cửa sổ dùng

để dặt các điều khiển l ên trên nó Nếu bạn chọn Form và chọn New sau đó chọnNew Form ta có hình sau:

Ta có thể đặt các điều khiển lên Form bằng cách:

Trang 16

1 Chọn View/Form Controls Toolbars, sau đó ta có hộp đi ều khiển sau:

2 Kích nút lệnh, đưa trỏ chuột vào Form, rê ta được nút lệnh như hình sau:

Dùng nút lệnh cũng như các điều khiển khác để làm gì chúng ta sẽ có mộtchương nói về điều đó

 Reports (báo biểu)

Trong Reports chứa các tệp báo biểu có đuôi *.frx v à *.frm

Trang 17

Trong Program chứa các chương trình Giả sử bạn chọn Program, New sau đó ta

có cửa sổ chương trình hiện ra, cửa sổ này dùng để gõ các lệnh mã nguồn:

 API Libraies và Applications

Hai thành phần này dùng để nối kết các thư viện API và các ứng dụng (*.DLL)

Dùng để nối kết vào Project Manager một tệp bất kỳ - có thể cả tệp đồ hoạ

Câu hỏi và bài tập

Câu 1: Project Manager là gì?

A Là một chương trình

B Là một tệp CSDL

C Là một công cụ chứa nhiều đối t ượng giúp cho việc Quản trị CSDL dễ d àng

Câu 2: Nhóm Data trong Project Manager bao g ồm những công cụ nào?

B Chọn DataBases /Tables/T ên tệp bảng

C Chọn DataBases /Nhóm Dữ liệu chứa bảng /Tables/T ên tệp bảng

D Chọn DataBases /Nhóm Dữ liệu chứa bảng /T ên tệp bảng

Câu 4: Nhóm Documents trong Project Manager bao g ồm những công cụ nào?

Trang 18

Câu 6: Để đưa một điều khiển lên Form ta làm thế nào?

A Mở tệp chứa điều khiển đó

B Chọn điều khiển cần đưa lên Form, đưa trỏ chuột vào Form và rê

C Chọn điều khiển cần đưa lên Form, đưa trỏ chuột vào Form và kích

Câu 7: Trong một DataBases có thể được phép có bao nhiêu tệp bảng?

C Chọn tệp bảng /chọn Remove sau đ ó chọn Delete

D Chọn Tables /Chọn tệp bảng /chọn Remove sau đó chọn Delete

E Chọn Data /Thành phần dữ liệu /Tables/Chọn tệp bảng /chọn Remove sau đóchọn Delete

Câu 9: Để đưa một tệp bảng vào Tables ta làm thế nào

A Chọn Data /Thành phần dữ liệu /Tables

B Chọn Data /Thành phần dữ liệu /Tables/Add

C Chọn Data /Thành phần dữ liệu /Tables/Add/chọn tệp cần đ ưa vào /OK

Câu 10: Muốn hiển thị hộp chứa các điều khiển ta l àm thế nào?

A Tao một Form mới hoặc mở một tệp Form hộp điều khiển sẽ hiển ra

B Chọn View /Form Controls To olBars

C Tao một Form mới hoặc mở một tệp Form sau đó chọn View /Form ControlsToolBars

Trang 19

Chương 2: Các loại Dữ liệu trong VF

Trong chương này để kiểm tra kết quả của các phép toán tr ên các kiểu dữ liệu,bạn dùng cửa sổ lệnh (Command) Để hiển thị cửa sổ bạn chọnWindow/Command Window, đ ồng thời dùng lệnh in (?),ví dụ gõ lệnh sau vàocửa sổ lệnhv: ?2+3 kết quả sẽ l à 5 v.v

Không được dài quá 254 kí tự, có thể dùng chữ cái, chữ số và dấu gạch dưới

để dặt tên biến nhưng không được bắt đầu bằng số, không đ ược trùng với từ

khoá trong VF.

Ví dụ tên biến hợp lệ: x, y, DienTich, S1

Tên biến không hợp lệ:-x, 2y,Dien tich, S 1

Trang 20

  Biến vùng (tên không dài quá 10 ký t ự)

Là tên các vùng để mở tệp CSDL (sẽ nói sau)

4 Gán giá trị cho biến

A=123 <Enter>(gán giá trị 123 cho biến A)

Hoặc Store 123 To A <Enter>

Có thể gán một giá trị cho nhiều biến:

?4/3 <Enter> sẽ cho kết quả 1.33

5 Phép luỹ thừa: ** hoặc ^

?2^3 <Enter> sẽ cho kết quả 8

6 Phép lấy số dư: %

?5%3 <Enter> sẽ cho kết quả 2

2.3 Các phép toán Logic trong VF

Giá trị của đại lượng kiểu logic có thể là T (đúng) hoặc F (sai)

1 Phép phủ định: Not hoặc!

?Not(2<3) <Enter> sẽ cho kết quả F

2 Phép và: And

? (2<4) And (1<2) <Enter> cho k ết quả T

? (2<4) And (1>2) <Enter> cho k ết quả F

Phép And chỉ đúng khi cả hai toán hạng đều đúng

3 Phép hoặc: or

? (2<4) or (1>2) <Enter> cho k ết quả T

? (2>4) or (1>2) <Enter> cho k ết quả F

? (2>4) or (1<2) <Enter> cho k ết quả T

? (2<4) or (1<2) <Enter> cho k ết quả T

Trang 21

?(1>=2) <Enter> cho kết quả F.

6 Phép so sánh không bằng: <> hoặc # hoặc!=

?(1#2) <Enter> cho kết quả T

7 Phép thuộc dùng cho văn bản: $

?("abc" $ "mnabcd") <Enter> cho k ết quả T

?("123" $ "dfsabc") <Enter> cho k ết quả F

2.5 Các phép toán về chuỗi ký tự trong VF

1 Phép kết nối chuỗi: +

?"abc"+"de" <Enter> cho k ết quả là "abcde"

2 Phép kết nối chuỗi:

-Kết nối chuỗi nhưng bỏ khoảng trắng sau chuỗi thứ nhất

?"abc "-"de" <Enter> cho kết quả là "abcde"

Còn nếu dùng +

?"abc "+"de" <Enter> cho k ết quả là "abc de"

2.6 Kiểu dữ liệu Character

Khi gặp phép gán: A="Tin học", ta hiểu ngay biến A có kiểu Character Vậy kiểuCharacter là kiểu văn bản Ta có thể d ùng 3 phép toán +, -, $ (như đã nói ở trên)đối với dữ liệu kiểu Character, ví dụ:

?"Tin "+"học" <Enter> cho ta kết quả "Tin học" v.v

2.6.1 Một số hàm đối với kiểu Characterr

Để mô tả các hàm ta dùng cặp dấu [ ], những gì ở trong cặp đó là không bắtbuộc

1 Hàm ALLTRIM ()

Hàm này loại bỏ các khoảng trắng tr ước và sau chuỗi văn bản Ví dụ:

A=" Tin "<Enter>

B=" học "<Enter>

?ALLTRIM(A)+ALLTRIM(B) <Enter> s ẽ cho kết quả: "Tinhọc "

Ta cũng có thể viết gọn:

?ALLT(A)+ALLT(B)

Trang 22

Trả về mã ASCII của một ký tự:

?ASC("A") <Enter> sẽ cho kết quả 65

?ASC("B") <Enter> sẽ cho kết quả 66

?AT(A,B) <Enter> sẽ cho kết quả 3

vì chuỗi A xuất hiện bắt đầu từ vị trí thứ 3 trong chuỗi B

?BETW(3, 5, 9) <Enter> s ẽ cho giá trị F

?BETW(8, 5, 9) <Enter> s ẽ cho giá trị T

?BETW("c", "a", "n") <Enter> s ẽ cho giá trị T vì ký tự c nằm trong khoảng từ

ký tự a đến ký tự n

4.Hàm Chr ()

Cho biết ký tự tương ứng với mã ASCII

?Chr(65) <Enter> cho kết quả là ký tự A

5 Hàm LEN ()

Cho biết độ dài của chuỗi

A="Hoàng Xuân Hãn" <Enter>

?Len(a) <Enter> sẽ cho kết quả 14 (có 14 ký tự tất cả, kể cả dấu cách)

Cắt các khoảng trắng phía trái của chuỗi

A=" Tin học"<Enter>

Trang 23

9 RTRIM()

Cắt các khoảng trắng phía phải của chuỗi

A=" Tin học "<Enter>

?RTRIM(a) <Enter> sẽ cho kết quả " Tin học"

10 Hàm PROPER ()

Chuyển các ký tự đầu của mỗi từ th ành chữ hoa

A=" TIN HOC QUAN LY" <Enter>

?Proper(a) <Enter> cho k ết quả "Tin Hoc Quan Ly"

11 Hàm LEFT ()

Cú pháp: LEFT(Xau, n)

Cho kết quả n ký tự bên trái của chuỗi

a="Tin hoc" <Enter>

?Left(a,2) <Enter> sẽ cho kết quả "Ti"

?"Km '+str(12) <Enter> s ẽ cho kết quả "Km 12", c òn nếu viết:

?"Km"+12 <Enter> sẽ báo lỗi vì văn bản không thể cộng với số đ ược

14 Hàm SUBSTR ()

Cú pháp: SUSTR(Xau,m,n)

Cho kết quả n ký tự trong Xau từ ký tự thứ m

a="Chao anh" <Enter>

?SubStr(a,2,3) <Enter> s ẽ cho kết quả "hao"

2.7 Kiểu Date và Date Time

1 Hàm Date ()

Hàm Date ()cho biết ngàyc, tháng, năm hiện thời:

?Date() <Enter> sẽ cho kết quả 7/28/01

2 Hàm Datetime ()

Cho kết quả là ngày và giờ hiện thời

?Datetime() <Enter> sẽ cho kết quả 7/28/01 08:12:56 AM

3 Hàm CTOD ()

Chuyển đổi biểu thức ký tự sang dạngh kiểu Date

?CTOD("12/04/76") <Enter> s ẽ cho dứ liệu kiểu Date 12/03/76

4 Hàm DTOC ()

Chuyển đổi biểu thức kiểu ngày sang biểu thức kiểu Character

?DTOC({^1967/11/07}) <Enter> s ẽ cho kết quả kiểu văn bản 12/11/67 Chú ý l àkiểu ngày được bao trong dấu { } và theo dạng {^YYYY-MM-DD}

Trang 24

5 Hàm Day5 ()

Trả về ngày lấy từ đại lượng Date

?Day(Date()) <Enter> sẽ cho kết quả là 28 (vì ngày hiện thời là 7/28/01

6.Hàm Month ()

Trả về tháng lấy từ đại lượng Date

?Month(Date()) <Enter> s ẽ cho kết quả là 7 (vì ngày hiện thời là 7/28/01

7 Hàm Year ()

Trả về năm lấy từ đại lượng Date

?Year(Date()) <Enter> s ẽ cho kết quả là 2001 (vì năm hiện thời là 7/28/01

8 Hàm Cmonth ()

Trả về tháng (bằng văn bản) lấy từ đại l ượng Date

?Cmonth(Date()) <Enter> s ẽ cho kết quả July (tháng 7)

9 Hàm CDOW ()

Trả về thứ trong tuần

?CDOW(Date()) <Enter> s ẽ cho kết quả Saturday (v ì ngày hiện thời là 28/07/01)

?CDOW({^2001-07-27}) <Enter> sẽ cho kết quả Friday

Chú ý: Theo thói quen của người Việt nam trong cách viết ng ày là: dd-mm-yy,

để đạt được trật tự đó bạn dùng lệnh:

SET DATE FRENCH trước khi dùng dữ liệu Date

Ví dụ: Người Mỹ thường theo trật tự: mm-dd-yy:

SET DATE AMERRICAN <Enter>

?DATE() <Enter> sẽ cho kết quả 07-28-01 (tháng 7 ngày 28 năm 2001)

SET DATE FRENCH <Enter>

?DATE() <Enter> sẽ cho kết quả 28-07-01 (ngày 28 tháng 7 năm 2001)

Bạn phải chú ý điều đó, nếu không sẽ có khi nhầm lẫn tai hại!

2.7 Dữ liệu kiểu Currency (tiền tệ)

Currency dùng để biểu thị tiền tệ Nó có khoảng rất lớn từ:

-922.339.203.685.477, 5087 t ới 922.337.203.685.477,5807

Nghĩa là đến hàng trăm nghìn tỷ (đủ để biẻu diễn thu nhập các n ước lớn như Mỹ,nhật, v.v Khi viết các số ứng với tiền tệ th ường có chữ phía trước hoặc sau, vídụ: 23.560.000 VND, 23.000 $ v.v sau đây l à một số nguyên tắc:

1 Gán giá trị kiểu Currency

Để gán giá trị kiểu Currency cho biến ta đặt dấu đô la ($) phía tr ước sốp, ví dụ:Tien=$ 1000 <Enter>

?Tien <Enter> sẽ cho kết quả 1000.0000 (tự động đặt 4 chữ số sau dấu chấmthập phân)

Trang 25

@10,1 Say Tien Function "$99,999.99" <Enter> s ẽ cho kết quả VND1000.0000Bạn sẽ hiểu lệnh in: @10,1 Say Tien Function "$99, 999.99" ở phần sau C ònnếu bạn cần ký hiệu tiền tệ nằm b ên phải thi dùng lệnh:

SET CURRENCY TO "VND" <Enter>

Tien=$1000 <Enter>

SET CURRENCY RIGHT <Enter>

@10,1 Say Tien Function "$99,999.99"<Enter> s ẽ cho kết quả 1000.0000VND.Dấu tiền tệ đang nằm bên phải, nếu muốn chuyển sang trái, h ãy dùng lệnh:

SET CURRENCY LEFT<Enter>

Muốn biết xem đang ở bên trái hay bên phải, ta dùng hàm:

SET("CURRENCY"), ví d ụ

Set Currency Left <Enter>

?Set("Currency") <Enter> s ẽ cho kết quả "Left"

2.7 Dữ liệu kiểu Logic

Như đã nói ở phần trên, dữ liệu này có hai giá trị là: T và F (đúng và sai) Khigán giá trị Logic hoặc biểu thức Logic cho biến, biến nhận 1 trong hai giá trịtrên, ví dụ:

?a <Enter> sẽ cho kết quả F

a=(1<2) and (3<9) <Enter>

?a <Enter> sẽ cho giá trị T

2.8 Dữ liệu kiểu số

Kiểu số trong VF bao gồm: Numeric, Double, Float v à Integer, khi khai báo kiểutrường trong Table (sẽ nói sau) ta n ên chọn cho thích hợp Sau đây l à một sốhàm xử lý dữ liệu kiểu số

1 Hàm ABS ()

Trả về trị tuyệt đối của một số

?ABS(-4) <Enter> sẽ cho kết quả 4

?Int(3.34) <Enter> sẽ cho kết quả 3

?Int(2.2*3) <Enter> sẽ cho kết quả 6

Trang 26

3.Hàm Max ()

Trả về giá trị lớn nhất trong các đối số của h àm

?Max(3,5,6,-5) <Enter> cho kết quả 6

?Max('a','b','n') <Enter> cho k ết quả 'n', vì mã của n lớn hơn mã của a và b

4 Hàm Min ()

Trả về giá trị nhỏ nhất trong các đối số của hám

?Min(3,5,6,-5) <Enter> cho kết quả -5

?Min('a','b','n') <Enter> cho k ết quả 'a', vì mã của a nhỏ hơn mã của b và n

5 Hàm Mod ()

Trả về số dư của phép chia

?Mod(6,4) <Enter> cho k ết quả 2

?Mod(6.1,3.2) <Enter> cho k ết quả 2.9

6 Hàm Round ()

Trả về giá trị sau khi đã làm tròn

Cú pháp: Round(X,n)

Trong đó X là số cần làm tròn, n là vị trí cần làm tròn

?Round(12.345, 2) <Enter> cho k ết quả 12.35

(làm tròn vị trí thứ 2 sau dấu chấm thập phân)

?Round(12.343, 2) <Enter> cho k ết quả 12.34

(làm tròn vị trí thứ 2 sau dấu chấm thập phân)

?Round(12.343, 1) <Enter> cho k ết quả 12.3

(làm tròn vị trí thứ 1 sau dấu chấm thập phân)

?Round(12.343, 0) <Enter> cho k ết quả 12

(làm tròn vị trí hàng đơn vị của phần nguyên)

?Round(12.343, -1) <Enter> cho kết quả 10

(làm tròn vị trí hàng chục của phần nguyên)

?Round(12.343, -2) <Enter> cho kết quả 0

(làm tròn vị trí hàng trăm của phần nguyên)

Kết quả là căn bậc hai của một số dương

?Sqrt(9) <Enter> cho kết quả 3

9 Hàm EXP ()

Trả về kết quả của exT

?Exp(1) <Enter> cho kết quả 2.72

?Exp(0) <Enter> cho kết quả 1.00

?Exp(2) <Enter>cho kết quả 7.39

Trang 27

Đây là hàm logarit cơ số e.

?Log(2.72) <Enter> cho k ết quả 1

?Log(1) <Enter> cho kết quả 0.00

?Log(2) <Enter> cho kết quả 0.69

11 Các hàm lượng giác

?Sin(3.14) <Enter> cho k ết quả 0.00

?Cos(3.14) <Enter> cho k ết quả -1.00

?Tan(3.14) <Enter> cho k ết quả 0.00

2.9 Dữ liệu kiểu General

Kiểu dữ liệu General cho phép ta nhúng hay nối kết các đối t ượng dữ liệu vàoCSDL Ví dụ ta có thể nhúng một bảng tính, một h ình ảnh dạng Gif, Tif, Jpg.Bạn sẽ hiểu điều này ở phần tạo lập CSDL

2.10 Dữ liệu kiểu MEMO

Dùng để lưu trữ khối văn bản có kích thước lớn hơn 254 ký tự Tệp dữ liệu chứavùng MEMO có tên trùng v ới tên của bảng nhưng phần đuôi là FPT Bạn sẽhiểu kiểu MEMO ở phần tạo bảng

Bài tập chương 2:

1 Có những loại hằng nào? cho ví dụ

2 Có những loại biến nào? cho ví dụ

3 Nêu quy tắc đặt tên biến

4 Cho ví vụ về phép gán

5 Có những phép toán số học nào? cho ví dụ

6 Có những phép toán văn bản n ào? cho ví dụ

7 Có những phép toán Logic nào? cho ví dụ

8 Có những phép toán so sánh n ào? cho ví dụ

9 Hãy dùng lệnh? và gõ biểu thức sau vào cửa sổ lệnh, xem máy báo kết quảnào:

((1>2) or (3<7)) and (4<=9)

10 Dùng cửa sổ lệnh để thực hiện các ví dụ trong phần 2.6

11 Dùng cửa sổ lệnh để thực hiện các ví dụ trong phần 2.7

12 Dùng cửa sổ lệnh để thực hiện các ví dụ tro ng phần 2.8

13 Dùng cửa sổ lệnh để thực hiện các ví dụ trong phần 2.9

14 Dùng cửa sổ lệnh để thực hiện các ví dụ trong phần 2.10

15 Giả sử ta phải tính biểu thức:(sin4+cos6) (Loge12+e6), trong cửa sổ lệnh bạn

gõ như sau:

a=sin(4) <Enter>

b=cos(6) <Enter>

c=log(12)<Enter>

Trang 28

16 Bạn chỉ cần lệnh? và cửa sổ lệnh, bạn có thể tính toán đ ược mọi công thức.

Ví dụ bạn có thể giải phương trình bậc hai: 3x2+5x-7 bằng các thao tác sau:a=3<Enter>

Bạn thử theo cách đó để giải một ph ương trình bậc hai khác

17 Theo cách của câu 16, bạn thử giải hệ p hương trình bậc nhất hai ẩn

18 hãy tính tổng lương của 20 nhân viên bằng cách dùng 4 biến:

Bién a lưu tổng của 5 nhân viên đầu

Biến b lưu tổng của 5 nhân viên tiến theo

v.v Hãy dùng phép gán để tính tổng lương của 20 nhân viên trên

Trang 29

Chương 3: Database và Table

Thuật ngữ Database (CSDL) v à Table (bảng) là hai khái niệm không đồng nhấttrong VF Database (tệp có dạng *.dbc) sẽ tham chiếu đến các quan hệ thông tinchứa đựng trong một hay nhiều Table (tệp có dạng *.dbf) Chúng ta tạm h ìnhdung là Database như là một "tổ chức" trong đó có nhiều "bộ phận" m à Table chỉ

là một "bộ phận" trong đó Cụ thể h ơn, Database dùng để tổ chức, thiết lập quan

hệ giữa các Table và các thành phần khác trong đó, Database cung cấp cấu trúcdùng để lưu trữ dữ liệu, thiết lập các Procedure (thủ tục) để xử lý các mối quan

hệ giữa các Table và các thành phần khác như View, Queries v.v Chương nàychúng ta sẽ đề cấp đến một vấn đề c ơ bản là: Tổ chức một Database v à tạo dựngcác Table trong Database đó sao cho h ợp lý nhất về mặt xử lý thông tin

3.1 Tổ chức một Database và các Table trong đó

Để thuận lợi cho việc mô tả nội dung, chúng ta đ ưa ra một ví dụ đơn giản về bài

toán xử lý dữ liệu Tuyển sinh khối A Tất nhiên chúng ta chỉ đề cập một phần

nhỏ trong toàn bộ công việc xử lý dữ liệu tuyển sinh Ngo ài ra để dễ bề truy cập,

ta quy ước là mọi tệp đều được lưu trong thư mục C:\ VF60 và tên các tệp nhưsau:

  Tên tệp Project : TuyenSinh.pjx

  Tên tệp Database: HoSo.dbc

  Tên hai tệp Table: HoSoKhoiA.dbf v à DiemKhoiA.dbf

Tạm hiểu một cách "nôm na" l à trong "tủ": TuyenSinh.pjx có "ngăn":HoSo.dbc và trong "ngăn": HoSo.dbc có hai "văn b ản": HoSoKhoiA.dbf v àDiemKhoiA.dbf

Cũng cần phải nói thêm rằng, việc tổ chức một CSDL l à một vấn đề phải tuân thủ theo một số quy tắc chặt chẽ tr ên nguyên lý của Đại số quan hệ Nhưng

ở đây ta chỉ tổ chức theo "kinh nghiệm", v ì đây là giáo trình Tin học ứng dụng

nhằm nhanh chóng giúp cho ng ười học có công cụ để giải quyết ngay các công việc của mình Nhưng cái "Kinh nghiệm" đó cũng đủ để giúp bạn giải quyết

được những vấn đề mà bạn đang cần Chúng ta sẽ tổ chức CSDL b ài bản hơn

sau khi học xong phần lý thuyết CSDL quan hệ Tuy nhi ên chúng ta cũng sẽ đề cập đến những nguyên tắc chung nhất để thiết kế một CSDL ở phần sau nhưng

trước hết hãy làm quen đã.

Để bạn hiểu cấu trúc của hai Table: HoSoKhoiA.dbf v à DiemKhoiA.dbf,bạn hãy hình dung như sau: Khi đăng ký dự thi bạn phải nạp một hồ s ơ tuyểnsinh, nhân viên nhận hồ sơ sẽ căn cứ vào hồ sơ mà tạo một tệp HoSoKhoiA.dbf

có hình ảnh sau:

HoDem | Ten | NgaySinh | SBD

Trang 30

Sau khi chấm điểm xong, nhân viên phòng máy tính lại tổ chức tệp

DiemKhoiA.dbf, có dạng sau:

SBD | Toan | Ly | Hoa | Tong| UuTien| KhuVuc

Sau đây là trình tự để xây dựng CSDL trên

1 Tạo tệp dự án có tên TuyenSinh.pjx trong thư m ục VF60

  Khởi động VF, chọn File /New sau đó ta có hộp thoại:

Hãy chọn Project và chọn New file sau đó ta có hộp thoại Create sauH:

Trang 31

  Hãy chuyển đến thư mục C:\ VF6o và gõ tên tệp dự án là: TuyenSinh.pjx

và chọn Save

Như vậy ta đã tạo ra được tệp dự án có tên TuyenSinh.pjx trong C: \VF60

2 Tạo tệp HoSo.dbc

Sau khi gõ tệp dự án (TuyenSinh.pjx) v à chọn Save thì hộp thoại sau hiện ra:

  Chọn Data /Databases/New, sau đó ta có hộp thoại:

  Hãy chọn New Database (chưa nên ch ọn Database Wizard vội), sau đó ta

có hộp thoại:

  Hãy gõ tên tệp HoSo.dbc vào và chọn Save, sau đó ta có:

Trang 32

Đây là cửa sổ dùng để tạo các Table.

3 Tạo tệp bảng HoSoKhoiA.dbf

  Đưa trỏ chuột vào cửa sổ trên (Database Designer- HoSo), ấn phím phảichuột ta có:

  Hãy chọn New Table ta có hộp thoại tiếp:

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

Trang 33

  Hãy gõ tệp HoSoKhoiA.dbf và chọn Save, hộp thoại sau hiện ra:

Đây là hộp thoại để chúng ta tạo tệp HoSoKh oiA.dbf Cách tạo như sau:

  ? cột Name (tên trường) hãy gõ hodem

  Chuyển sang cột Type (kiểu tr ường) hãy xác nhận Character

  Chuyển sang cột Width (độ d ài trường) chọn 15

  Lại quay về cột Name, để tạo tr ường ten

  Lại quay về cột Name gõ vào ngaysinh

  Chuyển sang cột Type chọn Date

  Lại quay về cột Name gõ vao sbd

Trang 34

  Chuyển sang cột Type chọn Integer

Như vậy bạn đã tạo xong cấu trúc, nếu chọn OK v à xác nhận Yes:

  Hãy gõ họ và đệm vào dòng hodem, tên vào dòng ten v.v

  Sau khi đưa dữ liệu xong hãy kết thúc bằng việc gõ: Ctrl+W hoặc kích

vào nút Close (X), ta có hộp thoại:

Tiếp tục với tệp DiemKhoiA.dbf theo nh ư cách trên Sau khi tổ chức xong ta có:

Trang 35

Như vậy ta đã xây dựng một tệp dự án chứa một tệp Da tabase (HoSo.dbc) vàhai tệp bảng (HoSoKhoiA.dbf v à DiemKhoiA.dbf).

3.2 Làm việc với CSDL

CSDL cung cấp một môi trường làm việc, ở đó ta có thể lưu trữ các bảng dữ liệu,thiết lập mối quan hệ giữa các bảng, thiết lập các quy tắc điều khiển các bảng dữliệu quan hệ, v.v sau đây là trình tự một số thao tác cơ bản nhất

3.2.1 Mở một CSDL đã có

Để mở một CSDL đã có, hãy thực hiên các bước sau:

  Mở tệp dự án (giả sử tệp bạn vừa mới tạo l à:TuyenSinh.pjx)

  Trong Project Manager ch ọn CSDL muốn mở (giả s ử chọn HoSo.dbc)

  Chọn Modify

Sau đó CSDL hiện ra như sau:

3.2.2 Sắp xếp các bảng trong CSDL

Nếu có nhiều bảng trong một CSDL, ta n ên sắp xếp theo một trật tự n ào đó, ví

dụ theo By Name, By Type, Horizontally, Vertically Thao tác như sau:

Chọn Menu Database/Arrange/chọn loại cần xắp xếp

Trang 36

3.2.3 Thiết lập mối quan hệ giữa các Table

Giả sử với hai bảng HoSoKhoiA.dbf v à DiemKhoiA.dbf ở trênG, nếu cần biếtthông tin về một thí sinh bao gồm Hodem, ten, ngaysinh, sbd, toan, ly, hoa v àtong thì làm thế nào? Rõ ràng ta phải căn cứ vào một sbd của tệpHoSoKhoiA.dbf đối chiếu với sbd tương ứng trong tệp DiemKhoiA.dbf để lấythông tin ra Trường sbd là duy nhất, nghĩa là Họ tên, ngày sinh v.v có thể trùng

nhau nhưng sbd thì không trùng nhau Ta g ọi trường sbd là trường khoá Ta nói

rằng hai tệp trên có mối quan hệ thông qua tr ường khoá này Nhờ trường sbd màtuy hai tệp độc lập nhưng lại là một

Với Database Designer cho phép ta đặt mối quan hệ giữa chúng để xử lýhai bảng đó dễ dàng Cách tiến hành đặt mối quan hệ như sau:

1 Sắp xếp trường Sbd của tệp HoSoKhoiA.dbf bằng Index

  Mở tệp dự án TuyenSinh.pjx, chọn HoSo, chọn tệp HoSoKhoiA.dbf,chọn Modify sau đó chọn Indexes ta có h ình sau:

  Gõ tên tệp chỉ mục ở cột Name (giả sử gõ IndexSbd), Type là Primary(khoá chính), Expression là Sbd như h ình sau:

Chọn OKC, như vậy ta đã sắp xếp tệp HoSoKhoiA.dbf tăng dần theo tr ườngsbd

2 Thiết lập mối quan hệ

  Mở CSDL HoSo:

Trang 37

  Đưa trỏ chuột vào trường Khoá (indexsbd) kéo san g trường Indexsbd củatệp DiemKhoiA.dbf Như vậy hai trường Sbd đã được đặt mối quan hệ Quan

hệ này là bền chặt, nếu ta không khử quan hệ đó đi

3.2.6 Xoá mối quan hệ giữa các Table

  Kích vào đường quan hệ giữa hai bảng dữ liệu, sau khi kích, đ ường sẽđậm và to lên

  Gõ vào phím Delete

3.3 Một số thao tác trong cửa sổ lệnh (Command)

Ngoài các thao tác bằng hộp thoại (giao diện qua cửa sổ), chúng ta c òn có cácthao tác qua lệnh Bạn hãy mở cửa sổ Command bằng cách:

  Chọn Window / Command Win dow, sau đó ta có hình ảnh:

3.3.1 Mở và sửa một CSDL

Từ cửa sổ lệnh bạn gõ:

Open Database C:\VF60\HoSo.dbc <Enter>

Modify Database <Enter>

Sau đó bạn có thể đưa trỏ chuột vào bảng, kích phím phải chuột để chọn:

1 Sửa cấu trúc, hãy chọn: Modify

2 Hiển thị dữ liệu chọn: Browse

Trang 38

Sau đó ta có hộp thoại:

Chọn một têp, giả sử chọn tệp HoSoKhoiA.dbf v à chọn OK

Nghĩa là tệp HoSoKhoiA.dbf đã được mở và sau đây là cách dùng một số lệnh

Trang 39

Browse Field Hodem, ten <Enter>

  Hiển thị có điều kiện

Browse for sbd>=6 <Enter> (những bản ghi có sbd lớn h ơn hoặc bằng 6n)

  Hiển thị theo Font chữ và cỡ chữ xác định:

Browse font ".vnTime", 16 <Enter>

Browse là một lệnh rất mạnh, bạn có thể kết hợp nhiều yếu tố, ví dụ:

Browse Field Hodem, ten, nga ysinh For Year(ngaysinh)=1982 <Enter>

Chỉ hiển thị những bản ghi có năm sinh bằng 1982, v.v

Trang 40

2 Lệnh EDIT

Lệnh Edit có cú pháp như lệnh Browse, như hiển thị theo cột, ví dụ:

Edit for year(ngaysinh)=1982 <Enter>

Modify Structure <Enter>

Sau đó cấu trúc bảng hiện ra, bạn có thể sửa t ên trường, kiểu trường, độ dàitrường v.v nếu bạn muốn

5 Xoá bản ghi

  Xoá bản ghi thư n (n=1,2,3, )

Go 4 <Enter>

Delete <Enter> (đánh d ấu bản ghi thứ 4)

Pack <Enter> (xoá bản ghi thứ 4)

Như vậy bản ghi thứ 4 bị xoá

  Xoá k bản ghi từ bản ghi thứ m

Go 2 <Enter>

Delete next 3 <Enter>

Pack <Enter>

Như vậy xoá 3 bản ghi: 2,3,4

  Xoá từ bản ghi thứ n đến cuối tệp

Delete next 4 <Enter>

Recall all <Enter> (4 bản ghi đã bị đánh dấu, nhưng ta lại không muốn xoá nênphục hồi bằng lệnh Recall all)

Ngày đăng: 20/08/2015, 17:03

HÌNH ẢNH LIÊN QUAN

Bảng này có 4 cột, mà ta hay gọi là Trường (Field), mỗi Trường có tên Trường khác nhau, ở ví dụ trên các tên Trường là: - Giáo trình visual foxpro 6 0
Bảng n ày có 4 cột, mà ta hay gọi là Trường (Field), mỗi Trường có tên Trường khác nhau, ở ví dụ trên các tên Trường là: (Trang 14)
Sơ đồ chọn một loại bánh: Giả sử ta chọn bánh nhân thịt g à ta - Giáo trình visual foxpro 6 0
Sơ đồ ch ọn một loại bánh: Giả sử ta chọn bánh nhân thịt g à ta (Trang 104)

TỪ KHÓA LIÊN QUAN

w