Professional Documents
Culture Documents
Cp nht: 11/29/2004
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.
Cp nht: 11/29/2004
- 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.
gii quyt cc cng vic khc nhau ngi ta thc hin cc file khc nhau thc hin.
Cp nht: 11/29/2004
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.
Cp nht: 11/29/2004
Cp nht: 11/29/2004
2.1 To lp c s d liu
Cp nht: 11/29/2004
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.
Cp nht: 11/29/2004
2.1.1.10 DBC
1. Mc ch
Nguyn Mu Uyn email:Nguyenitt@yahoo.com
Cp nht: 11/29/2004
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
Cp nht: 11/29/2004
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.
Cp nht: 11/29/2004
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)
10
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.
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.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
Cp nht: 11/29/2004
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
Cp nht: 11/29/2004
14
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
15
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.
16
Cp nht: 11/29/2004
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
Cp nht: 11/29/2004
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
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.
19
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
Cp nht: 11/29/2004
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
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
22
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
Cp nht: 11/29/2004
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.1 Sa i, to mi file
24
Cp nht: 11/29/2004
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.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
Cp nht: 11/29/2004
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)
26
Cp nht: 11/29/2004
3.2 Cc cu trc c bn
USE
27
Cp nht: 11/29/2004
28
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
29
Cp nht: 11/29/2004
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
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.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.
31
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
Cp nht: 11/29/2004
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.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
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.5 DAY
DAY(<BT ngy>)
Ly ngy trong biu thc ngy.
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()
34
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.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
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 =.
36
Cp nht: 11/29/2004
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
Cp nht: 11/29/2004
3.4.4.6 DIMENSION
Tng t nh lnh DECLARE
Cc nt iu khin, tng ng
vi cc chc nng
Cc mc qun l ca project
c hin th theo chiu ngang
Cc mc qun l ca project
c hin th theo chiu ng
38
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.
39
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
40
Cp nht: 11/29/2004
Cc bng,
view c sn.
cc
Cc chc
khc
nng
41
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
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
42
Cp nht: 11/29/2004
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:
43
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.
Cp nht: 11/29/2004
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.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
Cp nht: 11/29/2004
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.
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.
46
Cp nht: 11/29/2004
47
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.
48
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
49
Cp nht: 11/29/2004
50
Cp nht: 11/29/2004
51
Cp nht: 11/29/2004
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.
52
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.
53
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
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
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
Cp nht: 11/29/2004
Error
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
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
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.
59
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.
60
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
61
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
Cp nht: 11/29/2004
63
Cp nht: 11/29/2004
64
Cp nht: 11/29/2004
65
Cp nht: 11/29/2004
Mc lc tng quan....................................................................................................................................... 61
Mc lc chi tit ........................................................................................................................................... 62
66