TQL-VFP_Bai1-2_ Tong Quan Va Cac Ky Thuat Co Ban

Embed Size (px)

Citation preview

1TIN QUN LVISUAL FOXPRONguyn Mnh [email protected]@gmail.comWednesday, May 27, 2009 Tin qun l - Visual Foxpro 2GII THIU MN HC Tin qun l IS202 06h/tun: 03h L thuyt; 03h Thc hnh Ti liu s dng http://hung-nguyenmanh.spaces.live.com Slide bi ging Ti liu tham kho: Tin qun l Visual Foxpro http://msdn.microsoft.com/en-us/vfoxpro/ Phn mm s dng Microsoft Visual Foxpro 6.0 9.02Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 3NH GI MN HC Trong qu trnh hc Kim tra qu trnh Trc nghimHoc Thc hnh trn my Thi cui k Thc hnh trn my im TK = 30%*im qu trnh + 70%*im thiWednesday, May 27, 2009 Tin qun l - Visual Foxpro 4LCH TRNH MN HC Bi 1: Gii thiu h qun tr CSDL MS Visual Foxpro& mt s khi nim Bi 2: Cc k thut c bn lm vic vi bng d liu Bi 3: Sp xp, tm kim, thng k d liu Bi 4: Lp trnh trong Visual Foxpro Bi 5: Thit k bo co (Report) Bi 6: Biu mu (Form) Bi 7: Menu & Project3Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 5BI 1 Tng quan v h qun tr CSDL Visual Foxpro Cc khi nim c bnWednesday, May 27, 2009 Tin qun l - Visual Foxpro 6H QUN TR CSDL MS VISUAL FOXPRO Mt s gii thiu ban u Visual FoxPro (VFP) l mt cng c pht trin (Development tools)v ngn ng lp trnh (Programminglanguages) hngi tng (OOP ObjectOrientedProgramming) ca Microsoft VisualFoxProc tha k v pht trin trn phn mmDBASE III PLUS v DBASE IV ca hng ASTON-TATE Phin bn cui cng ca FoxPro(2.6)c th lm vic trnMac OS, MS-DOS, Windows v Unix Visual FoxPro 3.0 l phin bn "Visual" u tin, c th chytrong Macv Windows,cc phin bn sau ch dng trongWindows. Phin bn mi nht: MS VFP 9.04Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 7H QUN TR CSDL MS VISUAL FOXPRO Bt u vi MS Visual Foxpro C1: START PROGRAMS MICROSOFT VISUAL FOXPRO 9.0 C2: Trn Desktop, chn biu tng ca chngtrnh Visual FoxproWednesday, May 27, 2009 Tin qun l - Visual Foxpro 8H QUN TR CSDL MS VISUAL FOXPRO Mi trng lm vicTitle bar thanh tiu Menu bar thanh MenuTool bar thanh cng cCommand Ca s lnhStatus bar thanh trng thi5Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 9H QUN TR CSDL MS VISUAL FOXPRO Ch lm vic trong Visual Foxpro Ch tng tc (Interactive) Thng qua menu h thng (System Menu) Thng qua cu lnh t ca s Command Ch chng trnh (Program)Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 10CC KHI NIM C BN (1) C s d liu (Database) Bng d liu (Table) Trng (Field) Bn ghi (Record) Kiu d liu (Data type) Cc php ton T kho (Keywords) v cu lnh (Statement)6Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 11CC KHI NIM C BN (2) C s d liu (Database) Tp hp cc bng c quan h vi nhau v mt d liu *.dbc VD: quanlySV.dbc; danhba.dbc; v.v Bng d liu (Table) i tng chnh ca c s d liu Dng lu tr d liu (d liu, thng tin ca cc i tngm ngi s dng cn lu tr v qun l) Gm nhiu ct (thuc tnh, trng - fields) Cc dng ca bng bn ghi (mu tin - records) *.dbf VD: DSCB.dbf; sach.dbf; v.vWednesday, May 27, 2009 Tin qun l - Visual Foxpro 12CC KHI NIM C BN (3) Bng d liu (Table)TRNG - FIELDBN GHI - RECORDGI TR CA BN GHI7Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 13CC KHI NIM C BN (4) Kiu d liu (Data Type) Kiu s (Numeric - N): max 20 ch s Integer Double Float Kiu k t (Character - C): max 255 k t Kiu ngy (Date - D) Kiu logic (Logical - L):.T. v .F. Kiu ghi nh (Memo - M): >255 k t Kiu hnh nh (Picture P) Kiu tng qut (General G)Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 14CC KHI NIM C BN (5) Cc php ton Php ton s hc8Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 15CC KHI NIM C BN (6) Cc php ton Php ton x l chui (xu) k t Php ghp xu k t (+) Php ghp xu k t (-) Php kim tra xu k t ($)Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 16CC KHI NIM C BN (7) Cc php ton Php ton x l d liu kiu DATE Ngy (-) Ngy Ngy (+, -) s nguyn Lu Khng c php ton Ngy (+) Ngy Mt s nguyn khng (-) d liu kiu Ngy9Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 17CC KHI NIM C BN (8) Cc php ton Php ton quan h: so snh 2 gi tr cng kiuWednesday, May 27, 2009 Tin qun l - Visual Foxpro 18CC KHI NIM C BN (9) Cc php ton Php ton logic10Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 19CC KHI NIM C BN (10) T kho v cu lnh T kho (Keywords): nhng t c sn ca Visual Foxpro. VD: USE, BROWSE, DISPLAY, v.v T kho > 4 k tch cn dng 4 k t u VD: BROWSEBROW; DISPLAYDISP Cu lnh: thc hin mt cng vic no Tp hp cc t kho, tham s c th l 1 hay nhiu k t: !, ?, ??, @BI 2CC K THUT C BN LM VIC VI BNG D LIU11Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 21NI DUNG KHI NIM BNG D LIU KHI TO BNG D LIU TU BIN VI CU TRC CA BNG CC THAO TC TRN D LIUWednesday, May 27, 2009 Tin qun l - Visual Foxpro 22KHI NIM BNG D LIU (TABLE) L G ? Field Record Data12Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 23KHI TO BNG D LIU (1) Xy dng 1 bng d liu gm 2 bc Khai bo cu trc ca bng Nhp d liu vo bngWednesday, May 27, 2009 Tin qun l - Visual Foxpro 24KHI TO BNG D LIU (2) Cu trc ca bng (Structure) Fieldname: Tn trng Type: Kiu d liu cha trong trng Width: rng ca trng Decimal: rng dnh cho phn gi tr s sau duchm thp phn Index Null13Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 25KHI TO BNG D LIU (3)25 Character Nganh20 Character Khoa30 Character Diachi1 Logical Gioitinh8 Date Ngaysinh25 Character Hoten6 Character MasvDecimal Width Type FieldNameWednesday, May 27, 2009 Tin qun l - Visual Foxpro 26KHI TO BNG D LIU (4) C php: CREATE VD: Crea DSCB Hoc FILE NEW - TABLE14Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 27KHI TO BNG D LIU (5)Thm (Insert), Hu(Delete) trngTn bng toBm OK ng cu trc khai boWednesday, May 27, 2009 Tin qun l - Visual Foxpro 28KHI TO BNG D LIU (6)Bm YES chuyn sang buc nhp d liu cho bng15Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 29KHI TO BNG D LIU (7) Mt s lu khi khai bo cu trc ca bng Tn trng khng qu 10 k t bt u phi l k t ch ci khng cha du cch hay cc k t c bit(!,@,#,$,%,&,*,v.v..) khng trng nhau khng trng tn vi cc t kho Trng kiu Numeric c phn thp phn Width = Decimal + 2Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 30KHI TO BNG D LIU (8) C php cu lnh SQL CREATETABLE(FieldName1Type1(Width,[Decimal]), FieldName2Type2(Width,[Decimal]),, FieldNameNTypeN(Width,[Decimal]))VD:Crea tabl DSCB(Macb C(6), Hoten C(25), Ngaysinh D, Gioitinh L, Diachi C(45), Ngayvaolam D, Honnhan L)16Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 31TY BIN VI CU TRC CA BNG HIN TH CU TRC SA I CU TRC SAO CHP CU TRCWednesday, May 27, 2009 Tin qun l - Visual Foxpro 32LU Trc khi thc hin bt k cng vic g vibng, cn kim tra xem bng trng thisn sng lm vic hay cha??(Opened/Closed) gi bng d liu ra lm vic C php: USE VD: Use DSSVThanh trng thi17Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 33LU ng bng d liu ang m C php: USE Kt thc lm vic vi Visual Foxpro C php: QUITWednesday, May 27, 2009 Tin qun l - Visual Foxpro 34TY BIN VI CU TRC CA BNG Hin th cu trc ca bngDISPLAY | LIST STRUCTURE Sa i cu trc ca bngMODIFY STRUCTURE Sao chp cu trcCOPY STRUCTURE18Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 35HIN TH CU TRC C PHPDISPLAYSTRUCTURELISTSTRUCTUREVD: Xem cu trc ca bng DSSVWednesday, May 27, 2009 Tin qun l - Visual Foxpro 36SA I CU TRC C PHPMODIFYSTRUCTUREChn thm, xa bt trngThay i tn, rng ca trngThay i kiu d liuThay i trt t cc trng trong tp d liu19Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 37SAO CHP CU TRC C PHPCOPYSTRUCTURETO VD:Use DSSVCopy Structure To DSSV_NewWednesday, May 27, 2009 Tin qun l - Visual Foxpro 38SAO CHP CU TRC (2) SAO CHP CU TRC & NI DUNG TP D LIUC1: COPYTOVD: Use DSSVCopy To DSSV_NewC2: COPYFILETOVD: Copy File A:\DSSV To E:\Student\DSSV_New20Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 39THAO TC TRN D LIU NH V CON TR BN GHI HIN TH, TRNH BY D LIU THM BN GHI MI CP NHT D LIU HY B, PHC HI D LIU LC D LIUWednesday, May 27, 2009 Tin qun l - Visual Foxpro 40NH V CON TR BN GHI nh v tuyt i C php: GO | [TOP] | [BOTTOM]VD1: Go 3VD2: Go Bottom nh v tng i C php: SKIP (+/-)VD1: Skip -2VD2: Skip +321Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 41THAO TC TRN D LIU NH V CON TR BN GHI HIN TH, TRNH BY D LIU THM BN GHI MI CP NHT D LIU HY B, PHC HI D LIU LC D LIUWednesday, May 27, 2009 Tin qun l - Visual Foxpro 42HIN TH, TRNH BY D LIU Trnh by d liu: DISPLAY LIST ?/?? BROWSEBROWSE [FIELDS ] [NOAPPEND] [NODELETE] [NOEDIT] [TITLE ] [FOR ]BROWSE FIELDS MaSV, Hoten, Ngaysinh NOAPPEND NODELETE NOEDIT TITLE Danh sach sinh vienFOR Lop=QA19B122Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 43THAO TC TRN D LIU NH V CON TR BN GHI HIN TH, TRNH BY D LIU THM BN GHI MI CP NHT D LIU HY B, PHC HI D LIU LC D LIUWednesday, May 27, 2009 Tin qun l - Visual Foxpro 44THM BN GHI MI VO BNG D LIU Thm bn ghi mi C php: APPEND hoc Append BlankVD: Chn thm bn ghi mi Insert Blank [Before]VD:23Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 45THAO TC TRN D LIU NH V CON TR BN GHI HIN TH, TRNH BY D LIU THM BN GHI MI CP NHT D LIU HY B, PHC HI D LIU LC D LIUWednesday, May 27, 2009 Tin qun l - Visual Foxpro 46CP NHTD LIU Cp nht d liu BROWSE APPEND EDIT CHANGE REPLACEVD: 24Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 47Cu lnh REPLACE C phpREPLACE [] < trng 1 > WITH < biu thc 1 > [ ,< trng 2 > WITH < biu thc 2 > ,, < trng n > WITH < biu thc n > ][FOR ]Trong Phm vi : vng cc bn ghi chu tc ng bi cu lnhAll : Tt c cc bn ghiRecord : Bn ghi th numberRest : Ton b cc bn ghi cn li t bn ghi hin thiNext : T bn ghi hin thi n number bn ghi k tipWednesday, May 27, 2009 Tin qun l - Visual Foxpro 48Cu lnh REPLACE (Cont) , ,: Cc trng sc thay i (cp nht) gi tr , < biu thc 2>,< biu thc n>: Gitr c a v cc trng tng ng k trn Biu thc: Hng s, gi tr ca hm, Kiu d liu ca cng kiu d liu ca

For Cc bn ghi tha mn s cthc hin25Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 49Hm IIF() Hm IIF() thng c kt hp vi cc cu lnh khc. VD: REPLACE C phpIIF(Biu thc iu kin, Biu thc 1, Biu thc 2) Hot ng ca hm Nu biu thc iu kin c tha mn (BTK = .T.) th hm s tr v chota biu thc 1, ngc li (BTK = .F.) hm s tr v biu thc 2 Biu thc: hng s, gi tr ca hm khc, trng, VD:Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 50THAO TC TRN D LIU NH V CON TR BN GHI HIN TH, TRNH BY D LIU THM BN GHI MI CP NHT D LIU HY B, PHC HI D LIU LC D LIU26Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 51HY B D LIU nh du cc bn ghi cn xa C1: Bm Ctrl T (nh du cc bn ghi cn xa tica s Browse) C2: Dng cu lnh DELETEC php: DELETE [FOR ] Xa b cc bn ghi c nh du PACK Hy b ton b cc bn ghi trong bng CSDL ZAPWednesday, May 27, 2009 Tin qun l - Visual Foxpro 52PHC HI D LIU Lnh RECALL C php RECALL [For < biu thc iu kin >]27Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 53THAO TC TRN D LIU NH V CON TR BN GHI HIN TH, TRNH BY D LIU THM BN GHI MI CP NHT D LIU HY B, PHC HI D LIU LC D LIUWednesday, May 27, 2009 Tin qun l - Visual Foxpro 54LC D LIU Lnh SET FILTER C php t lc d liuSET FILTER TO Hy b t lc d liuSET FILTER TO28Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 55GII THIU MT S HM N GIN Hm x l gi tr kiu Date Hm x l gi tr kiu Character Hm Logical Hm x l gi tr kiu NumericWednesday, May 27, 2009 Tin qun l - Visual Foxpro 56Hm x l gi tr kiu Date Hm DATE() Tr li gi tr ngy/thng/nm hin ti ca hthng VD:? DATE()03/28/2008 Hm YEAR() Tr li nm ca gi tr kiu Date VD:_ngay = { ^2008/03/28 }? YEAR(_ngay)200829Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 57Hm x l gi tr kiu Date Hm MONTH() Tr li thng ca gi tr kiu Date Hm DAY() Tr li ngy ca gi tr kiu Date VD:_ngay = {^2007/02/23}? Month(_ngay)2? Day(_ngay)23Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 58Hm x l gi tr kiu Date Hm CMONTH() Tr li tn thng ca gi tr kiu Date VD ? CMONTH(DATE()) March30Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 59Hm x l gi tr kiu Date Hm DTOC() Chuyn gi tr kiu Date sang kiu Charater VD:? DTOC(DATE())28/03/2008Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 60GII THIU MT S HM N GIN Hm x l gi tr kiu Date Hm x l gi tr kiu Character Hm Logical Hm x l gi tr kiu Numeric31Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 61Hm x l gi tr kiu CHARACTER Hm LEFT() C php: LEFT(Chui k t,S k t ly) Ly ra S k t t bn tri ca Chui k t VD:? LEFT(Thng Long,5)Thng Hm RIGHT() C php: RIGHT(Chui k t,S k t ly) Ly ra S k t t bn phi ca Chui k t VD:? RIGHT(Thng Long,4)LongWednesday, May 27, 2009 Tin qun l - Visual Foxpro 62Hm x l gi tr kiu CHARACTER Hm SUBSTR() C php: SUBSTR(Chui k t, S 1, S 2) Trch t Chui k t mt chui con c S 2k t v bt u t k t S 1 VD:? SUBSTR(Thng Long,2,4)hng32Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 63Hm x l gi tr kiu CHARACTER Hm STR(Gi tr kiu s) Chuyn gi tr kiu s thnh gi tr kiu k t VD:? STR(2008)2008 Hm VAL(Gi tr kiu k t) Chuyn gi tr kiu k t thnh gi tr kiu s VD:? VAL(2008)2008Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 64Hm x l gi tr kiu CHARACTER Hm ALLTRIM() C php: ALLTRIM(Chui k t) Ct b nhng khong trng (du cch) tn ti haiu ca Chui k t VD:? ALLTRIM( Thng Long )Thng Long33Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 65Hm x l gi tr kiu CHARACTER Hm UPPER() v Hm LOWER() C php: UPPER(Chui k t) LOWER(Chui k t) Chuyn chui k t t dng k t thngsang k t hoa (Upper) hay ngc li(lower) VD: ? UPPER(thng long)THNG LONG ? LOWER(THNG LONG)thng longWednesday, May 27, 2009 Tin qun l - Visual Foxpro 66Hm x l gi tr kiu CHARACTER Hm CTOD() C php: CTOD(Chui k t dang DATE) Chuyn chui k t dng ngy/thng/nmt kiu k t sang kiu DATE VD: _ngay = 28/03/2008 ? CTOD(_ngay)28/03/200834Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 67GII THIU MT S HM N GIN Hm x l gi tr kiu Date Hm x l gi tr kiu Character Hm Logical Hm x l gi tr kiu NumericWednesday, May 27, 2009 Tin qun l - Visual Foxpro 68Hm tr v gi tr Logical Kt qu ca hm l cc gi tr .T. hoc .F. Hm FOUND()Thng dng kim tra kt qu ca cu lnh tmkim LOCATE .T. : Cu lnh LOCATE tm thy bn ghi thamn iu kin .F. : Cu lnh LOCATE khng tm thy bn ghitha mn iu kin35Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 69Hm tr v gi tr Logical Hm EOF() .F. : Con tr bn ghi vn cha vt qua bnghi cui cng ca tp .T. : Con tr bn ghi vt qua bn ghi cuicng ca tp Hm BOF() .F. : Con tr bn ghi vn cha vt qua bnghi u tin ca tp .T. : Con tr bn ghi vt qua bn ghi utin ca tpWednesday, May 27, 2009 Tin qun l - Visual Foxpro 70GII THIU MT S HM N GIN Hm x l gi tr kiu Date Hm x l gi tr kiu Character Hm Logical Hm x l gi tr kiu Numeric36Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 71Hm x l gi tr kiu NUMERIC Hm INT() C php: INT(Number) Tr v gi tr phn nguyn ca Number VD:? INT(3.12345)3 Hm SQRT() C php: SQRT(Number) Tr v gi tr cn bc 2 ca Number VD:? SQRT(9)3Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 72Hm x l gi tr kiu NUMERIC Hm ROUND() C php: ROUND(Number1, Number2) Tr v gi tr Number1 c lm trn nNumber2 s sau du chm thp phn VD:? ROUND(3.12345, 2)3.1237Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 73Hm x l gi tr kiu NUMERIC Hm MOD() C php MOD(Number1, Number2,) Tr v phn d ca php chia Number1 choNumber2 VD ? MOD(8,3)2Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 74Hm x l gi tr kiu NUMERIC Hm MAX() v Hm MIN() C php MAX(Number1, Number2,, NumberN) MIN(Number1, Number2,, NumberN) Tr v gi tr ln nht (max), nh nht (min) trong danh sch cc tham s Number1,,NumberN c th l Hng s Bin38Wednesday, May 27, 2009 Tin qun l - Visual Foxpro 75Hm x l gi tr kiu NUMERIC Hm AVG() C php AVG(Number1, Number2,, NumberN) Tr v gi tr trung bnh trong danh sch cctham s Number1,,NumberN c th l Hng s Bin