You are on page 1of 66

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

CNG MN VISUAL FOX VB2


1. Gii thiu v Visual Fox
Mi trng lm vic: Lm vic trn mi trng lm vic Visual Foxpro 6.0
Ti liu, gio trnh mn hc
- Visual Fox 6.0 Ci t theo b Visual Studio 6.0 v km b help l MSDN Ti liu tham kho
- Thc hnh lp trnh Foxpro for Windows KS. Hong Hng Nh xut bn giao thng vn ti 1998
- Visual Foxpro Nguyn Trng Long Nh xut bn tr - 1998
- B help MSDN
- Bi ging km theo chng trnh c cp phn bi tp ng dng.

1.1 Lch s
- Fox pro c pht trin t h qun tr CSDL Dbase. Sau c pht trin nhanh v mnh hn nn
c gi Foxpro, t Fox c ngha l nhanh hn, tinh nhy hn (Fox c ngha l co).
- Microsoft cha c h qun tr CSDL nn mua li Foxpro pht trin v pht trin cc phin bn tip
theo gii quyt vn qun tr CSDL. MicroSoft c nh dng pht trin cc phin bn ca
Foxpro phin bn 2.6 nhng do nhu cu pht trin tip cc ng dng nn MicroSoft vn pht trin
cc phin bn tip theo n hin ti l phin bn 10.0 v tch ri Visual Foxpro ra khi b Studio.

1.2 Kh nng
Lm vic tt vi CSDL mc trung bnh, c tc x l d liu tt. Mi trng pht trin c lp v
tin li do chng trnh chy ch cn mt s file nh c th thc hin c. Hin ti Visual Foxpro cn c
th to b ci chy nh cc ng dng khc.
- Visual Foxpro ngoi x l tt v CSDL cn kt ni vi th vin ca Windows cho php kt hp vi cc
kiu ng dng khc iu khin h thng, nh chng trnh qun l tnh cc in thoi.
- Ngoi ra Foxpro cn l CSDL cho cc ng dng khc truy xut nh l VB, VC..
- Ngoi ra Foxpro cn c th l mt ngn ng lp trnh tt truy xut n cc CSDL khc nh l SQL
server
- im yu ca Visual Foxpro l khng h tr kiu Client Server nn lp trnh mng ch thng qua vic
chia s file, nhng c c ch kim tra tranh chp tt.

1.3 Mi trng lm vic v cc lnh c bn


- Trc command oriented by gi l objects oriented t phi vit lnh cho cc giao din n vic thit k
giao din v generate m lnh by gi chng ta lm vic trc tip i tng pht trin. T vic chy
trn m trung gian by gi bin dch thnh file exe.

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

1.3.1 Mi trng lm vic dng lnh command

- Cho php s dng cc lnh khai thc cc tp tin c sn. Thng thng dng ca s lnh thc thi
cc chng trnh, chun b d liu, kim tra kt qu hot ng. Ca s lnh khng c ngha lp trnh
ln.

1.3.2 Mi trng lp trnh cc file


Cho php tp hp cc lnh khc nhau thnh mt chng trnh thc hin mt s cng vic nht nh.
Trong cc phin bn trc y l phng php lp trnh ch yu. Cc file c lp nhau hoc c qun l
thnh tp hp cc file gi l catalog.

gii quyt cc cng vic khc nhau ngi ta thc hin cc file khc nhau thc hin.

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

1.3.3 Mi trng lm vic theo project

Cho php qun l cc file thuc d n tt hn v a ra nhng kh nng mi nh qun l cc file *.dbf
n l thnh mt i tng l data v a ra cc view, query xy dng sn lm vic.

1.3.4 Mt s quan im v lp trnh trong Fox


- Trong mi trng lm vic ca Fox pro khng phn bit lnh l ch hoa hay ch thng. v d.
- Fox chia mi trng lm vic thnh 255 vng lm vic, mi file *.dbf c m trong mt vng lm vic
khc nhau v vy khi lm vic vi nhiu file *.dbf cn phi m trong cc vng d liu khc nhau. Cc
lnh ca fox nu khng c ch vng lm vic th mc nh lm vic trong vng hin thi, mun lm
vic vng lm vic khc th phi chuyn vng hoc ch ra vng lm vic trong cu lnh.
- Cc bin trong Fox c th c khai bo trc hoc khng khi bo trc nu khng khai bo trc thi
ngay lnh gn u tin n s t to ra bin nh tng ng. Cc bin nh trong Fox khng c nh
kiu trc m n nh kiu theo gi tr gn vo. Tt nhin s dng bin cha c khi to hoc s
dng cc php so snh khng ng kiu s gy li chng trnh. Cc bin c th c phn vng khc
nhau v vy trong cc vng khc nhau th khng nhn thy bin nn cc bin dng chung khng nn
khai trong cc vng hoc phi nh ngha l public.
Trong Fox pro c th tn ti bin nh v bin trng cng tn trong mt khng gian lm vic, khi vic
truy xut n tn bin s c u tin truy xut n bin trng. ch r vic truy xut n bin nh
hay bin trng phi ghi thm tin t vo: Vi bin trng th ghi thm Alia v du chm vo u: c
php: <alias>.<tn bin> v d. Vi bin nh th ta thm m v du chm vo u c php: m.<tn bin
nh>.
V d: file NguoiDung m trong Alias l NguoiDungA c cc trng ID, Ten, MatKhau ang bn ghi c
gi tr tng n l (1, Nguyen,123456) v c bin nh Ten c gi tr l Van
?Ten s c gi tr l Nguyen
?m.Ten c gi tr l Van
?NguoiDungA.Ten c gi tr l Nguyen

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

1.3.5 Cc ton t trong Visual Fox

1.3.5.1 Thot khi mi trng Fox pro


QUIT

1.3.5.2 Php ton vi k t


+ Php cng: cho php cng hai k t vi nhau.
+ Php tr: cng hai k t vi nhau nhng loi b k t trng trc khi cng.
A= Nguyn Phng
B= Anh
?A+B
Nguyn Phng Anh
?A-B
Nguyn PhngAnh

1.3.5.3 Php ton vi ngy thng


+ <Ngy thng> + <Biu thc s>: Ngy sau ngy c cng
+ <Biu thc s> + <Ngy thng>: Ngy c dch tip s ngy tng ng trong biu thc s.
+ <Ngy thng> - <Biu thc s>: Dch chuyn v trc ngy ch ra s ngy tng ng.
+ <Ngy thng> - <Ngy thng >: Khong cch gia hai ngy.

1.3.5.4 Php ton vi ton t logic


Bng: =
Bng chnh xc: == ch dng cho kiu character.
Ln hn: >
B hn: <
Ln hn hoc bng: >=, =>
B hn hoc bng: <=, =<
Khc: <>, #, !=
c cha trong: $ ch dng cho character hoc Memo. ?Van $ Van Trinh
Ton t thc hin chui: &. V d: h=Select() ?&h tng ng lnh ?Select()
iu kin giao: AND
iu kin hp: OR.
iu kin ph nh: NOT, !

1.3.5.5 Php ton s hc


Cng: +
Tr: Nhn: *
Chia: /
Ly tha: **, ^
Ly s d: %

1.3.6 Mt s lnh t mi trng


1. SET SAFETY ON | OFF ON: hin th thng bo khi c ghi , xa file OFF: Khng hin th thng
bo khi ghi v xa file..
4
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

2. SET TALK ON | OFF | WINDOW [WindowName] | NOWINDOW


Hin th kt qu ra mn hnh kt qu
ON: hin th kt qu ra mn hnh kt qu
OFF: khng hin th kt qu tnh ton sau khi tnh
WINDOW: cho php hin th kt qu ra mt ca s c nh ngha trc
NOWINDOW: Hin th kt qu ra ca s chnh ca Foxpro
3. SET CENTURY ON | OFF
Hin th nm y 4 s hoc 2 s
ON: Hin th nm l 4 s
OFF: Hin th nm l 2 s
4. SET DATE [TO] AMERICAN | FRENCH | MDY | DMY | YMD
AMERICAN: mm/dd/yy
FRENCH: dd/mm/yy
MDY: mm/dd/yy
DMY: dd/mm/yy
YMD: yy/mm/dd
5. SET DEFAULT TO [cPath]
t ng dn th mc hin ti lm vic
6. SET PATH TO [Path]
t ng dn tm kim file khi cc lnh khng ch r ng dn
7. SET()
Tham s l cc gi tr sau lnh SET trn ly gi tr hin ti gip cho qu trnh lu trng thi khi
hot ng

2. Lp trnh trn dng lnh


Gii thiu cc lnh khai thc d liu c bn, cc lnh ny s dng trn mi trng dng lnh nhng cng
c th p dng trong lp trnh sau ny.
Mt s qui nh v cch vit c php
[]: Ty chn c th c hoc khng
|: La chn mt trong cc gi tr c lit k
<>: Thay th phn ny bng ngha ca cu c nu trong biu thc du ngoc c nu ra.

2.1 To lp c s d liu

2.1.1 Cc lnh trn database

2.1.1.1 CREATE DATABASE


1. Mc ch
To lp mt database c phn ui m rng l *.dbc v m n trong vng lm vic hin ti.
2. C php
CREATE DATABASE [DatabaseName | ?]
3. Gii thch cc tham s DatabaseName: Tn ca database cn to lp ?: hin th mt dialog box cho
php chn tn v ng dn

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

2.1.1.2 OPEN DATABASE


1. Mc ch
M DataBase to sn.
2. C php
OPEN DATABASE [FileName | ?] [EXCLUSIVE | SHARED] [NOUPDATE] [VALIDATE]
3. Cc tham s FileName: Ch ra ng tn file database tn ti ?: Chn database to sn
EXCLUSIVE: M database trong kiu exclusive khng cho php cc chng trnh khc truy xut n
database ny nu khng c tham s ny th s mc nh theo lnh SET EXCLUSIVE
SHARED: Cho php chia s database cho ng dng khc m lm vic
NOUPDATE: Khng cho php cp nht database hay c ngha l m trng thi readonly
VALIDATE: Kim tra trng thi cc tham chiu sp xp, cc trng tham chiu trong database.
4. Ch
Khi m ra cc bng, view, query c th c m truy xut nhng phi thng qua lnh USE. Khi dng
lnh USE trong trng hp ny th Foxpro s u tin nhng tn file c trong database c m trc.

2.1.1.3 CLOSE
1. Mc ch
ng mt s kiu file ang m trong c cc file database.
2. C php
CLOSE [ALL | DATABASES [ALL] | INDEXES | TABLES [ALL]]
3. Tham s
ALL: ng tt c cc kiu file ang m sau: databases, tables, v indexes file. ng lun cc kiu file
c m bi FCREATE( ) v FOPEN( ). Form Designer, Project Manager, Label Designer, Report
Designer, Query Designer.
CLOSE DATABASES [ALL]: ng tt c cc file database v cc file thuc database. Nu khng c
database no c m th tt c cc table v cc file index c ng.
CLOSE INDEXES: ng tt c cc file sp xp.
CLOSE TABLES [ALL]: ng tt c cc table trong database c m nu khng c database c
m th ng tt c cc table t do ang c m. Nu c thm tham s ALL th ng tt c cc table
trong cc database v cc table t do.

2.1.1.4 DELETE DATABASE


1. Mc ch
Xa database file t a.
2. C php
DELETE DATABASE DatabaseName | ? [DELETETABLES] [RECYCLE]
3. Tham s
DatabaseName: Tn database, n phi khng c m hin ti, c th c ng dn y .
?: Chn t dialog box database cn xa.
DELETETABLES: Xa c cc table trong database nu database c cha cc table ny.
RECYCLE: Xa v a vo trong thng rc cha xa hon ton khi a.

2.1.1.5 DISPLAY TABLES


1. Mc ch
Hin th tn v thng tin v cc table c cha trong database c m hin ti.
2. C php
DISPLAY TABLES [TO PRINTER [PROMPT] | TO FILE FileName] [NOCONSOLE]
3. Tham s
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

TO PRINTER [PROMPT]: a trc tip thng tin ra my in, nu c tham s PROMPT th a ra


Print dialog box trc khi in.
TO FILE FileName: a thng tin ra file c ch ra bi FileName.
NOCONSOLE: Khng a thng tin ra mn hnh Visual FoxPro hoc ca s ang lm vic.

2.1.1.6 ADD TABLE


1. Mc ch
Thm mt table t do vo trong database hin thi.
2. C php
ADD TABLE TableName | ? [NAME LongTableName]
3. Tham s TableName: Tn ca table cn a vo trong database ?: Chn tn file table t do a vo
trong database
NAME LongTableName: Tn di y cho php n 128 k t thay th cho tn file ngn ca
file.dbf.

2.1.1.7 FREE TABLE


1. Mc ch
Loi tr mt table trong database ra khi database.
2. C php
FREE TABLE TableName
3. Tham s
TableNam: Tn ca table trong database b loi tr
4. Ch
N ch c dng khi database ny b xa lc ta dng lnh ny gii phng v c th a table
ny vo trong mt database khc, khng nn s dng lnh ny khi database ny cn tn ti khng th s
gy li cho database. Nu database cn tn ti th nn dng lnh REMOVE TABLE.

2.1.1.8 REMOVE TABLE


1. Mc ch
Xa thng tin tham chiu n mt table trong database hin ti.
2. C php
REMOVE TABLE TableName | ? [DELETE] [RECYCLE]
3. Tham s
TableName: Tn table c xa khi database.
?: Chn table trong database hin ti.
DELETE: Xa khi database v xa khi a
RECYCLE: Xa khi database v a vo trong thng rc.

2.1.1.9 PACK DATABASE


1. Mc ch
Xa tt c cc bn ghi c nh du xa bng lnh DELETE
2. C php
PACK DATABASE
3. Ch
Database phi c m ch exclusively v khng c table hoc view no c m.

2.1.1.10 DBC
1. Mc ch
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

Ly thng tin tn, ng dn database hin ti ang c m


2. C php
DBC()

2.1.1.11 CREATE SQL VIEW


1. Mc ch
To ra mt SQL view s dng, thng c p dng trong lp trnh hoc trong cc k thut lm
bo co lc d liu.
2. C php
CREATE SQL VIEW [ViewName ] [AS SQLSELECTStatement]
3. Tham s ViewName: Tn ca view c to lp AS SQLSELECTStatement: Cu lnh SQL lc d
liu.
4. V d
CREATE SQL VIEW mysqlview AS SELECT * FROM customer!orders

2.1.1.12 DELETE VIEW


1. Mc ch
Xa SQL view trong database, thng i km vi CREATE SQL VIEW to ra nhng iu kin lc
ng trong cc bo co c lp sn, hoc trong nhng form tm kim.
2. C php
DELETE VIEW ViewName
3. Tham s
ViewName: Tn view b xa khi database.
4. V d
OPEN DATABASE (HOME(2) + Data\testdata)
CREATE SQL VIEW myview
DISPLAY DATABASE
DELETE VIEW myview

2.1.2 Cc lnh trn table

2.1.2.1 USE
1. Mc ch
M mt table hoc SQL view lm vic
2. C php
USE [[DatabaseName!]Table | SQLViewName | ?]
[IN nWorkArea | cTableAlias] [AGAIN] [NOREQUERY] [NODATA] [INDEX IndexFileList | ?
[ORDER [nIndexNumber | IDXFileName | [TAG] TagName [OF CDXFileName]
[ASCENDING | DESCENDING]]]] [ALIAS cTableAlias] [EXCLUSIVE]
[SHARED] [NOUPDATE]
3. Tham s
[DatabaseName!]TableName: Tn ca table trong database cn m, v c th dng thm du hoc
nh du tn trong trng hp c du cch trong ng dn.
SQLViewName: Tn SQL view trong database.
?: Hin th dialog la chn.
IN nWorkArea: Vng alias c m trong trng hp l 0 th s chn vng alias b nht cha c s
dng m.
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

IN cTableAlias: M trong mt vng alias c m trc, nu khng c hai tham s trn th m


trong vng lm vic hin ti.
AGAIN: Dng m table trn nhiu vng lm vic khc nhau.
INDEX IndexFileList: Cc file index s c m ra cng vi table. Nu l mt cu trc nhiu index th
n s t ng m ra cng vi table. C th a ra nhiu tn index theo th t u tin.
INDEX ?: Chn file index trong danh sch.
ORDER [nIndexNumber]: Chn ch s ca index trong file.idx.
ORDER [IDXFileName]: Ch ra file.idx lm file index chnh.
ORDER [TAG TagName] [OF CDXFileName]: Ch ra index chnh trong mt file.idx.
ASCENDING: Sp xp theo th t tng dn
DESCENDING: Sp xp theo th t gim dn
ALIAS cTableAlias: To tn alias cho table.
EXCLUSIVE: m ra khng chia s.
SHARED: M ra cho php chia s.
NOUPDATE: Khng cho php thay i d liu, cu trc ca file.

2.1.2.2 CREATE
1. Mc ch
To ra mt table
2. C php
CREATE [FileName | ?]
3. Tham s FileName: Tn file cn to ra. ?: Hin th dialog box cho php chn.

2.1.2.3 MODIFY STRUCTURE


1. Mc ch
Thay i cu trc table c to ra
2. C php
MODIFY STRUCTURE

2.1.2.4 CREATE TABLE


1. Mc ch
To ra mt table trc tip khng thng qua mn hnh to lp nh trn thng c s dng trong lp
trnh to cc table t ng, hoc to nhng file temp dng trong qu trnh tnh ton.
2. C php
CREATE TABLE | DBF TableName1 [NAME LongTableName] [FREE]
(FieldName1 FieldType [(nFieldWidth [, nPrecision])]
[NULL | NOT NULL]
[CHECK lExpression1 [ERROR cMessageText1]]
[DEFAULT eExpression1]
[PRIMARY KEY | UNIQUE]
[REFERENCES TableName2 [TAG TagName1]] [NOCPTRANS]
[, FieldName2...] [, PRIMARY KEY eExpression2 TAG TagName2
|, UNIQUE eExpression3 TAG TagName3]
[, FOREIGN KEY eExpression4 TAG TagName4 [NODUP]
REFERENCES TableName3 [TAG
TagName5]]
[, CHECK lExpression2 [ERROR cMessageText2]])| FROM ARRAY ArrayName
3. Tham s
TableName1: Tn ca table c to lp
NAME LongTableName: Tn di ca table n c to lp v lu trong database khng dng lu
vo tn file.
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

FREE: Xc nh khng thuc database ang c m hin ti nu khng c database no c m th


n khng cn thit.
(FieldName1 FieldType [(nFieldWidth [, nPrecision])]: C th c n 255 fields nhng nu c mt
trng cho php NULL th ch cn 254 trng. Tn trng, kiu trng, ln ca trng, s sau du
phy. Phn ln v s sau du phy cn ty thuc vo kiu d liu c miu t FieldType.
FieldType
nFieldWidth
nPrecision
Description
C
N

Kiu k t
D

Date
T

DateTime
N
N
d
Kiu d liu s
F
N
d
Kiu d liu s floating
I

Integer
B

d
Double
Y

Currency
L

Logical
M

Memo
G

General
NULL: Cho php d liu l trng (khng nhp)
NOT NULL: Bt buc phi nhp d liu cho trng ny nu khng c s thng bo li
CHECK lExpression1: Kim tra d liu u vo nu khng tha mn s khng cho php thm vo
trong CSDL.
ERROR cMessageText1: Thng bo li khi xy ra li do kim tra CHECK.
DEFAULT eExpression1: D liu mc nh khi to lp n l biu thc v c kiu cng kiu vi d
liu trong kiu field.
PRIMARY KEY: To kha sp xp chnh cho trng ny c cng tn vi tn trng.
UNIQUE: To kha sp xp cho trng v khng cho php nhp gi tr trng lp vo trng ny.
PRIMARY KEY eExpression2 TAG TagName2: To ra primary index c miu t eExpression2,
TAG TagName2 ch ra tn ca Index.
UNIQUE eExpression3 TAG TagName3: To ra mt candidate index c xc inh bi
eExpression3, c xc nh tn bng TAG TagName.
FOREIGN KEY eExpression4 TAG TagName4 [NODUP]: To ra mt index dng lm tham chiu
n.
FROM ARRAY ArrayName: Danh sch cc fields v thuc tnh c xc nh trong ArrayName.
4. V d
CREATE DATABASE mydata1
CREATE TABLE salesman (SalesID c(6) PRIMARY KEY, SaleName C(20))
CREATE TABLE customer (SalesID c(6), CustId i PRIMARY KEY, CustName c(20) UNIQUE,
SalesBranch c(3), FOREIGN KEY SalesId TAG SalesId REFERENCES salesman)

2.1.2.5 DROP TABLE


1. Mc ch
Xa mt table khi database v khi a.
2. C php
DROP TABLE TableName | FileName | ? [RECYCLE]
3. C php
TableName: Tn table cn c xa khi database.
FileName: Tn table t do cn c xa.
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

10

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

?: La chn file.
RECYCLE: a vo thng rc.
4. Ch
N thay i thng tin tham chiu n table b xa trong database.

2.1.2.6 ALTER TABLE


1. Mc ch
Thay i cu trc ca mt table c nh ngha sn
2. C php
- ALTER TABLE TableName1 ADD | ALTER [COLUMN] FieldName1 FieldType [(nFieldWidth [,
nPrecision])] [NULL | NOT NULL]
[CHECK lExpression1 [ERROR cMessageText1]] [DEFAULT eExpression1]
[PRIMARY KEY | UNIQUE] [REFERENCES TableName2 [TAG TagName1]]
[NOCPTRANS] [NOVALIDATE]
Hoc
- ALTER TABLE TableName1 ALTER [COLUMN] FieldName2 [NULL | NOT NULL]
[SET DEFAULT eExpression2] [SET CHECK lExpression2 [ERROR cMessageText2]]
[DROP DEFAULT] [DROP CHECK] [NOVALIDATE]
Hoc
- ALTER TABLE TableName1 [DROP [COLUMN] FieldName3]
[SET CHECK lExpression3[ERRORcMessageText3]] [DROP CHECK]
[ADD PRIMARY KEY eExpression3 [FOR lExpression4] TAG TagName2]
[DROP PRIMARY KEY]
[ADD UNIQUE eExpression4 [[FOR lExpression5] TAG TagName3]]
[DROP UNIQUE TAG TagName4] [ADD FOREIGN KEY [eExpression5]
[FOR lExpression6] TAG TagName4 REFERENCES TableName2
[TAG TagName5]]
[DROP FOREIGN KEY TAG TagName6 [SAVE]]
[RENAME COLUMN FieldName4 TO FieldName5] [NOVALIDATE]
3. Tham s
TableName1: Tn ca table c cu trc b thay i.
ADD [COLUMN] FieldName1: Tn ca trng c thm vo.
ALTER [COLUMN] FieldName1: Tn trng b thay i.
FieldType [(nFieldWidth [, nPrecision])]: Kiu, ln, s sau du phy. c m t nh phn to lp
mi.
ALTER [COLUMN] FieldName2: Dng ch tn ca trng thay i khi c nhiu thuc tnh thay
i th cn phi c nhiu pht biu ALTER COLUMN.
SET DEFAULT eExpression2: Xc nh gi tr mc nh mi.
SET CHECK lExpression2: To gi tr kim tra mi
ERROR cMessageText2: Gi tr thng bo mi.
DROP DEFAULT: B gi tr mc nh.
DROP CHECK: B gi tr kim tra.
DROP [COLUMN] FieldName3: B mt field.
ADD PRIMARY KEY eExpression3 [FOR lExpression4] TAG TagName2: Thm mt gi tr kha
mi.
DROP PRIMARY KEY: B gi tr kha.
ADD UNIQUE eExpression4 [TAG TagName3 [FOR lExpression5]]: Thm candidate index vo
table.
DROP UNIQUE TAG TagName4: B gi tr candidate index.
11
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

ADD FOREIGN KEY [eExpression5] TAG TagName4 [FOR lExpression6]: Thm foreign (nonprimary) index vo table.
REFERENCES TableName2 [TAG TagName5]: Thm tham chiu.
DROP FOREIGN KEY TAG TagName6 [SAVE]: B tham chiu.
RENAME COLUMN FieldName4 TO FieldName5: i tn fields. C th cc tham chi vn tham
chiu n tn trng c.
4. V d
ALTER TABLE customer ADD COLUMN fax2 c(20) NOT NULL
DISPLAY STRUCTURE
ALTER TABLE customer ALTER COLUMN fax2 NULL

2.2 Cc lnh khai thc d liu

2.2.1 Hin th

2.2.1.1 DISPLAY
1. Mc ch
Hin th thng tin hin ti ca table.
2. C php
DISPLAY [[FIELDS] FieldList] [Scope] [FOR lExpression1]
[WHILE lExpression2] [OFF] [NOCONSOLE] [NOOPTIMIZE]
[TO PRINTER [PROMPT] | TO FILE FileName]
3. Tham s
FIELDS FieldList: Danh sch cc trng d liu c hin th, nu khng c hin th tt c cc trng
trong table. Khng hin th trng memo tr trng hp c t lnh SET MEMOWIDTH.
Scope: Phm vi cc bn ghi c hin th. c nh ngha bi cc gi tr: ALL, NEXT nRecords,
RECORD nRecordNumber, v REST. Tng ng tt c, nRecords bn ghi sau bn ghi hin ti, hin th
bn ghi th nRecordNumber, v cc bn ghi sau bn ghi hin ti. Mc nh l hin th bn ghi hin ti vi
(NEXT 1).
FOR lExpression1: Xc nh iu kin hin th, nhng bn ghi tha mn iu kin lExpression1 s
c hin th.
WHILE lExpression2: Hin th cc bn ghi n khi gp bn ghi u tin khng tha mn iu kin
trong lExpression2.
OFF: B qua vic hin th s bn ghi, nu khng c s mc nh hin th s bn ghi u.
NOCONSOLE: B qua vic hin th cc bn ghi ra mn hnh.
TO PRINTER [PROMPT]: In kt qu ra my in, nu c PROMPT th hin th mn hnh in n.
TO FILE FileName: Kt qu c c a ra file.
4. v d OPEN DATABASE (HOME(2) + Data\testdata) USE customer && Opens Customer table
DISPLAY FIELD cust_id, company, contact OFF NEXT 10

2.2.1.2 LIST
1. Mc ch
Hin th ni dung cc bn ghi.
2. C php
LIST [FIELDS FieldList] [Scope] [FOR lExpression1]
[WHILE lExpression2] [OFF] [NOCONSOLE] [NOOPTIMIZE]
[TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]
3. Tham s
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

12

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

Cc tham s c ngha tng t nh tham s ca lnh DISPLAY.

2.2.1.3 BROWSE
1. Mc ch
Hin th danh ni dung cc bn ghi.
2. C php
BROWSE [FIELDS FieldList] [FONT cFontName [, nFontSize]]
[STYLE cFontStyle] [FOR lExpression1 [REST]] [FORMAT]
[FREEZE FieldName] [KEY eExpression1 [, eExpression2]] [LAST | NOINIT]
[LOCK nNumberOfFields] [LPARTITION] [NAME ObjectName] [NOAPPEND]
[NOCAPTIONS] [NODELETE] [NOEDIT | NOMODIFY] [NOLGRID] [NORGRID]
[NOLINK] [NOMENU] [NOOPTIMIZE] [NOREFRESH] [NORMAL] [NOWAIT]
[PARTITION nColumnNumber [LEDIT] [REDIT]]
[PREFERENCE PreferenceName] [SAVE] [TIMEOUT nSeconds]
[TITLE cTitleText] [VALID [:F] lExpression2 [ERROR cMessageText]]
[WHEN lExpression3] [WIDTH nFieldWidth] [WINDOW WindowName1]
[IN [WINDOW] WindowName2 | IN SCREEN] [COLOR SCHEME nSchemeNumber]
3. Tham s
FIELDS FieldList: Danh sch cc trng c hin th mc nh l hin th ton b cc trng.
FONT cFontName [, nFontSize]: Xc nh kiu font, ln font hin th trong danh sch. V d:
FONT Courier,16.
STYLE cFontStyle: Xc nh kiu ch hin th. V d: STYLE NU. c nh ngha nh bn
di.
Character Font style
B
Bold
I
Italic
N
Normal
O
Outline
Q
Opaque
S
Shadow

Strikeout
T
Transparent
U
Underline
FOR lExpression1: C ngha nh trong lnh DISPLAY.
REST: Khng cho con tr di chuyn t v tr hin ti n u trong khi thc hin lnh.
FREEZE FieldName: Cho php thay i trn mt trng trong ca s Browse. N ch thay i trn
trng ny cn cc trng cn li ch hin th nhng khng c thay i.
LOCK nNumberOfFields: Ch ra s trng c chia phn bn tri ca ca s Browse. S trng ny
c xc nh trong gi tr nNumberOfFields.
LPARTITION: t con tr bn phn chia bn tri bi mc nh con tr c t bn phi.
NAME ObjectName: To ra i tng tham chiu cho ca s Browse, cho php qun l ca s
Browse bng cc bin hng i tng nh l iu khin grid.
NOAPPEND: Khng cho php thm mi bn ghi.
NOCAPTIONS: Ly tn ca trng hin th cho tiu ca ct cho d trong thng tin ca database c
tiu thn thin hn, ch p dng cho cc table v view trong database.
NODELETE: Khng cho php xa.
NOEDIT | NOMODIFY: Khng cho php sa i bn ghi c sn nhng vn cho php thm mi
hoc xa.
13
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

NOLGRID: Khng hin th li cho cc trng bng bn tri ca ca s Browse.


NORGRID: Tng t nh tham s trn, nhng cho bn phi.
NOLINK: B lin h gia hai phn ca bng phn chia, trong trng hp chia hai. Mc nh l hai
phn ny c lin kt vi nhau.
NOMENU: Khng hin th tiu menu trong thanh menu h thng chng vic truy xut menu v
Browse.
NOREFRESH: Khng cho ca s Browse cp nht li d liu khi t cc thng s t ng cp nht d
liu.
NORMAL: Hin th ca s vi cc t trng thi mc nh ca Windows, nu khng s tha k trng
thi ca ca s m Browse hin th.
NOWAIT: Tip tc thc hin cc lnh tip theo sau khi hin th ca s Browse khng cn ca s ny
ng. Thng s mc nh l chng trnh phi i n khi ca s Browse c ng mi tip tc thc
hin cc lnh tip theo.
PARTITION nColumnNumber: Chia ca s hin th thnh 2 phn tri v phi v s ct chia c qui
nh trong nColumnNumber.
LEDIT: Cho php phn bn tri c hin th trng thi son tho.
REDIT: Cho php phn phi c hin th trang thi hin th.
CLOSE DATABASES
OPEN DATABASE (HOME(2) + data\testdata)
USE customer && Open customer table
BROWSE PARTITION 20 REDIT
TIMEOUT nSeconds: Thi gian i son tho, nu khng c thao tc phm th ca s Browse s t
ng kt thc.
TITLE cTitleText: Hin th tiu ca ca s Browse, mc nh l tn table hoc alias.
CLOSE DATABASES
OPEN DATABASE (HOME(2) + data\testdata)
USE customer && Open customer table
BROWSE;
TITLE My Browse Window ;
FIELDS phone:H = Phone Number, ;
company:H = Company:
VALID lExpression2: Khi c s thay i v chuyn control sang bn ghi khc th biu thc
lExpression2 c kim tra nu tr li l.t. th cho php chuyn nu tr li l.f. th khng chuyn v a
ra thng bo li, nu l 0 thi khng chuyn bn ghi v khng a ra thng bo li.
:F: Cho php kim tra biu thc c xc nh trong VALID cho d rng bn ghi khng c thay
i.
ERROR cMessageText: Thng bo li c hin th khi biu thc VALID tr li gi tr.f.
WHEN lExpression3: iu kin khi ngi s dng chuyn con tr bn ghi n bn ghi khc. Nu
lExpression3 tr li gi tr.t. th ngi s dng c th sa cha bn ghi ny, nu l.f. hoc 0 th khng
c php sa cha bn ghi ny.
WIDTH nFieldWidth: Gii hn s k t hin th cho tt c cc trng trong ca s hin th l
nFieldWidth. Lnh ny b b qua nu c t rng hin th cho tng trng trong mnh FIELDS.
WINDOW WindowName1: Xc nh ca s hin th mn hnh Browse.
IN [WINDOW] WindowName2: Xc nh ca s cho ca ca s hin th. Khi c ca s cha th ca s
con khng c di chuyn ra khi ca s cha v di chuyn tng ng theo ca s cha.
IN SCREEN: Hin th kt qu trong ca s chnh ca Visual FoxPro.
COLOR SCHEME nSchemeNumber: Thit lp s ca knh mu c s dng trong ca s Browse.
Cc knh mu c thit lp trong Windows Color Control Panel.
4. Ch
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

14

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

Ca s Browse cho php hin th, v thay i thng tin cc bn ghi. Cho php hin th mt lc nhiu
ca s Browse. Nu dng ESC thot ca s Browse th mi thay i cui cng u b hy b, khi di
chuyn th bn ghi ny sang bn ghi khc th thng tin trong bn ghi trc s c ghi li.
Mt trng cn c nh ngha cc thng s km theo nh sau:
FieldName1
[:R]
[:nColumnWidth]
[:V = lExpression1 [:F] [:E = cMessageText]]
[:P = cFormatCodes]
[:B = eLowerBound, eUpperBound [:F]]
[:H = cHeadingText]
[:W = lExpression2]
Calculated Fields Trng c tnh ton da trn mt s thng tin trng khc.
CLOSE DATABASES
OPEN DATABASE (HOME(2) + data\testdata)
USE customer && Open customer table
BROWSE FIELDS location = ALLTRIM(city) + , + country
- Tham s cho mt trng
:R
Ch ra trng ny ch c, thng tin trong field ch hin ht m khng th thay i.
:nColumnWidth: Ch ra ln ca field c hin th trong ct.
:V = lExpression1 [:F] [:E = cMessageText]: Cho php t thng tin kim tra cho mc trng, nu
lExpression1 tr li gi tr l.t. khi di chuyn control ra khi trng th s chuyn tip, nu l.f. th a ra
thng bo li c nh ngha trong cMessageText, nu bng 0 th khng chuyn sang trng khc nhng
cng khng thng bo li. Ch kim tra khi c s thay i nu trong trng hp c tham s F th kim tra
c trng hp khng thay i. v d di:
USE products
BROWSE FIELDS in_stock:V = in_stock < 100 :F :E = The stock amount must be less than 100 :P =
cFormatCodes: nh dng kiu d liu hin th trong FIELDS.
:B = eLowerBound, eUpperBound [:F]: Gii hn d liu nhp vo, n s ch kim tra khi c s thay i
tr khi c tham s F. Nu khng thuc gii hn th a ra thng bo.
:H = cHeadingText: Xc nh tiu hin th thay cho hin th mc nh l tn trng.
:W = lExpression2: Cho php hoc khng cho php control chuyn n trng. Nu lExpression2 tr li
gi tr l.F. th khng cho php chuyn control n trng , nu tr li l.T. th cho php.
- Dng SET SKIP hin th thng tin theo ch quan h mt nhiu.
- Mt s hm thng c dng trong cc mnh kim tra l RECNO(), VARREAD() tr li v tr bn
ghi v tn trng.
5. V d
USE customer ORDER cust_id IN 0
USE orders ORDER cust_id IN 0
SELECT customer
SET RELATION TO cust_id INTO orders
SET SKIP TO orders && One-to-many relationship
BROWSE FIELDS customer.cust_id:H=Customer Number, ;
customer.city:H=Customer City, orders.shipped_on

2.2.1.4 SET FILTER TO


1. Mc ch
t iu kin lc d liu cn hin th.
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

15

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

2. C php
SET FILTER TO [lExpression] [IN nWorkArea | cTableAlias]
3. Tham s
lExpression : Biu thc logic nu nhng record ng vi biu thc ny c gi tr true (.T.) th s c
hin th.
IN nWorkArea | cTableAlias : Khng gian lm vic ch nh cho lnh nu khng c s c hiu lc trn
khu vc lm vic hin ti.

2.2.1.5 SET RELATION


1. Mc ch
t mi quan h gia hai hay nhiu table ang c m.
2. C php
SET RELATION TO [eExpression1 INTO nWorkArea1 | cTableAlias1
[, eExpression2 INTO nWorkArea2 | cTableAlias2 ...]
[IN nWorkArea | cTableAlias] [ADDITIVE]]
3. Tham s
eExpression1 : Xc nh biu thc quan h xc lp gia table ang m trong vng lm vic hin ti,
vng lm vic hin ti c xem l vng lm vic cha biu thc ny dng tham chiu vo trong vng
lm vic con c ch ra sau.
INTO nWorkArea1 | cTableAlias1 : Vng lm vic cha table con c m v c sp xp.
IN nWorkArea : Ch ra vng lm vic ca table cha.
IN cTableAlias : Alias ca table cha.
ADDITIVE : Mi quan h ny c thm vo cc mi quan h t trc.
4. Ch
Quan h s c tnh t vng lm vic cha thng qua biu thc v tm n vng lm vic con tham
chiu thng quan trng c sp xp. Nu tn ti nhiu bn ghi tha mn cho mt bn ghi tham chiu
th ch bn ghi u tin c hin th, hin th ton b th yu cu phi t lnh SET SKIP.
Nu lnh ny khng c tham s th tt c cc t tham chiu trc b loi b.

2.2.1.6 SET SKIP


1. Mc ch
c s dng sau lnh SET RELATION xc lp mi quan h mt nhiu gia table cha v table
con.
2. C php
SET SKIP TO [TableAlias1 [, TableAlias2] ...]
3. Tham s
TableAlias1 [, TableAlias2] ... : Nhng vng cha table con c quan h mt nhiu vi table cha hieenj
ti.
4. V d
CREATE TABLE Parent FREE (Name C(1), Val C(10))
INSERT INTO Parent VALUES (a, Parent.a1)
INSERT INTO Parent VALUES (b, Parent.b1)
SELECT 0
CREATE TABLE Child1 FREE (Name1 C(1), Val C(10))
INSERT INTO Child1 VALUES (a, Child1.a1)
INSERT INTO Child1 VALUES (b, Child1.b1)
INSERT INTO Child1 VALUES (b, Child1.b2)
INSERT INTO Child1 VALUES (a, Child1.a2)
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

16

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

INDEX ON Name1 TAG tagName


SELECT 0
CREATE TABLE Child2 FREE (Name2 C(1), Val C(10))
INSERT INTO Child2 VALUES (b, Child1.b1)
INSERT INTO Child2 VALUES (b, Child1.b2)
INSERT INTO Child2 VALUES (a, Child1.a1)
INSERT INTO Child2 VALUES (a, Child1.a2)
INDEX ON Name2 TAG tagName
SELECT Child1
SET RELATION TO Name1 INTO Child2
SELECT Parent
SET RELATION TO Name INTO Child1
SET SKIP TO Child1, Child2
SCAN ALL
? Parent.Val, Child1.Val, Child2.Val
ENDSCAN

2.2.1.7 LOCATE
1. Mc ch
nh v bn ghi u tin tha mn iu kin.
2. C php
LOCATE [FOR lExpression1] [Scope] [WHILE lExpression2] [NOOPTIMIZE]
3. Tham s
C ngha nh l tham s phn Browse.
4. Ch
Lnh ny nu khng c FOR th s nhy n bn ghi u tin v nhanh hn lnh GO TOP trong trng
hp c t iu kin lc (filter) hoc khi chn iu kin l DELETED ON.
Nu tm thy th RECNO() tr li v tr ca bn ghi u tin tha mn, FOUND() tr li gi tr true (.T.)
v EOF() tr li gi tr false (.F.). Ngc li FOUND() tr li.F. v EOF() c gi tr.T. Sau khi tm thy
lnh CONTINUE s tm tip bn ghi tip theo tha mn.
5. V d
USE customer
STORE 0 TO gnCount
LOCATE FOR ALLTRIM(UPPER(customer.country)) = GERMANY
DO WHILE FOUND( )
gnCount = gnCount + 1
? company
CONTINUE
ENDDO

2.2.1.8 GOTO, GO
Hai lnh ny c c php v ngha tng t nhau.
1. Mc ch
Di chuyn con tr bn ghi n v tr xc nh
2. C php
GOTO [RECORD] nRecordNumber [IN nWorkArea | IN cTableAlias]
GOTO TOP | BOTTOM [IN nWorkArea | IN cTableAlias]
3. Tham s
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

17

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

[RECORD] nRecordNumber: V tr bn ghi mi cn chuyn n.


IN nWorkArea | IN cTableAlias: Xc nh mi trng lm vic b thay i
TOP: Di chuyn n bn ghi u tin.
BOTTOM: Di chuyn n bn ghi cui cng.

2.2.1.9 SKIP
1. Mc ch
Di chuyn control bn ghi trong cc vng lm vic
2. C php
SKIP [nRecords] [IN nWorkArea | cTableAlias]
3. Tham s
nRecords: S bn ghi cn thay i, nu b qua mc nh l 1, nu gi tr l s dng th di chuyn
control bn ghi v cui s bn ghi tng ng, nu l gi tr m th di chuyn control bn ghi v hng u
file.

2.2.2 Thay i

2.2.2.1 APPEND
1. Mc ch
Thm cc bn ghi vo cui table
2. C php
APPEND [BLANK] [IN nWorkArea | cTableAlias] [NOMENU]
3. Tham s
BLANK: Thm vo cui l bn ghi trng, v khng hin th mn hnh nhp nhp bn ghi. Nu
khng c tham s BLANK s hin th mn hnh nhp yu cu nhp.
IN nWorkArea, IN cTableAlias: Vng lm vic c thm bn ghi mi.
NOMENU: Khng hin th menu h thng ngng cn ngi dng thay i thng tin trng thi ca
mn hnh nhp.

2.2.2.2 INSERT
y l lnh thuc tp lnh SQL.
1. Mc ch
Thm mt bn ghi vo cui table.
2. C php
INSERT INTO dbf_name [(fname1 [, fname2,...])]
VALUES (eExpression1 [, eExpression2,...])
INSERT INTO dbf_name FROM ARRAY ArrayName | FROM MEMVAR
3. Tham s
dbf_name: Tn ca CSDL cn thm bn ghi. Nu table cha c m th n s c m v thm mt
bn ghi vo cui. Nu c m trong vng lm vic khc th n ch thm mi m khng thay i vng
lm vic.
[(fname1 [, fname2 [,...]])]: Tn cc trng s c gn d liu.
VALUES (eExpression1 [, eExpression2 [,...]]): Danh sch cc d liu c a vo cc trng tng
ng theo ng th t.
FROM ARRAY ArrayName: S a d liu t trong mng vo trong cc field tng ng theo th t
trong mng v th t cc field.
FROM MEMVAR: S a cc gi tr c bin tng ng vo cc field tng ng, nu cc field khng
c cc bin nh tng ng th n s c in trng.
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

18

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

4. V d
USE employee
INSERT INTO employee (emp_no, fname, lname, officeno) ;
VALUES (3022, John, Smith, 2101)

2.2.2.3 DELETE
1. Mc ch
nh du xa cho cc bn ghi.
2. C php
DELETE [Scope] [FOR lExpression1] [WHILE lExpression2]
[IN nWorkArea | cTableAlias] [NOOPTIMIZE]
3. Tham s
Scope: Gii hn nh uc nh ngha trn.
4. V d
USE customer
DELETE FOR country = USA
LIST FIELDS company, country FOR DELETED( )
RECALL ALL

2.2.2.4 RECALL
1. Mc ch
Xa b cc nh du xa nhng bn ghi b nh du xa.
2. C php
RECALL [Scope] [FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE]
[IN nWorkArea | cTableAlias]
3. Tham s
Cc tham s c gii thch trc.

2.2.2.5 PACK
1. Mc ch
Xa bn ghi nh du xa khi CSDL, khng th hi phc li nhng bn ghi ny.
2. C php
PACK [MEMO] [DBF] [Tablename ] [IN nWorkarea | cTableAlias]
3. Tham s
MEMO: Ch xa khng gian trng trong file memo m khng xa cc bn ghi c nh du xa
trong table.
DBF: Xa bn ghi c nh du xa t table nhng khng lm vic vi cc file memo.
Tablename: Tn table xa, Visual FoxPro m mt table v xa sau ng li.
IN nWorkArea | cTableAlias: Khng gian lm vic ca lnh.

2.2.2.6 ZAP
1. Mc ch
Xa ton bn ghi t mt table ch li cu trc ca table.
2. C php
ZAP [IN nWorkArea | cTableAlias]
3. Tham s IN nWorkArea: Khng gian lm vic. IN cTableAlias: Tn table cn c xa.

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

19

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

2.2.2.7 SCATTER
1. Mc ch
Copy d liu t bn ghi hin thi vo cc bin hoc mt mng.
2. Cu trc
SCATTER [FIELDS FieldNameList | FIELDS LIKE Skeleton
| FIELDS EXCEPT Skeleton] [MEMO]
TO ArrayName | TO ArrayName BLANK | MEMVAR | MEMVAR BLANK
| NAME ObjectName [BLANK]
3. Tham s
FIELDS FieldNameList: Danh sch cc field c a ra copy. Nu b qua th ton b cc field
c chn.
MEMO: Bao gm c trng memo bi theo mc nh trng memo b b qua trong lnh thng
thng.
TO ArrayName: Xc nh tn mng d liu to ra c a vo.
TO ArrayName BLANK: a vo mng nhng khng a d liu ch a nh dng.
MEMVAR: a d liu ra cc bin nh c tn tng ng vi tn ca cc trng.
MEMVAR BLANK: Ch to ra cc bin nh tng ng, m khng a d liu vo.
NAME ObjectName [BLANK]: To ra i tng m cc thuc tnh chnh l gi tr ca cc field. Nu
c tham s BLANK th cc gi tr ca cc properties l EMPTY().

2.2.2.8 GATHER
1. Mc ch
Thay th d liu trong bn ghi hin ti bi d liu c lu trong mng, cc bin, hoc trong trong
mt i tng.
2. C php
GATHER FROM ArrayName | MEMVAR | NAME ObjectName
[FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton]
[MEMO]
3. Tham s
FROM ArrayName: Tn mng cha d liu, cc v tr trong mng tng ng v tr th t trong trng,
nu s phn t mng b hn th nhng trng sau s b b qua.
MEMVAR: Ly d liu trong cc bin nh tng ng vi tn cc field a vo trong CSDL. Nu
khng tn ti tn bin tng ng th khng thc hin vic ghi .
NAME ObjectName: Tt c cc thuc tnh tng ng tn trng s c ly ghi vo trong CSDL.
FIELDS FieldList: Danh sch cc trng c cp nht nu khng c th mc nh l ton b cc
trng ca table.
MEMO: Nh c m t trn.

2.2.3 Sp xp

2.2.3.1 SORT
1. Mc ch
Sp xp cc bn ghi trong table hin ti vo trong mt table mi.
2. C php
SORT TO TableName ON FieldName1 [/A | /D] [/C]
[, FieldName2 [/A | /D] [/C]...] [ASCENDING | DESCENDING]
[Scope] [FOR lExpression1] [WHILE lExpression2]
[FIELDS FieldNameList | FIELDS LIKE Skeleton
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

20

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

| FIELDS EXCEPT Skeleton] [NOOPTIMIZE]


3. Tham s
TableName: Ch ra tn ca bng mi cha cc bn ghi. Visual FoxPro s t ng thm phn.dbf vo
cui file.
ON FieldName1: Ch ra field trong table hin ti c sp xp. Khng th sp xp trng memo v
trng general.
[/A | /D] [/C]: Sp xp tng dn, sp xp gim dn, v b qua vic ch hoa v ch thng trong sp
xp trng k t.
ASCENDING: Sp xp cc trng theo th t tng dn khi khng c tham s /D.
DESCENDING: Sp xp cc trng theo th t gim dn khi khng c tham s /A. Nu khng c hai
tham s ny th ASCENDING c coi l mc nh.
FIELDS FieldNameList: Nhng trng c copy sang table mi nu khng c th mc nh l tt c
cc trng trong table.
4. Ch
Vic sp xp li n s sp xp vt l nn n s mt kh nhiu thi gian thng ch c dng nh k
trong khong thi gian nht nh lm tng tc hot ng. Yu cu phi khng gian ph, v mi cho
lnh ny.

2.2.3.2 INDEX
1. Mc ch
Sp xp cc record theo th t nht nh v ch sp xp logic theo ch s nn khng mt nhiu thi
gian m tng tc lm vic v vy trong vic truy xut thng thng ngi ta s lnh ny thay cho lnh
sort lm mt nhiu thi gian hn.
2. C php
INDEX ON eExpression TO IDXFileName | TAG TagName [OF CDXFileName]
[FOR lExpression] [COMPACT] [ASCENDING | DESCENDING]
[UNIQUE | CANDIDATE] [ADDITIVE]
3. Tham s eExpression: Biu thc dng sp xp. TO IDXFileName: To file sp xp c ui mc
nh l.idx.
TAG TagName [OF CDXFileName]: To ra mt file index v gm nhiu tiu ch sp xp khc nhau.
Nu khng c tn file th mc nh n s thm vo file sp xp hp c tn trng vi tn table, v n s t
ng m ra khi CSDL c m.
FOR lExpression:Biu thc lc nhng bn ghi c sp xp v c hin th v truy xut n.
COMPACT: To file.idx.
ASCENDING: Sp xp theo th t tng dn.
DESCENDING: Sp xp theo th t gim dn.
UNIQUE: Ch ra c rng ch sp xp cho phn t u tin ging nhau trong kha sp xp. Khi thm
mi bn ghi trng lp vo th ngay trong ln k tip n s khng c truy xut c.
ADDITIVE: Gi file sp xp m trc. Nu khng c tham s ny th file sp xp trc c
ng li v m file sp xp mi.
4. V d
* sp xp file idx
CLOSE DATABASES
OPEN DATABASE (HOME(2) + Data\testdata)
USE Customer && Open customer table
INDEX ON company TO complist
CLEAR
DISPLAY STATUS
* Sp xp cdx
21
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

CLOSE DATABASES
OPEN DATABASE (HOME(2) + Data\testdata)
USE Customer && Open customer table
INDEX ON address TAG address
INDEX ON company TAG company OF custcdx
CLEAR
DISPLAY STATUS

2.2.3.3 SET INDEX


1. Mc ch
M mt hoc nhiu file sp xp vi table hin ti.
2. C php
SET INDEX TO [IndexFileList | ? ] [ORDER nIndexNumber
| IDXIndexFileName | [TAG] TagName [OF CDXFileName] [ASCENDING
| DESCENDING]] [ADDITIVE]
3. Tham s IndexFileList: Cc file index s c m. ?: Cho php chn mt dialog chn.
ORDER nIndexNumber: Ch ra file index c chn lm file chnh. Nu l 0 th truy xut trc tip n
file vt l, nhng cp nht li cc file sp xp.
ORDER IDXIndexFileName: Ch ra file index s c lm file chnh.
Specifies an.idx file as the controlling index file.
ORDER [TAG] TagName [OF CDXFileName]: Ch ra TAG v file no ca CDX file c s dng.
ASCENDING | DESCENDING: Sp xp theo tiu ch tng dn, gim dn.
ADDITIVE: Cho php sp xp thm vo m khng ng nhng sp xp trc .

2.2.3.4 SET ODER


1. Mc ch
Thay i li trng thi sp xp cho trng hp c nhiu file sp xp c m.
2. C php
SET ORDER TO [nIndexNumber | IDXIndexFileName | [TAG] TagName
[OF CDXFileName] [IN nWorkArea | cTableAlias]
[ASCENDING | DESCENDING]]
3. Tham s
nIndexNumber: Ch s file mi hoc tag c lit k trong danh sch USE, hoc SET INDEX c s
dng lm ch s sp xp chnh. V d:
USE video INDEX title.idx, costs.cdx, rating.idx IN 1
SET ORDER TO 1
Controlling index: C:\FOX30\TITLE.IDX
SET ORDER TO 2
Controlling index: C:\FOX30\RATING.IDX
Cc tham s khc c hiu nh nhng gii thich trn.

2.2.3.5 CLOSE INDEX


1. Mc ch
ng tt c cc index file cho table vic truy xut s truy xut n file vt l.
2. C php
CLOSE INDEXS

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

22

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

2.2.3.6 REINDEX
1. Mc ch
Cp nht li nhng file sp xp sau khi m ra.
2. C php
REINDEX

2.2.4 X l c bit

2.2.4.1 SUM
1. Mc ch
Tnh tng tt c cc trng s hoc mt s cc trng trong bng hin ti.
2. C php
SUM [eExpressionList] [Scope] [FOR lExpression1] [WHILE lExpression2]
[TO MemVarNameList | TO ARRAY ArrayName] [NOOPTIMIZE]
3. Tham s
eExpressionList: Ch ra mt hoc mt s trng, biu thc tnh tng. nu b qua th tnh c tng
cc trng s.
Scope: Nh c miu t trn.
FOR lExpression1: Nh c miu t trn.
WHILE lExpression2: Nh c miu t trn.
TO MemVarNameList: Lu cc gi tr tng trong cc bin. Nu ch ra mt bin m khng c trong
MemVarNameList th Visual Foxpro t to ra n.
TO ARRAY ArrayName: a kt qu vo mt mng cc phn t tng ng tng cc php tnh.
4. V d
CLOSE DATABASES
OPEN DATABASE (HOME(2) + data\testdata)
USE products && Opens Products table
SUM in_stock, on_order, in_stock+on_order TO gnInStock, gnOnOrder, gnUnits

2.2.4.2 TOLTAL
1. Mc ch
Tnh tng ca cc trng s vo trong mt bng c nhm theo mt trng nht nh no .
2. C php
TOTAL TO TableName ON FieldName [FIELDS FieldNameList] [Scope]
[FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE]
3. Tham s
TableName: Tn file s cha d liu tnh ra
FieldName: Ch ra tn field m lnh total group theo, thng thng trng ny thng c sp xp
m bo tnh chnh xc.
FIELDS FieldNameList: Nhng trng s nh tnh tng, nu khng c th s tnh tng cho tt c cc
trng s.
Scope: Gii hn c miu t trn.
FOR lExpression1: iu kin lc c miu t trn.
WHILE lExpression2: iu kin lc n khi ng c miu t trn.

2.2.4.3 COUNT
1. Mc ch
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

23

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

m s bn ghi trong table ang c m.


2. C php
COUNT [Scope] [FOR lExpression1] [WHILE lExpression2] [TO VarName]
[NOOPTIMIZE]
3. Tham s Scope: Gii hn m, c miu t trn. FOR lExpression1: iu kin lc, c miu t
trn.
WHILE lExpression2: iu kin lc cho n khi gp iu kin u tin khng tha mn.
TO VarName: Tn bin lu kt qu nu cha tn ti th Visual Foxpro s t ng to ra n.
4. V d
CLOSE DATABASES
OPEN DATABASE (HOME(2) + Data\testdata)
USE customer && Opens Customer table
COUNT FOR UPPER(city) = PARIS
DISPLAY FIELDS company, contact FOR UPPER(city) = PARIS

2.2.4.4 AVERAGE
1. Mc ch
Tnh gi tr trung bnh cho cc trng s.
2. C php
AVERAGE [ExpressionList] [Scope] [FOR lExpression1] [WHILElExpression2]
[TO VarList | TO ARRAY ArrayName] [NOOPTIMIZE]
3. Tham s
ExpressionList: Ch ra cc biu thc tnh trung bnh, v cc trng tnh trung bnh.
Scope: Phm vi c miu t trn.
FOR lExpression1: iu kin lc c miu t trn.
WHILE lExpression2: Xc nh iu kin lc tip, khi gp iu kin sai u tin th dng li.
TO VarList: Danh sch cc bin lu kt qu.
TO ARRAY ArrayName: Lu kt qu vo trong mt mng, tng ng cc phn t c la chn.
4. V d
CLOSE DATABASES
OPEN DATABASE (HOME(2) + Data\testdata)
USE orders && Open order table
AVERAGE Order_Amt && Calcuate averages of all orders
AVERAGE Order_Amt TO gnAvg && Store average to memory variable

3. Lp trnh
y chng ta ch quan tm n cng vic lp trnh trn cc file.prg nhng cng vic lp trnh ny s p
dng ln trn cc cch lp trnh trn cc i tng.

3.1 To lp thc thi chng trnh

3.1.1 Sa i, to mi file

3.1.1.1 To file thc thi


1. Mc ch
To mi sa cha file c sn
2. C php
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

24

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

MODIFY COMMAND [FileName | ?] [NOEDIT] [NOMENU] [NOWAIT]


[RANGE nStartCharacter, nEndCharacter] [[WINDOW WindowName1]
[IN [WINDOW] WindowName2 | IN SCREEN]] [AS nCodePage] [SAME]
[SAVE]
3. Tham s
FileName: Tn file mi c to ra, nu tn ti th s m ra sa i ni dung. ui mc nh l.prg.
?: M ra dialog box chn file.
NOEDIT: Khng cho php thay i.
NOMENU: Khng c cc menu h thng son tho.
NOWAIT: Khng i ng chng trnh chy m lnh tip theo.
WINDOW WindowName1: Ca s hin th ra son tho.
IN SCREEN: Trong mn hnh.

3.1.1.2 To cc file bo co
1. Mc ch
To file bo co ca Visual Foxpro
2. C php
MODIFY REPORT [FileName | ?] [[WINDOW WindowName1]
[IN [WINDOW] WindowName2 | IN SCREEN]] [NOENVIRONMENT] [NOWAIT] [SAVE]
3. Tham s
c gii thch tng t nh trong lnh MODIFY COMMAND

3.1.1.3 To lp file mn hnh (form)


1. Mc ch
To file mn hnh, form
2. C php
MODIFY FORM [FormName | ?][NOWAIT][METHOD MethodName]
[NOENVIRONMENT][SAVE]
[[WINDOW WindowName1] [IN [WINDOW] WindowName2 | IN SCREEN]]
3. Tham s
c nh ngha tng t nh nh ngha trong lnh trn.
METHOD MethodName: nh ngha phng thc hoc s kin trong ca s lnh.
NOENVIRONMENT: Cho php lu li trng thi ca data hin ti.

3.1.2 Thc thi cc file

3.1.2.1 DO
1. Mc ch
Thc thi mt file.prg hoc mt th tc.
2. C php
DO ProgramName1 | ProcedureName [IN ProgramName2] [WITH ParameterList]
3. Tham s
ProgramName1: Tn file cn thc thi, nu khng ch nh ui th s mc nh theo th t u tin
l.exe,.app,.fxp, prg.
ProcedureName: Tn th tc cn c thc thi. N s tm kim trong chng trnh chy hin ti. Nu
khng tm thy n s tm trong cc file c nh ngha trong SET PROCEDURE. V c th nh ngha
sau bng tham s IN ProgramName2.
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

25

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

IN ProgramName2: Thc hin th tc c xc nh trong chng trnh c nh ngha trong


ProgramName2. Nu khng c file th hin th thng bo File does not exist nu khng c th tc th
hin th thng bo Procedure is not found.
WITH ParameterList: Cc tham s c chuyn cho chng trnh v th tc.
4. Ch
Chng trnh c th thc hin lnh DO ny c su l 128 mc. Nu khi thc hin chng trnh th
s thc hin n khi gp cc tnh hung sau: Lnh RETURN, CANCEL, gp lnh DO khc, n cui file,
hoc gp lnh QUIT.

3.1.2.2 DO FORM
1. Mc ch
Thc hin mt form c bin dch hoc mt form thit k.
2. C php
DO FORM FormName | ? [NAME VarName [LINKED]] [WITH cParameterList]
[TO VarName] [NOREAD] [NOSHOW]
3. Tham s FormName: Tn form hoc tp hp cc form thc hin. ?: Hin th hin th.
NAME VarName [LINKED]: Ch ra tn hoc mng cc phn t cho php tham chiu n form hoc
tp hp cc form. Nu l bin cha tn ti th Visual Foxpro t ng to ra cn nu l mng cn phi
c khai bo trc. Nu khng ch ra tn th chng trnh t ng to ra mt bin c tn tng ng vi
tn ca form. Nu thm tham s LINKED th form s c gii phng khi bin ra ngoi vng lm vic
ca n, nu khng c th form c th vn hot ng mc d khng cn bin no tng ng vi n.
WITH cParameterList: Danh sch cc tham s c truyn cho form hoc tp hp cc form.
TO VarName: Ly li kt qu tr li ca form v tp hp form. Ln RETURN trong s kin Unload
ca form s tr li bin cho form.
NOREAD: Hin th form v cc control s khng hot ng n khi READ c s dng.
NOSHOW: Phng thc Show ca form khng c gi khi thc hin form. Khi chy trong ch
ny th form thc hin nhng khng hin th cho n khi thuc tnh Visible c t l.T. hoc thuc tnh
Show ca form c gi.
4. V d
DO FORM (HOME(2) + Solution\Controls\Timer\Swatch.scx)

3.1.2.3 REPORT FORM


1. Mc ch
Hin th mt bo co ra my in hoc ra file.
2. C php
REPORT FORM FileName1 | ? [ENVIRONMENT] [Scope] [FOR lExpression1]
[WHILE lExpression2] [HEADING cHeadingText] [NOCONSOLE]
[NOOPTIMIZE] [PLAIN] [RANGE nStartPage [, nEndPage]]
[PREVIEW [[IN] WINDOW WindowName | IN SCREEN] [NOWAIT]]
[TO PRINTER [PROMPT] | TO FILE FileName2 [ASCII]] [NAME ObjectName]
[SUMMARY]
3. Tham s
FileName1: Tn file report cn hin th.
ENVIRONMENT: T ng khi to mi trng d liu v ng mi trng d liu. Tng ng
AutoOpenTables c t l.T. v AutoCloseTables c t l.T.
Scope: Gii hn d liu c a vo trong report. Mc nh l ALL.
FOR lExpression1: Lc cc bn ghi c hin th trong report.
WHILE lExpression2: iu kin lc khi gp bn ghi u tin khng tha mn th dng li.
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

26

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

HEADING cHeadingText: t chui hin th trn mi trang ca report.


NOCONSOLE: Khng hin th dialog la chn m a d liu trc tip ra file.
PLAIN: Chn hin th tiu cho mi bt u ca cc trang.
RANGE nStartPage [, nEndPage]: Xc nh trang u tin v trang cui cng c in.
PREVIEW [[IN] WINDOW WindowName | IN SCREEN]: Hin th mn hnh nhn trc trc khi a
ra my in.
TO PRINTER [PROMPT]: a ra my in v nu khng a ra my c tham s l PROMT th s a
ra trc tip m khng hirn th mn hnh t ch cho my in.
TO FILE FileName2 [ASCII]: a kt qu ra file c xc nh trong FileName2, ui mc nh ca
n l.txt. Nu c ASCII th hin th ch cc k t khng n s hin th cc PostScript v cc k t ca my
in.

3.2 Cc cu trc c bn

3.2.1 Cu trc r nhnh n gin IF ENDIF


1. Mc ch
La chn cc cu lnh s c thc thi theo biu thc iu kin.
2. C php
IF lExpression [THEN]
Commands
[ELSE
Commands]
ENDIF
3. Tham s
lExpression: Biu thc iu kin s c tnh ton ti thi im thc thi, nu biu thc ny tr li gi
tr true (.T.) th cc cu lnh sau IF hoc THEN c thc hin, ngc li c biu thc ELSE th nhng
cu lnh sau biu thc ELSE c thc hin. Nu khng c ELSE v biu thc l.F. th khng c cu
lnh no c thc hin.
4. V d
CLOSE DATABASES
OPEN DATABASE (HOME(2) + Data\testdata)
USE Customer && Open customer table
GETEXPR Enter condition to locate TO gcTemp;
TYPE L DEFAULT COMPANY =
LOCATE FOR &gcTemp
IF FOUND( ) && Nu tm thy
DISPLAY && Hin th kt qu
ELSE && Khng tm thy
? Condition + gcTemp + was not found && a thng bo
ENDIF

USE

3.2.2 Cu trc r nhnh phc hp DO CASE ENDCASE


1. Mc ch
Thc hin vic la chn theo nhiu iu kin loi tr khc nhau v s thc hin biu thc iu kin
ng u tin.
2. C php
DO CASE
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

27

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

CASE lExpression1 Commands


[CASE lExpression2 Commands
...
CASE lExpressionN Commands]
[OTHERWISE Commands]
ENDCASE
3. Tham s
CASE lExpression1 Commands: L biu thc iu kin, nu biu thc iu kin no u tin ng th
c thc hin.
OTHERWISE Commands: Nu khng c biu thc iu kin no ng th biu thc ny c thc
hin.
4. V d
STORE CMONTH(DATE( )) TO month
DO CASE && Bt u
CASE INLIST(month,January,February,March)
STORE First Quarter Earnings TO rpt_title
CASE INLIST(month,April,May,June)
STORE Second Quarter Earnings TO rpt_title
CASE INLIST(month,July,August,September)
STORE Third Quarter Earnings TO rpt_title
OTHERWISE

STORE Fourth Quarter Earnings TO rpt_title


ENDCASE && Kt thc

3.2.3 Cu trc lp khng xc nh DO WHILE ENDDO


1. Mc ch
Thc hin mt s lnh theo vng lp trong mt iu kin nht nh.
2. C php
DO WHILE lExpression
Commands
[LOOP]
[EXIT]
ENDDO
3. Tham s
lExpression: Biu thc kim tra iu kin lp, nu vn ang cn l true (.T.) th vn tip tc lp. Khi
gi tr ny l false (.F.) th s kt thc vng lp.
Commands: Cc lnh thuc vng lp s c thc hin khi biu thc kim tra l true.
LOOP: Khi gp lnh ny th chng trnh quay trc tip v vng lp m khng thc hin tip cc lnh
khc.
EXIT: Kt thc vng lp khi gp lnh ny b qua cc lnh sau lnh ny v khng cn kim tra iu
kin kt thc.
4. V d
CLOSE DATABASES
OPEN DATABASE (HOME(2) + Data\testdata)
USE products && Opens Products table
SET TALK OFF
gnStockTot = 0
DO WHILE.T. && Bt u lp
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

28

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

IF EOF( )
EXIT
ENDIF
IF unit_price < 20
SKIP
LOOP
ENDIF
gnStockTot = gnStockTot + in_stock
SKIP
ENDDO && kt thc lp
CLEAR
? Total items in stock valued over 20 dollars:
?? gnStockTot

3.2.4 Cu trc lp xc nh FOR ENDFOR


1. Mc ch
Lp cc lnh theo mt s bc c nh.
2. C php
FOR Var = nInitialValue TO nFinalValue [STEP nIncrement]
Commands
[EXIT]
[LOOP]
ENDFOR | NEXT
3. Tham s
Var: Ch ra mt bin hoc mt phn t mng lm bin m. N khng cn phi nh ngha trc khi c
vng lp.
nInitialValue TO nFinalValue: Gi tr u v gi tr cui ca bin m.
STEP nIncrement: Gi tr thay i sau mt ln lp, nu m th gim. Nu khng c th mc nh l gi
tr 1.
Commands: Cc lnh s c thc hin.
EXIT: S kt thc vng lp bt chp iu kin lp.
LOOP: Lp li tip tc m khng thc hin tip cc lnh tip theo.

3.2.5 Cu trc lp ly d liu SCAN ENDSCAN


1. Mc ch
Chuyn control bn ghi qua ton b table ang c m.
2. C php
SCAN [NOOPTIMIZE] [Scope] [FOR lExpression1] [WHILE lExpression2]
[Commands] [LOOP] [EXIT]
ENDSCAN
3. Tham s Scope: Gii hn duyt. FOR lExpression1: iu kin lc.
WHILE lExpression2: iu kin lc sau khi gp iu kin khng tha mn u tin th dng li.
Commands: Cc lnh s c thc thi.
LOOP: Chuyn control trc tip n vng lp c th c t c trong vng lp.
EXIT: Kt thc vng lp khi k c cha gp c iu kin kt thc no.
ENDSCAN: Kt thc vng lp.
4. V d
CLOSE DATABASES
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

29

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

OPEN DATABASE (HOME(2) + Data\testdata)


USE customer && Opens Customer table
CLEAR
SCAN FOR UPPER(country) = SWEDEN
? contact, company, city
ENDSCAN

3.3 Cc hm c bn trong Visual Foxpro

3.3.1 Hm ton hc

3.3.1.1 ABS
ABS(<Biu thc>)
Ly gi tr tuyt i ca biu thc s.

3.3.1.2 CEILING
CEILING(<Biu thc>)
Ly s nguyn nh nht >= mt biu thc s.

3.3.1.3 EXP
EXP(<Biu thc>)
Hm m theo c s E ca biu thc s.

3.3.1.4 INT
INT(<Biu thc>)
Ly s nguyn ca biu thc s.

3.3.1.5 MAX
MAX(<Biu thc>)
Ly gi tr max ca cc gi tr biu thc s.

3.3.1.6 MIN
MIN(<Biu thc>)
Ly gi tr min ca cc gi tr biu thc s.

3.3.1.7 MOD
MOD(<Biu thc1>,<Biu thc2>)
Hm ly s d ca biu thc s chia cho nhau

3.3.1.8 ROUND
ROUND(<Biu thc1>,<Biu thc2>)
Lm trn biu thc s mt c s ch s sau du phy l biu thc th 2 theo ng qui nh v lm trn.

3.3.1.9 SQRT
SQRT(<Biu thc>)
Tnh cn bc hai ca biu thc s.
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

30

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

3.3.1.10 VAL
VAL(<Biu thc>)
Chuyn mt chui s thnh mt s (kiu d liu s).

3.3.2 Hm lng gic

3.3.2.1 ACOS
ACOS(<Biu thc>)
Ly arccosin ca biu thc s.

3.3.2.2 ASIN
ASIN(<Biu thc>)
Ly arcsin ca biu thc s.

3.3.2.3 ATAN
ATAN(<Biu thc>)
Ly arctang ca biu thc s.

3.3.2.4 COS
COS(<Biu thc>)
Ly gi tr cosin ca biu thc.

3.3.2.5 DTOR
DTOR(<Biu thc>)
Chuyn n v o t h thnh radian.

3.3.2.6 PI
PI(<Biu thc>)
Ly gi tr ca s PI.

3.3.2.7 RTOD
RTOD(<Biu thc>)
Chuyn s t n v o t radian thnh h .

3.3.2.8 SIN
SIN(<Biu thc>)
Tnh hm sin ca mt biu thc.

3.3.2.9 TAN
TAN(<Biu thc>)
Tnh hm tang ca mt biu thc.

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

31

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

3.3.3 Hm k t

3.3.3.1 ALLTRIM
ALLTRIM(<Biu thc>)
Dng loi b cc k t trng u v cui chui k t.

3.3.3.2 AT
AT(<Biu thc1>,<Biu thc2>[,<Biu thc s>])
Cho kt qu dng s v tr ca biu thc 1 trong biu thc 2, biu thc s quyt nh ln xut hin.

3.3.3.3 ATC
ATC(<Biu thc1>,<Biu thc2>[,<Biu thc s>])
Ging nh hm AT nhng khng phn bit ch hoa v ch thng.

3.3.3.4 BETWEEN
BETWEEN (<Biu thc1>,<Biu thc2>,<Biu thc3>)
Cho gi tr true nu trng hp biu thc 1 nm gia biu thc 2 v biu thc 3.

3.3.3.5 LEFT
LEFT(<Biu thc1>,<Biu thc2>)
Cho kt qu mt chui ly s biu thc 2 phn t pha tri cng ca biu thc 1.

3.3.3.6 LEN
LEN(<Biu thc1>)
Cho kt qu l di ca chui biu thc 1.

3.3.3.7 LOWER
LOWER(<Biu thc1>)
Chuyn cc k t trong chui biu thc 1 thnh ch thng.

3.3.3.8 LTRIM
LTRIM(<Biu thc1>)
Xa b cc k t trng pha bn tri cng ca biu thc 1.

3.3.3.9 OCCURS
OCCURS(<Biu thc1>,<Biu thc2>)
Tm ra c s ln xut hin ca biu thc 1 trong biu thc 2.

3.3.3.10 PROPER
PROPER(<Biu thc1>)
Cho biu thc vit hoa cc ch ci u ca mi t v trong cc t vn gi nguyn.

3.3.3.11 RAT
RAT(<Biu thc1>,<Biu thc2>[,<Biu thc s>])
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

32

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

Tng t nh trong AT nhng c tnh t bn phi sang.

3.3.3.12 REPLICATE
REPLICATE(<Biu thc1>,<Biu thc2>)
Cho kt qu chui k t c lp trong biu thc 1 vi s ln c xc nh trong biu thc 2.

3.3.3.13 RIGHT
RIGHT(<Biu thc1>,<Biu thc2>)
Tng t nh trong hm LEFT nhng c tnh t bn phi sang

3.3.3.14 SPACE
SPACE(<Biu thc1>)
To ra mt chui c s ln lp li cc k t trng c quyt trong biu thc 1.

3.3.3.15 STR
STR(<Biu thc1>[,<Biu thc2>,<Biu thc3>])
Chuyn mt s c quyt nh trong biu thc 1, biu thc 2 l s k t v biu thc 3 quyt nh s
ch s sau du phy.

3.3.3.16 STUFF
STUFF(<Biu thc1>,<Biu thc2>,<Biu thc3>,<Biu thc4>)
Hm ny ly biu thc 1 mt s k t xc nh t gi tr trong biu thc 2 v s k t c xc nh trong
biu thc 3 v thay th n bi biu thc 4.

3.3.3.17 SUBSTR
SUBSTR(<Biu thc1>,<Biu thc2>[,<Biu thc 3>])
Ly chui con t biu thc 1 bt u t k t t biu thc 2 v c s k t c xc nh trong biu thc
3.

3.3.3.18 UPPER
UPPER(<Biu thc1>)
Chuyn cc k t t trong biu thc 1 thnh ch hoa.

3.3.4 Hm ngy thng

3.3.4.1 CTOD
CTOD(<BT k t>)
Chuyn biu thc k t ny thnh mt gi tr ngy thng.

3.3.4.2 DTOC
DTOC(<BT ngy>[,1])
Chuyn ngy thng thnh mt chui cc k t vi nh dng c xc nh trong SET DATE, SET
CENTURY. Nu c tham s 1 th n chuyn thnh nh dng YYMMDD, hoc YYYYMMDD gip cho
vic sp xp tin li.
33
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

3.3.4.3 DTOS
DTOS(<BT ngy>)
Hm ny chuyn ngy thng thnh mt biu thc ch c nh dng YYYYMMDD, tng t nh hom
DTOC(<BT ngy>,1)

3.3.4.4 DOW, CDOW


DOW(<BT ngy>), CDOW(<BT ngy>)
CDOW ly gi tr ngy trong tun ca biu thc ngy, gi tr ny c ghi bng ting Anh. DOW ly gi
tr trong tun bng s v ch nht c tnh gi tr l 1.

3.3.4.5 DAY
DAY(<BT ngy>)
Ly ngy trong biu thc ngy.

3.3.4.6 CMONTH, MONTH


CMONTH(<BT ngy>), MONTH(<BT ngy>)
Ly gi tr thng trong biu thc ngy thng, nu CMONTH ly gi tr thng tr li chui cc thng c
vit bng ting Anh, MONTH tr li gi tr s.

3.3.4.7 YEAR
YEAR(<BT ngy>)
Tr li nm trong biu thc ngy thng.

3.3.4.8 EMPTY
EMPTY(<BT>)

Nu biu thc l trng th cho gi tr l true ngc li cho gi tr false. Gi tr c coi l trng cho cc
kiu d liu nh sau:
K t: Chui rng, k t trng.
Kiu s: C gi tr l 0.
Kiu ngy: Ngy rng //
Logic: gi tr sai.F.
Memo: Kiu memo cha c d liu.

3.3.4.9 GOMONTH
GOMONTH(<BT ngy>,<BT s>)
Cho gi tr ngy tnh bng gi tr ngy cng thm s thng c ch ra trong BT s. Nu l gi tr m th
n chuyn v trc.

3.3.4.10 TIME
TIME()

Ly gi, pht, giy hin hnh.

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

34

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

3.3.5 Hm tp CSDL

3.3.5.1 BOF
BOF([<Tn b danh>|<S vng>])
Cho gi tr true (.T.) nu control bn ghi nh v bn ghi u tin, nu khng ch ra vng lm vic th n
c hiu lc trn vng lm vic hin ti.

3.3.5.2 DBF
DBF([<Tn b danh>|<S vung>])
Cho tn file CSDL ang c m hin ti, nu khng ch ra s vng th s tnh cho vng lm vic hin
ti.

3.3.5.3 DELETED
DELETED([<Tn b danh>|<S vng>])
Cho gi tr true (.T.) nu bn ghi hin thi c nh du xa, nu khng ch ra s vng th s lm vic
trn vng hin ti.

3.3.5.4 EOF
EOF([<Tn b danh>|<S vng>])
Tr li true (.T.) nu control bn ghi ch n kt thc tp, nu khng nh vng th s mc nh lm vic
trn vng lm vic hin ti.

3.3.5.5 FCOUNT
FCOUNT([<Tn b danh>|<S vng>])
Cho kt qu l s trng trong tp CSDL, nu khng ch nh vng th lm vic trn vng lm vic hin
hnh.

3.3.5.6 FIELD
FIELD(<BT s>[,<Tn b danh>|<S vng>])
Cho bit tn trng ca trng c v tr th c xc nh trong biu thc s, nu khng xc nh vng
lm vic th s lm vic trong vng lm vic hin ti.

3.4 Hm, hm th tc, cch qun l bin

3.4.1 Xy dng

3.4.1.1 Th tc
1. Mc ch
Cc th tc c nh ngha do ngi dng to ra.
2. C php
PROCEDURE ProcedureName
[LPARAMETERS parameter1[,parameter2},...]
Commands
[RETURN [eExpression]]
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

35

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

ENDFUNC
PROCEDURE ProcedureName([parameter1[,parameter2},...])
Commands
[RETURN [eExpression]]
ENDFUNC
3. Tham s
ProcedureName: Tn hm c ngi dng nh ngha.
parameter1[,parameter2},...]: Cc tham s c truyn vo cho chng trnh.
Commands: Cc lnh thuc chng trnh.
eExpression: Gi tr tr v nu c.

3.4.1.2 Hm
1. Mc ch
Cc hm c nh ngha do ngi dng to ra.
2. C php
FUNCTION FunctionName
[LPARAMETERS parameter1[,parameter2},...]
Commands
[RETURN [eExpression]]
ENDFUNC
FUNCTION FunctionName([parameter1[,parameter2},...])
Commands
[RETURN [eExpression]]
ENDFUNC
3. Tham s
ProcedureName: Tn hm c ngi dng nh ngha.
parameter1[,parameter2},...]: Cc tham s c truyn vo cho chng trnh.
Commands: Cc lnh thuc chng trnh.
eExpression: Gi tr tr v nu c.

3.4.2 Cch gi

3.4.2.1 Th tc
DO ProcedureName [IN ProgramName2] [WITH ParameterList]
Nh c gii thch lnh DO. t cc file tham chiu tm hm c th t lnh SET PROCEDURE.
SET PROCEDURE TO [FileName1 [, FileName2,...]] [ADDITIVE]
Vi cc file FileName1 cha cc th tc nu c ADDITIVE th s khng xa b nhng t trc .

3.4.2.2 Hm
Gi hm thng qua php gn ca du =.

3.4.3 Truyn tham s


Mc nh ca truyn tham s l tham bin tc chng ta ch truyn gi tr bin m khng lm thay i
bin nu c s thay i trong cc hm v th tc. thay i t tham bin sang tham chiu v ngc li
chng ta phi s dng lnh SET UDFPARAMS.
SET UDFPARMS TO VALUE | REFERENCE
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

36

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

3.4.4 Gii hn bin

3.4.4.1 PRIVATE
1. Mc ch
n cc bin c khai bo n vi cc chng trnh con v cc file c gi t chng trnh ny.
2. C php
PRIVATE VarList PRIVATE ALL[LIKE Skeleton | EXCEPT Skeleton]
3. Tham s
Cho php ch r cc bin hoc cc kiu bin theo cc quy tc la chn.

3.4.4.2 PUBLIC
1. Mc ch
Xc nh bin ton cc trong ton b chng trnh
2. C php PUBLIC MemVarList PUBLIC [ARRAY] ArrayName1(nRows1 [, nColumns1])
[, ArrayName2(nRows2 [, nColumns2])]...
[AS type [OF ClassLib]]
3. Tham s
Tham s u vo quyt nh cc bin, thnh phn ca mng c nh ngha trc s c chuyn
thnh ton cc.

3.4.4.3 CLEAR
1.Mc ch
Gii phng cc kiu i tng.
2. C php
CLEAR [ALL | CLASS ClassName | CLASSLIB ClassLibraryName | DEBUG | DLLS
[cAliasNameList]| EVENTS | FIELDS | GETS | MACROS | MEMORY
| MENUS | POPUPS | PROGRAM | PROMPT | READ [ALL] | RESOURCES
[FileName] | TYPEAHEAD | WINDOWS]
3. Tham s
Cc tn tham s tng ng vi cc kiu c gii phng trong lnh CLEAR.

3.4.4.4 RELEASE
1. Mc ch
Gii phng cc bin nh sau khi s dng v khai bo.
2. C php
RELEASE MemVarList
RELEASE ALL [EXTENDED]
RELEASE ALL [LIKE Skeleton | EXCEPT Skeleton]
3. Tham s
RELEASE MemVarList: Danh sch cc bin nh c gii phng.
RELEASE ALL: Tt c cc bin nh.
EXTENDED: Gii phng tt c cc bin nh public. Bi tham s ALL khng gii phng bin nh ton
cc.
LIKE Skeleton | EXCEPT Skeleton: iu kin lc v iu kin loi tr theo tn bin nh.

3.4.4.5 DECLARE
1. Mc ch
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

37

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

Khai bo cc bin mng


2. C php
DECLARE ArrayName1 (nRows1 [, nColumns1])
[, ArrayName2 (nRows2 [, nColumns2])]...
3. Tham s
Xc nh tn mng v s hng, s ct nu s ct khng c th l mng 1 chiu.

3.4.4.6 DIMENSION
Tng t nh lnh DECLARE

4. Thit k thng qua giao din


Giao din chnh ca chng trnh sau khi chn projects. y chng ta ang lm vic vi project demo.

Cc nt iu khin, tng ng
vi cc chc nng
Cc mc qun l ca project
c hin th theo chiu ngang

4.1 Thit k database

Cc mc qun l ca project
c hin th theo chiu ng

Ta chn mc database ca mc data.

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

38

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

Cc i tng thit k
Thm table c sn
Thm table mi
Thm local view
Cc trng
M c sp xp lin kt
M kha chnh
Cc lin kt t trc
Database l khi nim mi dng cha cc table v cc view. View cng l i tng mi n cha cc
cu lnh SQL lc d liu theo cc yu cu khc nhau. Thng thng dng cc view lc d liu
hin th.
Cc lin kt t trc ny c th t iu kin kim tra khi iu kin nhp vo nu m bo tnh an
ton d liu trong cc tham chiu hay khng.

4.1.1 Thit k table


Chn chc nang thm table mi to giao din thit k mt table. Ta c th thit k table bng cch
Free table.

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

39

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

Tn file
Cho php NULL
Chn kiu sp xp
ln ca trng
Kiu trng
Tn trng

Cc kiu trng:
FieldType
C
D
T
N

nFieldWidth
N

nPrecision

I
B
Y
L
M
G
P

Description
Character field of width n
Date
DateTime
Numeric field of width n with d
decimal places
Floating numeric field of width n with
d decimal places
Integer
Double
Currency
Logical
Memo
General
Picture

Cc kiu sp xp:

Tn kiu
Primary
Unique
Regular

ngha
Kha chnh dng ktt ni
Sp xp v duy nht, khng trng lp
Sp xp thng thng

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

40

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

4.1.2 Thit k view


Chn chc nng new local view, hoc chn vo local view sau chn nt new.

Cc bng,
view c sn.

cc

Cc chc
khc

nng

Trng cha chn


Trng chn
Biu thc

Thit k cc view thc t to ra cc cu lnh SQL la chn.

4.2 Thit k form


Chn forms t Documents v chn new.
Tn file
Tiu form
Cc i tng
thit k
Cc i tng
thit k

Giao din chnh ca thit k mt form.


Mt form c xem nh mt i tng c sn, c cc phng thc, s kin, thuc tnh.
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

41

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

Thuc tnh: L mt tn bin qui nh trng thi ca i tng ca mt i tng. V d nh thuc tnh
height qui nh cao ca form khi hin th. Thay i thuc tnh s thay i hin th... ca cc i tng.
C nhng thuc tnh ch dng c ly thng tin.
Phng thc: L nhng hm thc hin nhng cng vic nht nh thay i mt s thuc tnh ca cc
i tng. V d nh phng thc move(100,100,100,100) iu ny tng ng vic chuyn form n ta
100,100 v c cao 100 rng l 100. Phng thc ny thay i thuc tnh left, top, width, height.
S kin: L mt trng hp c bit ca phng thc n thng c gi t ng tng ng vi cc
thao tc lin quan n i tng. V d nh s kin click c t ng gi khi chut c click vo form.
Cc s kin ny cho php c vit m lnh x l cc tnh hung tng ng.
Trong mt form cho php thm cc i tng c sn khc trong tool box km theo bn cnh. trong
v d ta c mt danh sch cc i tng cho php thm vo. Ngoi nhng thuc tnh, phng thc c sn
chng ta c th thm nhng thuc tnh, v phng thc mi x l tnh hung. V d ta thm thuc tnh
lEdit kiu long qui nh trng thi ang son tho hin ti l ang thm mi hoc ang sa cha. Hoc
ta thm phng thc ChangeEdit chuyn trng thi cc iu khin v trng thi cho php nhp hoc
khng cho php nhp d liu. Chn menu form v chn New property hoc New Method

4.2.1 Mt s thuc tnh thng thng


Thay i thuc tnh cu mt i tng c th thng qua trong thao tc trn i tng khi thit k. Cng
c th thay i khi chy chng trnh. Mt s thuc tnh ch cho php thay i khi thit k nh thuc tnh
name. Thay i thuc tnh khi thit k lm nhanh chng, v b tr tt cho ngi lp trnh n gin. Nhng
thay i trn dng lnh lm cho chng trnh thay i ph hp tnh ton sau, v nu ta thit k tt c th
p ng c nhiu cng vic khc nhau.
Cc i tng khi thm vo form c xem nh l thuc tnh ca form v truy xut n nh thuc tnh
ca form. truy xut n thuc tnh ca form th <tn form>.<Tn thuc tnh>. Form ang c kch
hot hin ti c gi l thisform.
Tn
Kiu
ngha
Name
C
Tn ca i tng dng tham chiu n
Caption
C
on text hin th, trong form th chnh tiu , cc nt lnh hin th
Text
C
Ch c text on text hin th
Value
Gi tr ca cc i tng, nu l form l cc cu hnh ca form
Enabled
B
Qui nh thuc tnh cho php thao tc n i tng hay khng
Visible
B
Hin th hoc khng hin th i tng
Top
N
nh trn cng ca i tng
Left
N
Bn tri cng ca i tng
Width
N
rng ca i tng
Height
N
cao i tng
FontName
C
Tn ca font
FontSize
N
ln ca font
ControlSource N
Ch ra ngun d liu a vo i tng

4.2.2 Mt s phng thc thng thng


Tn
Move
Refresh

ngha
Di chuyn i tng n mt v tr mi
Cp nht lai thay i ca i tng. Khi thay i d liu nn gi li phng thc ny

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

42

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

4.2.3 Mt s s kin thng thng


Tn
ngha
Click
Vit x l khi c click chut ln i tng
dbClick
Khi click kp vo i tng
Init
Khi khi to i tng, thng dng chun b d liu
Keypress
Khi c phm c g m c nhn l i tng
Destroy
Khi i tng c gii phng, thng gii phng cc bin, ng cc table
GotFocus
Thng x l tnh hung khi c nhn focus
LostFocus
Khi mt focus, dng kim tra tnh ng n d liu
Khi thit k mt form ly d liu cho form chng ta c th chun b d liu trc bng cch m cc
table t cc quan h sau thc hin chy form. Trong trng hp ny vic ng m d liu phi lp
trnh kh tn thi gian. Hoc s dng Data Environment thng qua click chut phi sau chn Data
Environment chn, t quan h d liu.

4.3 Thit k menu


Vo chc menu other sau chn menu v chn new.

Tn hin th
Kiu menu
To menu con
Chn iu kin

Cc kiu menu bao gm Sub menu dng cha cc menu con, procedure dng gi mt hm v
command thc hin mt lnh.
t iu kin cho cc menu ta chn nt chn iu kin hin th thit k iu kin nh sau:

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

43

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

Ta quan tm n key lable dng t phm tt v skip for dng t iu kin hin th ca menu.
Thng trong h thng phn quyn ngi ta to bin ton cc v sau a biu thc logic vo y
xc nh iu kin hin th ca menu.
Dng Preview kim tra vic hin th ca menu. Sau ta s bin dch menu thng qua menu menu
v chc nng con l Generate to ra mt file m ngun c ui mc nh l .mpr. Chng ta gi
thc thi file ny nh file m ngun thng thng v n s to menu.

4.4 Thit k report


Chn trong tab document, v mc report. to mi ta chn new. Trong vic to report vn quan
trng l phi chun b tt d liu hin th in n.

4.4.1 Chun b d liu cho report


Chng ta c cc phng php sau chun b d liu. Chun b bng cc t m v to ra cc lin h
trc sau hin th report ly d liu chun b sn. Chun b d liu qua cc view khc nhau v dng
lnh to view sau ly d liu cho cc view. Chun b d liu bng cch lc vo cc bng ph sau
ly d liu t cc bng ph.
1. Chun b d liu bng cch chun b trc
- u im: Chng trnh t tnh ton khng lm thay i cc thng s c sn ca chng trnh cho php
nhiu ngi truy xut mt lc khng tranh chp. Cho php t cc iu kin lc in n rt tt.
- Nhc im: Do vic t trc nn phi vit nhiu lnh khc nhau, yu cu ngi lp trnh phi c trnh
tt, khi thit k report khng trc quan. Vit nhiu m lnh nn phc tp trong vic duy tr v thay i
khi c yu cu. Thng c dng trong cc chng trnh c, khng s dng c u im thit k trc
quan ca visual fox.
2. Chun b d liu bng view
- u im: Ta to ra mt view thit k report nn trc quan thit k nhanh, c th a vo trong thit
k thng thng. Li dng tt kh nng thc hin trc quan.
- Nhc im: C nhiu iu kin lc phc tp c th khng t c. Nu dng k thut xy dng li
view, thng qua hm Create SLQ View c th gy tranh chp khi nhiu chng trnh cng s dng chc
nng ny mt lc.
44
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

3. Chun b bng bng ph


- u im: Thc hin tnh c nhng tiu ch tng hp khc nhau t nhng bng khc nhau m kh c
th kt ni bng cc cu lnh SQL hoc cc cch t lc thng thng. Khi thit k kh phc tp thng
ch dng tnh trng tng hp d liu phc tp.
- Nhc im: Tt lm bo co s b chm do qu trnh to ra bng ph. Trong trng hp chng
trnh thc hin trn mng nu khng x l tt trng hp tn bng ph s to ra trng hp tranh chp d
liu tnh ton khi mt chc nng c nhiu my chy cng mt lc.

4.4.2 B tr report
Chun b d liu bng mt trong ba cch trn sau m d liu. Nu dng cch 1 bt buc m trc ri
mi chy report. Nu dng hai cch cn li c th t trc hoc chn Data Environment. Ngoi ra Data
Environment c cc s kin x l c th li dng lc t lc d liu v iu kin. Click chut phi vo
Data Environment chn Code. Init khi khi to xong ta c th dng t lc m tnh ton d liu. Destroy
ta dng kt thuc cng vic khi ta thc hin init m cn c thao tc phc hi, xa b.
Sau thc hin ko cc trng b tr ln report, c th tnh ton cc trng trn report. Khng gian trn
report bao gm cc phn sau:
1. Title, sumary
u, cui report ch hin th mt ln trong khi thng cc mc u ca cc report nh tiu cng ty, cc
phn ch k Mun xut hin phn ny phi chn Title/sumary trong menu Report v tch vo hai
mc ny.
2. Page header, page footer
u, cui cc trang bo co thng dng a cc tiu cho cc ct d liu. c hin th mt ln
trong mt trang bo co.
3. Group header, group footer
u, cui nhm hin th khi ht mt nhm d liu theo tiu ch nhm nht nh. Mun c phn
ny chng ta cn chn Data Grouping t menu Report v chn tiu ch nhm.
4. Detail
Phn ny dng hin th d liu trong mt bn ghi. C mi bn ghi li c xut hin mt ln
trn mt khung d liu ng bng khung d liu thit k.

5. Bi tp ng dng Qun l ti tt nghip


5.1 Bi ton
bi: Vit chng trnh qun l ti tt nghip cho sinh vin trng Hc vin k thut Qun s.

5.2 Phn tch thit k bi ton

5.2.1 Cc bc phn tch

5.2.1.1 Kho st
Hng nm trc khi sinh vin kt thc kha hc cc gio vin a ra danh sch cc ti tt nghip v
cc yu cu tm tt cho cc sinh vin la chn. Mt ti tt nghip c th do nhiu gio vin khc nhau
tham gia hng dn v mt ti c th c nhiu sinh vin cng tham gia lm theo nhm, lm c lp.
Mt ti c nh gi kh d khc nhau do hi ng khoa hc ca khoa nh gi t to cn c
nh gi im khi bo v. Cc ti cng tn trong mt nm khc gio vin, v ti cng gio vin
cng tn nhng trong nhng nm khc nhau c xem nh l khc nhau. Chng trnh cho php sinh
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

45

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

vin nhn cc ti v ghi li kt qu bo v, nm bo v. Nhng ti c chn nm sau c th


chn tip v hon thin ni dung hn. H thng do vn th khoa nhp vo, gio vin v sinh vin c
quyn xem, tm kim, in n thng tin ca h thng.

5.2.1.2 S chc nng nghip v


S chc nng nghip (Bisness Functional diagrams) l mt m hnh n gin tng i d hiu, thn
thin vi ngi s dng. N khng phc tp nhng c ch cho giai on sau. Mt trong bc quan trng
thng xuyn phi lm l xc nh chc nng nghip v chnh ca h thng.
Di y l m hnh s chc nng n gin cho h thng qun l ti tt nghip.
Qun l ti tt nghip

Tip nhn ti

ng k, phn ti

Thng tin ti

Cc chc nng ny c th c chc nng mc thp hn ty theo mc chi tit v ty theo cng vic thc
t.

5.2.1.3 Lung d liu


S chc nng nghip v cho bit tp hp cc phn t ca h thng thc xt theo chc nng cng
vic, tnh t trn xung di, tnh t i th n chi tit. Phn trc ch quan tm n chc nng by gi
quan tm n chc nng v mi lin h chc nng ca n. Gi l s dng d liu (Data Flow
Diagrams).
Qun l ti tt nghip

ti
Gio vin

Thng tin bo v
ng k
Giao ti
Thng tin ti
Sinh vin

Thng tin ti
Cp nht ti
Thng tin ti tt nghip

Sau tip theo l s phn r chc nng dng m t lung d liu trong cc chc nng con.

5.2.1.4 c t tin trnh


M t x l d liu cho cc yu cu nghip v phc tp, v cc bin i ca n.
Tin trnh ng k ti tt nghip.
1. D liu
- u vo l danh sch ti
- Danh yu cu ng k ti ca sinh vin
- u ra thng bo nhn, khng nhn ti
2. M t
- Nu sinh vin ng k khng iu kin
Thng bo khng c nhn ti, kt thc
- DT= ti c ng k
- SV = sinh vin ng k
- S ngi ng k ti(DT)=0
+ Gio vin chp nhn (SV)
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

46

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

Thng bo nhn c ti, kt thc


+ Ngc li thng bo khng nhn c ti
- Nu s ngi ng k ti (DT) >0
Thng bo c ngi nhn, khng ng k ti, kt thc

5.2.1.5 Phn tch h thng v d liu


5.2.1.5.1 M hnh thc th lin kt
- Xc nh thc th
Xc nh c kiu thc th l mt bc quan trng. Thng c da theo nhng tiu ch sau:
+ Thng tin lin quan n giao dch chnh ca h thng (ha n, phiu xut, phiu nhp, phiu ng
k)
+ Thng tin lin quan n ta nguyn h thng (mt hng, nh cung cp, khch hng, sinh vin, gio vin,
mn hc)
+ Thng tin lin quan n thng k, k hoch (nghan sch hng nm, bng lng thng, lch cng tc
tun, thi kha biu hc k)
Thng da trn nhng cu hi:
+ Thng tin ny c cn cho h thng khng?
+ C th t chc lu tr cc thng tin ny phc v cho cc nhu cu khai thc thng tin sau ny khng,
hay cc thng tin ny lu tr c th phn bit c cc kiu thc th hay khng.
- Xc nh thuc tnh
Xc nh cc thc th, bc tip theo lm r cc thnh phn thng tin i vi mi thc th, tc l xc
nh thuc tnh ca thc th. Thuc tnh c phn thnh: Thuc tnh nh danh (thuc tnh kha), thuc
tnh kt ni (thuc tnh kha ngoi), thuc tnh m t.
Cc kiu thuc tnh ca kiu thc th:
+ Thnh phn d liu t bin ng, hoc hu nh khng bin ng (tn, a ch, nghnh ngh), thnh phn
d liu thng xuyn bin ng.
+ Thh phn d liu tham gia vo cc x l dng tnh ton (im thi, s lng hng nhp) hoc kt qu
ca mt s php tnh x l (im trung bnh, s lng hng tn kho, danh sch sinh vin thi li, danh sch
sinh vin tt nghip).
+ Thnh phn d liu bn vng (lng hng, gi tr tin trong mt ha n, im thi mt n hc ca sinh
vin) hay khng bn vng (s lng hng tn kho, s con ca nhn vin, s lng ngi tham gia ng
k ti).
+ Thnh phn d liu mang tnh lch s (chc v qua, cng vic thc hin, cc d n tham gia)
hoc cng vic mang tnh hin ti.
- Xc nh cc lin kt trong cc thc th.
- Xc nh kiu thc th con, xc nh cc kiu thc th ging nhau ch khc nhau mt t thuc tnh, ta c
th lu tr chung trong mt thc th v to nhng thuc tnh xc nh.
a. Ton vn thc th da trn cc yu cu
- Trong mt kiu thc th phi c mt kha chnh (duy nht) khc rng.
- Vi mt thc th phi xc nh c kha chnh, kha lin kit tin sp xp v t kt ni.
- Xc lp c kim sot an ton v quyn truy cp.
- Xc lp c thi im truy cp v thi hn s dng d liu
- Xc nh c lin kt, bc lin kt d liu.
b. Ton vn tham chiu l qui tc lin quan n xc lp mi lin kt gia cc thc th.
c. Min gi tr ca mt tp hp bao gm c kiu d liu, gii hn gi tr thuc tnh nhn c.

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

47

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

d. Tnh ton vn thao tc l qui tc m bo tnhs ng n gi tr thuc tnh khi tin hnh cc thao tc vi
d liu nh cp nht, chn, xa. Phm vi lin quan n thuc tnh mt thc th hoc n nhiu thc th
khc nhau.

5.2.1.5.2 M hnh d liu quan h


Do m hnh thc th to ra d tha d liu dn n nhng sai st khng ng c hoc to ra phc tp
khng ng nht d liu. V vy chng ta a chng v m hnh d liu quan h v tng bc chun ha
chng.
- Khi nim ph thuc hm v kha
Cho quan h R v A, B hai thuc tnh trong R. Ta ni rng B l phc thuc hm vo A nu vi mi hng
ca quan h R, mi gi tr ca thuc tnh A xc nh duy nht thuc tnh ca B. A -> B. V d trong danh
sch ti M ti xch nh tn ti, ngi ph trch ti, ni dung yu cu. M ti v m sinh
vin quyt nh ni dung ca thc hin ti, ngy bo co
- Cc dng chun
a. Dng chun 1 (First Normal Form): Mt quan h R l dng chun 1 (1NF) nu cc thuc tnh ca n
u n tr. Ni cch khc, quan h R t chun 1NF nu n khng cha cc thuc tnh lp. Gi tr ti
mi ca bng phi l n. V d trong danh sch ngi tham gia ti th cc sinh vin tham gia ti
khng l n khng tha mn chun 1NF.
Gii php: Nu bng d liu cha cc thuc tnh lp th khng phi l quan h. chuyn bng d liu
c lp thnh quan h , c th tch cc thuc tnh lp thnh mt hoc nhiug bng khc v nu cn thit
tng cng kha cho bng mi ny. Tip tc xem xt bng mi m bo cho cc bng ny cng m
bo l quan h.
b. Dng chun 2 (Second Normal Form 2NF): Mt quan h R t chun 2NF nu n l 1NF v cc
ph thuc hm gia cc thuc tnh ngoi kha v kha u l ph thuc hm s ng. Ni cch khc, mi
thuc tnh ngoi kha u khng ph thuc hm vo b phn ca kha. V d trong chi tit cc n hng
c m ha n, m hng ha, tn hng ha th phn tn hng ha ch ph thuc vo m hng ha khng
ph thuc vo m ha n v vy s vi phm chun 2NF.
Gii php: Nu bng d liu cha quan h ph thuc hm vo mt b phn ca kha th cn tch cc
nhm thuc tnh ph thuc vo b phn ca kha v b sung thm cho cc nhm ny mt phn ca ca
kha m chng ph thuc hm thnh quan h. Nhm cn li to thnh mt quan h vi kha nh c.
c. Dng chun 3 (Third Normal Form 3NF): Mt quan h R l dng chun 3NF nu n l 2NF v nu
cc ph thuc hm gia cc tnh ngoi kha v kha l cc ph thuc hm trc tip, ngha l khng tn
ti nhng ph thuc hm ngoi kha. V d danh sch ti bao gm m ti m gio vin, tn gio
vin. Tn gio vin ch ph thuc hm vo m gio vin khng ph thuc hm trc tip vo m ti nn
khng tha mn dng chun 3NF.
Gii php: Nu tn ti ph thuc hm ngoi kha th tch nhm thuc tnh ph thuc hm vo thuc tnh
ngoi kha thnh mt quan h. Kha ca quan h mi ny chnh l thuc tnh m chng c ph thuc
hm.
Sau chun ha d liu xut hin cc thuc tnh ng ngha, ng danh l thuc tnh c tn khc nhau
nhng cng mt ngha m t mt thuc tnh ca thc th. V d nh m th, v s th (th bn c)
chng ta c th gp chng li m khng lm mt thng tin.
V d: Danh sch ti ng k.
Thc th
1NF
2NF
3NF
Kt hp
ti
ti
ti
ti
ti
M ti
M ti
M ti
M ti
M ti
Tn ti
Tn ti
Tn ti
Tn ti
Tn ti
Yu cu
Yu cu
Yu cu
Yu cu
Yu cu
M gio vin HD
M gio vin HD
M gio vin HD
M gio vin HD
M gio vin
Tn gio vin HD Tn gio vin HD Tn gio vin HD
Gio vin
Gio vin
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

48

Gio trnh visual foxpro danh cho i tng i hc


M chc v HD
Chc v HD
M hc hm HD
Hc hm HD
M hc v HD
Hc v HD
Ngy nhn
M hc vin
Tn hc vin
Lp
M kha hc
Kha hc
Ni dung
Ngy bo v
M gio vin PB
Tn gio vin PB
M chc v PB
Chc v PB
M hc hm PB
Hc hm PB
M hc v PB
Hc v PB
im HD
im PB
im H

M chc v HD
Chc v HD
M hc hm HD
Hc hm HD
M hc v HD
Hc v HD
Chi tit
M ti
M hc vin
Ngy nhn
Tn hc vin
Lp
M kha hc
Kha hc
Ni dung
Ngy bo v
M gio vin PB
Tn gio vin PB
M chc v PB
Chc v PB
M hc hm PB
Hc hm PB
M hc v PB
Hc v PB
im HD
im PB
im H

M chc v HD
Chc v HD
M hc hm HD
Hc hm HD
M hc v HD
Hc v HD
Chi tit
M ti
M hc vin
Ngy nhn
Ni dung
Ngy bo v
M gio vin PB
Tn gio vin PB
M chc v PB
Chc v PB
M hc hm PB
Hc hm PB
M hc v PB
Hc v PB
im HD
im PB
im H
Hc vin
M hc vin
Tn hc vin
Lp
M kha hc
Kha hc

Cp nht: 11/29/2004
M gio vin HD
Tn gio vin HD
M chc v HD
M hc hm HD
M hc v HD
Chc v
M chc v HD
Chc v HD
Hc hm
M hc hm HD
Hc hm HD
Hc v
M hc v HD
Hc v HD
Chi tit
M ti
M hc vin
Ngy nhn
M gio vin PB
Ni dung
Ngy bo v
im HD
im PB
im H
Gio vin PB
M gio vin PB
Tn gio vin PB
M chc v PB
M hc hm PB
M hc v PB
Chc v PB
M chc v PB
Chc v PB
Hc hm PB
M hc hm PB
Hc hm PB
Hc v PB
M hc v PB
Hc v PB
Hc vin
M hc vin
Tn hc vin
Lp
M kha hc
Kha hc
M kha hc
Kha hc

M gio vin
Tn gio vin
M chc v
M hc hm
M hc v
Chc v
M chc v
Chc v
Hc hm
M hc hm
Hc hm
Hc v
M hc v
Hc v
Chi tit
M ti
M hc vin
Ngy nhn
M gio vin PB
Ni dung
Ngy bo v
im HD
im PB
im H
Ngy bo v
Hc vin
M hc vin
Tn hc vin
Lp
M kha hc
Kha hc
M kha hc
Kha hc

Trn y l mt v d v cc bc phn tch d liu.


Nguyn Mu Uyn email:Nguyenitt@yahoo.com

49

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

5.2.2 Thit k h thng

5.2.2.1 Thit k cc tin trnh my tnh


Xc nh c cc h thng con, t xc nh c s dng d liu v cc tin trnh x l d liu.
M t i thc th tc bt u thc th v tin trnh x l d liu v nhng bng tham chiu.
S kin/ nh hng
Tin trnh DFD h thng
Tham kho
1. ti
1. Cp nht ti
1. Gi ti
2. Chi tit
2. Danh sch ng k ti
2. ng k ti
3. Nhp im thi
4. Chm im
4. Nhp im bo v v ni dung
3. Bo v ti
thc hin

5.2.2.2 Thit k giao din ngi my


Xc nh c cc giao din s dng, b tr mu sc, loi hnh.
- Cc form
+ : readonly
+ Xanh m: bt buc phi nhp
+ en: ty chn c th nhp hoc khng
+ Mu nn cho cc list view, grid l trng nu l ph thuc l mu vng.
+ Font ch: ms sans serife, 8 ( ci t system font)
+ Nhng chn: Nu di 10 i tng dng listbox nu trn 10 i tng cho php nhp t ng tm
kim a cnh bo khi khng nhp khng ng.
- Cc bo co
nh dng cc bo co font ch.

5.2.2.3 Thit k kim sot


- Phn chia lm cc quyn:
+ Vn th c quyn cp nht ton b thng tin ti.
+ Gio vin thm cc ti v sa cha ti do mnh a ra, cp nht sinh vin ng k.
+ Yu cu v cc vn nhp liu khc, nh m sinh vin bao gm SV + m kha + s th t sinh vin.
+ Mi ti bt buc phi nhp gio vin hng dn
+ Quyn truy xut h thng c thit k nh sau:
0: Nhn vin c quyn thay i thng tin trn ton b tai
1: Gio vin ch c quyn thay i thng tin trn ti c hng dn
2: Quyn qun tr ch c nhim v qun tr ngi dng trong h thng tc l nhp gio vin.

5.2.2.4 Thit k d liu


Da trn bn phn tch trn xy dng d liu nh sau:
DeTai(Ma C(10),Ten C(255), YeuCau M(4), MaGiaoVien C(10))
GiaoVien(Ma C(10), Ten C(50), MaChucVu C(10), MaHocHam C(10), MaHocVi C(10), TenDangNhap
C(30), MatKhau C(30))
ChucVu(Ma C(10), Ten C(100), Quyen N(1))
HocHam(Ma C(10), Ten C(30))
HocVi(Ma C(10), Ten C(30))
ChiTiet(MaDeTai C(10), MaHocVien C(10), NgayNhan D(8), MaGiaoVienPhanBien C(10), NoiDung
M(4), NgayBaoVe D(8), DiemHuongDan N(4.2), DiemPhanBien N(4.2), DiemHoiDong D(4.2))
HocVien(Ma C(10), Ten C(50), Lop C(50), MaKhoaHoc C(10))
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

50

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

KhoaHoc(Ma C(10), Ten C(100))


Trong qu trnh xy dng chng ta c th thm cc trng ph hp vi iu kin thit k chng hn nh
chng ta thm tn ng nhp, mt khu cho danh sch gio vin khi chng ta thit k phn quyn cho
gio vin nhp v thay i thng tin ti. Cho thm Quyen danh sch chc v kim tra xem quyn
truy xut. V d ta thit k quy nh quyn ca gio vin l 1, vn th l 0 khi ngi c quyn 0 thay
i thng tin ton b cc ti, ngi c quyn l 1 ch c quyn thay i thng tin m ngi chu
trch nhim hng dn.

5.2.2.5 Thit k giao din


Thit k cc form khc nhau.
T m t bi ton v h thng thc t ta c thm m t cc cng vic phi lm. Bi ton phi p ng
c cc vn sau:
- Gio vin a danh sch ti th cho php a thng tin cc ti vo h thng.
- Sinh vin, gio vin tra cu thng tin v cc ti th h thng phi a ra thng tin v ti.
- Sinh vin chn ti ng k h thng phi cho php cp nht thng tin.
- Nhp thng tin kt qu, kt qu thc hin ti v kt qu nh gi ca hi ng.
1. Thng tin lu tr v mt ti
Ngy thng, ngi a, tn, ni dung tm tt yu cu, nhm kin thc, ngi ng k, nm ng k,
nm bo v, s im, ni dung tm tt thc hin c, ngi ng k, gio vin phn bin.

5.3 Lp trnh gii quyt bi ton

5.3.1 Thit k CSDL v cc quan h

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

51

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

5.3.2 Thit k menu

Tip theo chn cc iu kin hin th cho cc menu con, v d nh danh sch gio vin ch c hin th
cho ngi c quyn l 2 tc l ngi c quyn qun tr. Chi tit mt khu tham kho phn chng trnh
km theo.

5.3.3 Thit k form nhp liu


Thit k form nhp liu cho danh sch b mn
- S dng DataEnvirenment trong cha table Bomon.dbf ch Exclusive (c chn trong
property ca n).
- S dng ch d liu gin tip, hay cc text s dng m.Ma, m.Ten trng DataSource trong cc
i tng tng ng.
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

52

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

- To thm thuc tnh l IsEdit dng lu trng thi sa cha ca form, qui nh gi tr 0 l trng thi
thng thng khng c thay i, 1 trng thi ang thm mi, 2 trng thi ang sa cha ban ghi c.
- Thm phng thc ChangeToEdit vi tham s u vo l mt bin kiu boolean. Tham s truyn vo
l .T. th cho php nhp liu ngc li khng cho php nhp liu.

Mt s th tc, hm ca form c vit cho cc s kin


Khi to iu kin cho form, thay i trng thi sa cha thnh khng, t cc control thnh trng thi
khng cho php sa, ly d liu hin th mn hnh.
FrmBoMon
Init
*Trng thi khng sa
thisform.isedit=0
*Khng cho php sa
thisform.ChangeToEdit(.F.)
goto top
*Ly d liu hin th ln mn hnh
scatter memvar
thisform.refresh
Kim tra iu kin khi kt thc, nu ang cho php thay i th thng bo khng cho php thay i v
khng tip tc kt thc.
FrmBoMon
QueryUnload
if thisform.IsEdit<>0 then
messagebox("Ban dang sua chua du lieu, can ghi lai truoc khi thoat")
* Ngn chn qu trnh kt thc
NODEFAULT
EndIf
Th tc thay i thuc tnh cho php nhp liu, khng cho php nhp liu, tham s u vo kiu
boolean. y l phng thc mi c to ra do ngi dng.
FrmBoMon
ChangeToEdit
para bEdit
with thisform
.txtMa.readonly= not bEdit
.txtTen.ReadOnly = not bEdit
.cmdFirst.Enabled = not bEdit
.cmdPrevious.Enabled = not bEdit
.cmdFind.Enabled = not bEdit
.cmdNext.Enabled = not bEdit
.cmdLast.Enabled = not bEdit
.cmdAdd.Enabled = not bEdit
.cmdEdit.Enabled = not bEdit
.cmdDelete.Enabled = not bEdit
.cmdExit.Enabled = not bEdit
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

53

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

.cmdSave.Enabled = bEdit
.cmdCancel.Enabled = bEdit
endwith
S kin nt v u click, x l tnh hung khi ngi dng click vo nt v u. Kim tra cha l bn
ghi u tin th di chuyn control bn ghi v u v ly d liu hin th ln mn hnh.
cmdFirst
Click
*Kim tra u tin hay khng
if not bof() then
*Chuyn v bn ghi u tin
goto top
* Ly d liu hin th ra mn hnh
scatter memvar
thisform.refresh
EndIf
S kin nt trc click, x l tnh hung khi ngi dng click vo nt trc. Kim tra xem bn ghi
u tin hay cha nu cha th di chuyn v trc mt bn ghi, nu di chuyn v trc m u th
chuyn v bn ghi u tin. Sau ly d liu hin th ra mn hnh.
cmdPrevious
Click
* Nu khng l bn ghi u tin
if not bof() then
*Chuyn v u mt bn ghi
skip -1
* Nu bn ghi mi l u file
if bof() then
*Chuyn n bn ghi u tin
goto top
EndIf
*Ly d liu hin th ra mn hnh
scatter memvar
thisform.refresh
EndIf
S kin nt sau click, x l tnh hung khi ngi dng click vo nt sau. Kim tra xem bn ghi cui
file hay cha nu cha th di chuyn v sau mt bn ghi, nu di chuyn v sau m n cui file th
chuyn v bn ghi cui cng. Sau ly d liu hin th ra mn hnh.
cmdNext
Click
* Nu khng l cui file
if not eof() then
*Chuyn v sau mt bn ghi
skip 1
* Nu bn ghi mi l cui file
if eof() then
*Chuyn n bn ghi cui cng
goto bottom
EndIf
*Ly d liu hin th ra mn hnh
scatter memvar
thisform.refresh
EndIf
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

54

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

S kin nt v cui click, x l tnh hung khi ngi dng click vo nt v cui. Kim tra cha l cui
file th di chuyn control bn ghi v cui v ly d liu hin th ln mn hnh.
cmdLast
Click
*Kim tra c phi l cui file hay khng
if not eof() then
*Chuyn v bn ghi cui cng
goto bottom
* Ly d liu hin th ra mn hnh
scatter memvar
thisform.refresh
EndIf
S kin nt tm click, x l tnh hung khi ngi dng click vo nt tm.Do d liu l t n gian nn
chng ta dng lnh brow hin th cho php tm, m bo chng ta khng cho php thm mi, sa
cha, xa trn danh sch hin th.
cmdLocate
Click
* Chn bn ghi mi
Brow noed noap node
*Ly d liu bn ghi mi hin th ra mn hnh
scatter memvar
thisform.refresh
S kin nt thm click, x l tnh hung khi ngi dng click vo nt thm. Ta thay i trng thi iu
khin thm sang l 1, chuyn cc tri thi control trn mn hnh sang cho php thay i sang cho php
nhp liu, a d liu trng vo bin v a ln mn hnh.
cmdAdd
Click
*a d liu trng vo hin th
scatter memvar blank
* Thay i thuc tnh ca cc control trn mn hnh
thisform.ChangeToEdit(.T.)
thisform.refresh
* Thay i trng thi kim sot khi n nt ghi
thisform.isedit=1
S kin nt sa click, x l tnh hung khi ngi dng click vo nt sa. Ta thay i trng thi iu
khin thm sang l 2, chuyn cc tri thi control trn mn hnh sang cho php thay i sang cho php
nhp liu khi khng l u file hoc cui file.
cmdEdit
Click
*Nu khng u file hoc cui file
if not (bof() or eof()) then
* Thay i thuc tnh ca cc control trn mn hnh
Thisform.ChangeToEdit(.T.)
thisform.isedit=2
else
MessageBox("Khong sua duoc ban ghi nay")
EndIf
S kin nt xa click, x l tnh hung khi ngi dng click vo nt xa.Ta phi tin hnh xa bn ghi
hin ti khi n khng l u file hoc cui file. Vic xa ny c th gy ra li nn tin hnh bt li
chng trnh trong s kin Error ca nt lnh ny. Nu xy ra li th ta thay i thuc tnh isError ca
form ny thnh gi tr li l gi tr khc 0. Nu chi tit hn chng trnh tin hnh phn tch m li a
ra thng bo tt hn.
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

55

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

cmdDelete
Click
*Nu khng l u file hoc cui file th xa bn ghi hin ti
if not (eof() or bof()) then
*Trng thi ban u l khng c li
thisform.isError=0
delete
Pack
*Nu lnh thc hin li th s thay i gi tr IsError sang khc 0 nn kim tra thng bo li
if Thisform.isError <>0 then
MessageBox("Co Error")
Thisform.isError=0
EndIf
*Cp nht li bn ghi c thay i
scatt memv
thisform.refresh
EndIf
cmdDelete
Error
LPARAMETERS nError, cMethod, nLine
thisform.isError=nerror
S kin nt ghi click, x l tnh hung khi ngi dng click vo nt ghi. Nt ghi l mt nt iu khin
phc tp, chng ta kim tra tnh trng ca bin isEdit bit c trng thi bn ghi hin ti l thm
mi hay l ang c sa. Nu l trng thi 1 ta chn thm mi ban ghi vo trong table nu l 2 ta ch
tin hnh cp nht thay i cho bn ghi hin ti.
cmdSave
Click
with thisform
*Chun b trng thi l khng c li
thisform.isError=0
*Kim tra nhp m ca bng nhp cha nu cha thng bo li
if alltrim(.txtMa.Value)=="" then
MessageBox("Ban chua nhap ma chuong trinh")
Return
EndIf
*Nu l tnh trng thm mi bn ghi
if .isedit=1 then
* Ghi thm bn ghi vo table
INSER INTO bomon(Ma,Ten) VALUES(m.Ma,m.Ten)
else
*Trng hp ch l thay i ch cp nht thay i.
gather memvar
EndIf
*Nu sinh ra li
if thisform.isError<>0 then
messagebox("Khong ghi duoc du lieu vao chuong trinh")
thisform.isError=0
else
* Chuyn li thng tin hin th ln mang hnh
scatter memvar
.ChangeToEdit(.F.)
.refresh
56
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc


.isEdit = 0
EndIf
endwith
cmdSave
LPARAMETERS nError, cMethod, nLine
thisform.isError=nerror

Cp nht: 11/29/2004

Error

5.3.4 Thit k form lc d liu


Thit k form lc d liu nhm mc ch gii hn d liu hin th trong cc form tm kim v trong cc
form chun b cho bo co. Trong chng trnh ta xem xt form tm kim gio vin
(frmThongTinGiaoVien).
Chn data envirenment cho form nh sau:

Sau tin hnh thit k cc form nh sau:

y l trng thi thit k vi tn ca cc control trn form. Cc combo box c ly d liu nhng
bng tng ng. Ta t control source ca cc text v cc combo box tng ng tn cc trng n cn
lc. Ban u t d liu trng ta vit trong s kin form init l: Scatter memvar blank. Ta quan tm n
hai s kin l khi n nt tm kim v n nt in n. Thc ra hai nt ny c m lnh phn u l ging nhau
57
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

chi khc v cc a d liu ra. Trc ht ta tin hnh kim tra cc text tng ng hoc cc combo box
c c la chn hay khng, nu khng c la chn th ta khng lc theo trng , nu c la
chn ta phi tin hnh lc theo trng . Nu l iu kin khng l u tin ta thm vo sau v thm
theo iu kin AND. pht trin ta c th t iu kin OR bng cch t thm cc check box iu kin
tng ng vi cc trng. Ta xem xt cho s kin lick ca nt tm kim.
cmdSave
Click
*iu kin lc ban u l khng c
stLoc=""
*Nu c g k t vo text ma iu c ngha mong mun lc theo iu kin ny, v vy xem xt
if not (alltrim(m.ma)=="") then
*Nu iu kin lc ny l iu kin u tin th thin hnh a iu kin vao
if alltrim(stLoc)=="" then
stLoc=" Ma='" + alltrim(m.ma) + "'"
else
*Ngc li ta tin hnh thm iu kin lc tip vo iu kin sau khi c sn.
stLoc=stLoc + " AND Ma='" + alltrim(m.ma) + "'"
EndIf
EndIf
if not (alltrim(m.Ten)=="") then
if alltrim(stLoc)=="" then
stLoc=" Ten='" + alltrim(m.Ten) + "'"
else
stLoc=stLoc + " AND Ten='" + alltrim(m.Ten) + "'"
EndIf
EndIf
*Nu khng chn cboBoMon hoc chn nhng xa i, v vy phi gn li gi tr la chn l rng
if alltrim(thisform.cboBoMon.text)=="" then
m.mabomon=""
EndIf
*Nu c la chn ta tin hnh vic kim tra nh thng thng trn
if not (alltrim(m.maBoMon)=="") then
if alltrim(stLoc)=="" then
stLoc=" MaBoMon='" + alltrim(m.maBoMon) + "'"
else
stLoc=stLoc + " AND MaBoMon='" + alltrim(m.maBoMon) + "'"
EndIf
EndIf
if alltrim(ThisForm.cboChucVu.text)=="" then
m.MaChucVu=""
EndIf
if not (alltrim(m.maChucVu)=="") then
if alltrim(stLoc)=="" then
stLoc=" MaChucVu='" + alltrim(m.MaChucVu) + "'"
else
stLoc=stLoc + " AND MaChucVu='" + alltrim(m.MaChucVu) + "'"
EndIf
EndIf
If alltrim(ThisForm.cboCapBac.Text)=="" then
m.maCapBac=""
58
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

EndIf
If not (alltrim(m.maCapBac)=="") then
If alltrim(stLoc)=="" then
stLoc=" MaCapBac='" + alltrim(m.MaCapBac) + "'"
else
stLoc=stLoc + " AND MaCapBac='" + alltrim(m.MaCapBac) + "'"
EndIf
EndIf
If alltrim(ThisForm.cboHocHam.Text)=="" then
m.maHocHam=""
EndIf
If not (alltrim(m.maHocHam)=="") then
If alltrim(stLoc)=="" then
stLoc=" MaHocHam='" + alltrim(m.MaHocHam) + "'"
else
stLoc=stLoc + " AND MaHocHam='" + alltrim(m.MaHocHam) + "'"
EndIf
EndIf
If alltrim(ThisForm.cboHocVi.Text)=="" then
m.maHocVi=""
EndIf
If not (alltrim(m.maHocVi)=="") then
If alltrim(stLoc)=="" then
stLoc=" MaHocVi='" + alltrim(m.MaHocVi) + "'"
Else
stLoc=stLoc + " AND MaHocVi='" + alltrim(m.MaHocVi) + "'"
EndIf
EndIf
*Kim tra iu kin lc nu l iu kin ny l tn ti th t vo iu kin lc
If not alltrim(stLoc)=="" then
set filter to &stLoc
Else
*Nu khng t lc th b nhng iu kin t lc c sn trc
set filter to
EndIf
* Tao view hoac them cac ket noi de hien thi ten thay cho cac truong ma
*Sau khi t lc xong tin hnh hin th d liu, y ta hin th n gin bng browse
brow noed noap node
*Trong trng hp in n th tin hnh xy dng mt report tng ng v hin th theo iu kin lc d
liu t

5.3.5 Thit k bo co
Tin hnh to form lc tng ng vi bo co, chng hn form lc cho danh sch gio vin trong form
tm kim sau tin hnh in n. Vic to bo co tng ng nh trong chng trnh km theo.

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

59

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

6. Ph lc
Bi ging km theo chng trnh minh ha v chng trnh qun l ti tng ng vi phn tch
c nu trong bi v tng phn m lnh c em ra phn tch trn.

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

60

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

Mc lc tng quan
1. Gii thiu v Visual Fox ........................................................................................................................... 1
1.1 Lch s................................................................................................................................................. 1
1.2 Kh nng ............................................................................................................................................. 1
1.3 Mi trng lm vic v cc lnh c bn............................................................................................ 1
2. Lp trnh trn dng lnh............................................................................................................................ 5
2.1 To lp c s d liu........................................................................................................................... 5
2.2 Cc lnh khai thc d liu................................................................................................................. 12
3. Lp trnh.................................................................................................................................................. 24
3.1 To lp thc thi chng trnh............................................................................................................ 24
3.2 Cc cu trc c bn ........................................................................................................................... 27
3.3 Cc hm c bn trong Visual Foxpro ............................................................................................... 30
3.4 Hm, hm th tc, cch qun l bin................................................................................................ 35
4. Thit k thng qua giao din................................................................................................................... 38
4.1 Thit k database............................................................................................................................... 38
4.2 Thit k form..................................................................................................................................... 41
4.3 Thit k menu.................................................................................................................................... 43
4.4 Thit k report................................................................................................................................... 44
5. Bi tp ng dng Qun l ti tt nghip......................................................................................... 45
5.1 Bi ton ............................................................................................................................................. 45
5.2 Phn tch thit k bi ton ................................................................................................................. 45
5.3 Lp trnh gii quyt bi ton ............................................................................................................. 51
6. Ph lc .................................................................................................................................................... 60
Mc lc tng quan....................................................................................................................................... 61
Mc lc chi tit ........................................................................................................................................... 62

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

61

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

Mc lc chi tit
1. Gii thiu v Visual Fox ........................................................................................................................... 1
1.1 Lch s................................................................................................................................................. 1
1.2 Kh nng ............................................................................................................................................. 1
1.3 Mi trng lm vic v cc lnh c bn............................................................................................ 1
1.3.1 Mi trng lm vic dng lnh command................................................................................ 2
1.3.2 Mi trng lp trnh cc file ........................................................................................................ 2
1.3.3 Mi trng lm vic theo project................................................................................................. 3
1.3.4 Mt s quan im v lp trnh trong Fox..................................................................................... 3
1.3.5 Cc ton t trong Visual Fox ....................................................................................................... 4
1.3.5.1 Thot khi mi trng Fox pro............................................................................................. 4
1.3.5.2 Php ton vi k t ............................................................................................................... 4
1.3.5.3 Php ton vi ngy thng...................................................................................................... 4
1.3.5.4 Php ton vi ton t logic ................................................................................................... 4
1.3.5.5 Php ton s hc ................................................................................................................... 4
1.3.6 Mt s lnh t mi trng.......................................................................................................... 4
2. Lp trnh trn dng lnh............................................................................................................................ 5
2.1 To lp c s d liu........................................................................................................................... 5
2.1.1 Cc lnh trn database.................................................................................................................. 5
2.1.1.1 CREATE DATABASE......................................................................................................... 5
2.1.1.2 OPEN DATABASE.............................................................................................................. 6
2.1.1.3 CLOSE .................................................................................................................................. 6
2.1.1.4 DELETE DATABASE ......................................................................................................... 6
2.1.1.5 DISPLAY TABLES.............................................................................................................. 6
2.1.1.6 ADD TABLE ........................................................................................................................ 7
2.1.1.7 FREE TABLE ....................................................................................................................... 7
2.1.1.8 REMOVE TABLE................................................................................................................ 7
2.1.1.9 PACK DATABASE.............................................................................................................. 7
2.1.1.10 DBC .................................................................................................................................... 7
2.1.1.11 CREATE SQL VIEW ......................................................................................................... 8
2.1.1.12 DELETE VIEW .................................................................................................................. 8
2.1.2 Cc lnh trn table........................................................................................................................ 8
2.1.2.1 USE ....................................................................................................................................... 8
2.1.2.2 CREATE ............................................................................................................................... 9
2.1.2.3 MODIFY STRUCTURE....................................................................................................... 9
2.1.2.4 CREATE TABLE ................................................................................................................. 9
2.1.2.5 DROP TABLE .................................................................................................................... 10
2.1.2.6 ALTER TABLE.................................................................................................................. 11
2.2 Cc lnh khai thc d liu................................................................................................................. 12
2.2.1 Hin th....................................................................................................................................... 12
2.2.1.1 DISPLAY............................................................................................................................ 12
2.2.1.2 LIST .................................................................................................................................... 12
2.2.1.3 BROWSE ............................................................................................................................ 13
2.2.1.4 SET FILTER TO................................................................................................................. 15
2.2.1.5 SET RELATION ................................................................................................................ 16
2.2.1.6 SET SKIP............................................................................................................................ 16
2.2.1.7 LOCATE............................................................................................................................. 17
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

62

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

2.2.1.8 GOTO, GO.......................................................................................................................... 17


2.2.1.9 SKIP .................................................................................................................................... 18
2.2.2 Thay i ..................................................................................................................................... 18
2.2.2.1 APPEND ............................................................................................................................. 18
2.2.2.2 INSERT............................................................................................................................... 18
2.2.2.3 DELETE.............................................................................................................................. 19
2.2.2.4 RECALL ............................................................................................................................. 19
2.2.2.5 PACK .................................................................................................................................. 19
2.2.2.6 ZAP ..................................................................................................................................... 19
2.2.2.7 SCATTER........................................................................................................................... 20
2.2.2.8 GATHER ............................................................................................................................ 20
2.2.3 Sp xp....................................................................................................................................... 20
2.2.3.1 SORT .................................................................................................................................. 20
2.2.3.2 INDEX ................................................................................................................................ 21
2.2.3.3 SET INDEX ........................................................................................................................ 22
2.2.3.4 SET ODER.......................................................................................................................... 22
2.2.3.5 CLOSE INDEX................................................................................................................... 22
2.2.3.6 REINDEX ........................................................................................................................... 23
2.2.4 X l c bit............................................................................................................................. 23
2.2.4.1 SUM .................................................................................................................................... 23
2.2.4.2 TOLTAL ............................................................................................................................. 23
2.2.4.3 COUNT............................................................................................................................... 23
2.2.4.4 AVERAGE.......................................................................................................................... 24
3. Lp trnh.................................................................................................................................................. 24
3.1 To lp thc thi chng trnh............................................................................................................ 24
3.1.1 Sa i, to mi file................................................................................................................... 24
3.1.1.1 To file thc thi................................................................................................................... 24
3.1.1.2 To cc file bo co ............................................................................................................ 25
3.1.1.3 To lp file mn hnh (form)............................................................................................... 25
3.1.2 Thc thi cc file ......................................................................................................................... 25
3.1.2.1 DO....................................................................................................................................... 25
3.1.2.2 DO FORM .......................................................................................................................... 26
3.1.2.3 REPORT FORM ................................................................................................................. 26
3.2 Cc cu trc c bn ........................................................................................................................... 27
3.2.1 Cu trc r nhnh n gin IF ENDIF.................................................................................. 27
3.2.2 Cu trc r nhnh phc hp DO CASE ENDCASE............................................................. 27
3.2.3 Cu trc lp khng xc nh DO WHILE ENDDO.............................................................. 28
3.2.4 Cu trc lp xc nh FOR ENDFOR................................................................................... 29
3.2.5 Cu trc lp ly d liu SCAN ENDSCAN ......................................................................... 29
3.3 Cc hm c bn trong Visual Foxpro ............................................................................................... 30
3.3.1 Hm ton hc ............................................................................................................................. 30
3.3.1.1 ABS..................................................................................................................................... 30
3.3.1.2 CEILING............................................................................................................................. 30
3.3.1.3 EXP ..................................................................................................................................... 30
3.3.1.4 INT ...................................................................................................................................... 30
3.3.1.5 MAX ................................................................................................................................... 30
3.3.1.6 MIN..................................................................................................................................... 30
3.3.1.7 MOD ................................................................................................................................... 30
3.3.1.8 ROUND .............................................................................................................................. 30
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

63

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

3.3.1.9 SQRT .................................................................................................................................. 30


3.3.1.10 VAL .................................................................................................................................. 31
3.3.2 Hm lng gic.......................................................................................................................... 31
3.3.2.1 ACOS .................................................................................................................................. 31
3.3.2.2 ASIN ................................................................................................................................... 31
3.3.2.3 ATAN.................................................................................................................................. 31
3.3.2.4 COS..................................................................................................................................... 31
3.3.2.5 DTOR.................................................................................................................................. 31
3.3.2.6 PI ......................................................................................................................................... 31
3.3.2.7 RTOD.................................................................................................................................. 31
3.3.2.8 SIN ...................................................................................................................................... 31
3.3.2.9 TAN .................................................................................................................................... 31
3.3.3 Hm k t................................................................................................................................... 32
3.3.3.1 ALLTRIM........................................................................................................................... 32
3.3.3.2 AT ....................................................................................................................................... 32
3.3.3.3 ATC..................................................................................................................................... 32
3.3.3.4 BETWEEN ......................................................................................................................... 32
3.3.3.5 LEFT ................................................................................................................................... 32
3.3.3.6 LEN..................................................................................................................................... 32
3.3.3.7 LOWER .............................................................................................................................. 32
3.3.3.8 LTRIM ................................................................................................................................ 32
3.3.3.9 OCCURS............................................................................................................................. 32
3.3.3.10 PROPER ........................................................................................................................... 32
3.3.3.11 RAT................................................................................................................................... 32
3.3.3.12 REPLICATE ..................................................................................................................... 33
3.3.3.13 RIGHT .............................................................................................................................. 33
3.3.3.14 SPACE .............................................................................................................................. 33
3.3.3.15 STR ................................................................................................................................... 33
3.3.3.16 STUFF............................................................................................................................... 33
3.3.3.17 SUBSTR ........................................................................................................................... 33
3.3.3.18 UPPER .............................................................................................................................. 33
3.3.4 Hm ngy thng ......................................................................................................................... 33
3.3.4.1 CTOD.................................................................................................................................. 33
3.3.4.2 DTOC.................................................................................................................................. 33
3.3.4.3 DTOS .................................................................................................................................. 34
3.3.4.4 DOW, CDOW..................................................................................................................... 34
3.3.4.5 DAY .................................................................................................................................... 34
3.3.4.6 CMONTH, MONTH........................................................................................................... 34
3.3.4.7 YEAR.................................................................................................................................. 34
3.3.4.8 EMPTY ............................................................................................................................... 34
3.3.4.9 GOMONTH ........................................................................................................................ 34
3.3.4.10 TIME................................................................................................................................. 34
3.3.5 Hm tp CSDL........................................................................................................................... 35
3.3.5.1 BOF..................................................................................................................................... 35
3.3.5.2 DBF..................................................................................................................................... 35
3.3.5.3 DELETED........................................................................................................................... 35
3.3.5.4 EOF ..................................................................................................................................... 35
3.3.5.5 FCOUNT............................................................................................................................. 35
3.3.5.6 FIELD ................................................................................................................................. 35
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

64

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

3.4 Hm, hm th tc, cch qun l bin................................................................................................ 35


3.4.1 Xy dng.................................................................................................................................... 35
3.4.1.1 Th tc ................................................................................................................................ 35
3.4.1.2 Hm..................................................................................................................................... 36
3.4.2 Cch gi ..................................................................................................................................... 36
3.4.2.1 Th tc ................................................................................................................................ 36
3.4.2.2 Hm..................................................................................................................................... 36
3.4.3 Truyn tham s .......................................................................................................................... 36
3.4.4 Gii hn bin.............................................................................................................................. 37
3.4.4.1 PRIVATE............................................................................................................................ 37
3.4.4.2 PUBLIC .............................................................................................................................. 37
3.4.4.3 CLEAR ............................................................................................................................... 37
3.4.4.4 RELEASE ........................................................................................................................... 37
3.4.4.5 DECLARE .......................................................................................................................... 37
3.4.4.6 DIMENSION ...................................................................................................................... 38
4. Thit k thng qua giao din................................................................................................................... 38
4.1 Thit k database............................................................................................................................... 38
4.1.1 Thit k table.............................................................................................................................. 39
4.1.2 Thit k view.............................................................................................................................. 41
4.2 Thit k form..................................................................................................................................... 41
4.2.1 Mt s thuc tnh thng thng................................................................................................. 42
4.2.2 Mt s phng thc thng thng............................................................................................. 42
4.2.3 Mt s s kin thng thng ..................................................................................................... 43
4.3 Thit k menu.................................................................................................................................... 43
4.4 Thit k report................................................................................................................................... 44
4.4.1 Chun b d liu cho report........................................................................................................ 44
4.4.2 B tr report................................................................................................................................ 45
5. Bi tp ng dng Qun l ti tt nghip......................................................................................... 45
5.1 Bi ton ............................................................................................................................................. 45
5.2 Phn tch thit k bi ton ................................................................................................................. 45
5.2.1 Cc bc phn tch..................................................................................................................... 45
5.2.1.1 Kho st............................................................................................................................... 45
5.2.1.2 S chc nng nghip v................................................................................................. 46
5.2.1.3 Lung d liu ...................................................................................................................... 46
5.2.1.4 c t tin trnh................................................................................................................... 46
5.2.1.5 Phn tch h thng v d liu.............................................................................................. 47
5.2.2 Thit k h thng........................................................................................................................ 50
5.2.2.1 Thit k cc tin trnh my tnh .......................................................................................... 50
5.2.2.2 Thit k giao din ngi my ............................................................................................. 50
5.2.2.3 Thit k kim sot ............................................................................................................... 50
5.2.2.4 Thit k d liu ................................................................................................................... 50
5.2.2.5 Thit k giao din................................................................................................................ 51
5.3 Lp trnh gii quyt bi ton ............................................................................................................. 51
5.3.1 Thit k CSDL v cc quan h................................................................................................... 51
5.3.2 Thit k menu............................................................................................................................. 52
5.3.3 Thit k form nhp liu.............................................................................................................. 52
5.3.4 Thit k form lc d liu............................................................................................................ 57
5.3.5 Thit k bo co ......................................................................................................................... 59
6. Ph lc .................................................................................................................................................... 60
Nguyn Mu Uyn email:Nguyenitt@yahoo.com

65

Gio trnh visual foxpro danh cho i tng i hc

Cp nht: 11/29/2004

Mc lc tng quan....................................................................................................................................... 61
Mc lc chi tit ........................................................................................................................................... 62

Nguyn Mu Uyn email:Nguyenitt@yahoo.com

66

You might also like