Giáo trình Foxpro (lý thuyết)

Chia sẻ: Nhan Nguyen | Ngày: | Loại File: PDF | Số trang:25

0
291
lượt xem
176
download

Giáo trình Foxpro (lý thuyết)

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ
Lưu

Nội dung Text: Giáo trình Foxpro (lý thuyết)

  1. Bµi 1: T¹o tÖp CSDL 1. Khëi ®éng vµ tho¸t: a. Khëi ®éng: - Khëi ®éng: KÝch ®óp chuét vµo biÓu t-îng foxpro trªn mµn h×nh nÒn. - Foxpro cã hai chÕ ®é lµm viÖc lµ chÕ ®é héi tho¹i vµ chÕ ®é lËp tr×nh: + ChÕ ®é héi tho¹i: Lµ chÕ ®é th«ng dÞch, mçi khi ta ra lÖnh trong cöa sæ lÖnh (cöa sæ Command) th× Foxpro dÞch vµ thi hµnh lÖnh ngay lËp tøc. + ChÕ ®é lËp tr×nh: Lµ chÕ ®é biªn dÞch, c¸c c©u lÖnh cña Foxpro ®-îc viÕt trong mét tÖp gäi lµ tÖp ch-¬ng tr×nh cã phÇn më réng lµ *.prg. C¸c c©u lÖnh cã mèi quan hÖ víi nhau t¹o thµnh mét ch-¬ng tr×nh hoµn thiÖn. Khi thùc hiÖn ch-¬ng tr×nh, Foxpro sÏ lÇn l-ît dÞch vµ thi hµnh tÊt c¶ c¸c c©u lÖnh ®ã. b. Tho¸t: - C1: Tõ cöa sæ Command gâ lÖnh: Quit - C2: BÊm F10/ chän môc File/ Quit. 2. C¸c kiÓu d÷ liÖu c¬ b¶n vµ c¸c phÐp to¸n: a. KiÓu ký tù Character (C): - Bao gåm chuçi c¸c ký tù trong b¶ng m· chuÈn ASCII, cã ®é dµi tèi ®a lµ 254 ký tù. - C¸c phÐp to¸n: +, - b. KiÓu sè Numberic (N): - Chøa c¸c sè cã ®é dµi tèi ®a 20 ký tù, bao gåm c¶ dÊu chÊm ng¨n c¸ch phÇn thËp ph©n. - PhÐp to¸n: +, -, *, /, ^ c. KiÓu sè Float (F): - Chøa c¸c sè ®-îc biÓu diÔn theo d¹ng to¸n häc. - VÝ dô: Sè 1685.54 viÕt lµ 1.68554E+3 tøc lµ 1.68554*103. - PhÐp to¸n: +, -, *, /, ^ d. KiÓu Logic (L): - ChØ bao gåm hai gi¸ trÞ lµ TRUE (.T.) hoÆc FALSE (.F.) - PhÐp to¸n: AND, OR, NOT - B¶ng ch©n lý vÒ gi¸ trÞ c¸c phÐp to¸n:
  2. A B A and B A or B not A True True True True False True False False True False False True False True True False False False False True e. KiÓu ký øc Memo (M): - Chøa c¸c ®o¹n v¨n b¶n lín. f. KiÓu General (G): - Chøa c¸c lo¹i d÷ liÖu ®Æc biÖt nh- h×nh ¶nh, ©m thanh... 3. T¹o tÖp CSDL: a. Kh¸i niÖm vÒ CSDL trong Foxpro2.6: - CSDL lµ mét b¶ng gåm c¸c dßng vµ c¸c cét: + C¸c cét t¹o thµnh cÊu tróc CSDL gäi lµ c¸c tr-êng (Field), trªn mçi tr-êng x¸c ®Þnh duy nhÊt mét kiÓu d÷ liÖu. + C¸c dßng l-u tr÷ d÷ liÖu gäi lµ c¸c b¶n ghi (Record), mçi b¶n ghi l-u tr÷ mét hå s¬. b. LÖnh t¹o tÖp CSDL: - Có ph¸p: CREATE [] CREATE TABLE Tr-êng1 KiÓu(§é_réng)[, Tr-êng2 KiÓu(§é_réng)...] - Gi¶i thÝch: + Hai lÖnh trªn sÏ t¹o ra tÖp CSDL cã phÇn më réng lµ *.DBF. + NÕu dïng có ph¸p thø nhÊt th× sau khi ra lÖnh sÏ xuÊt hiÖn mµn h×nh thiÕt kÕ cÊu tróc CSDL bao gåm: * Field: Tªn tr-êng. Cã ®é dµi tèi ®a 10 ký tù chØ bao gåm c¸c ch÷ c¸i tõ A ®Õn Z, c¸c ch÷ sè vµ dÊu g¹ch nèi d-íi _ * Type: KiÓu d÷ liÖu cña tr-êng, ®Ó x¸c ®Þnh kiÓu ta chØ cÇn bÊm ch÷ c¸i ®Çu tiªn cña tªn kiÓu. * Width: §é réng cho phÐp cña tr-êng, tÝnh c¶ dÊu chÊm ng¨n c¸ch phÇn thËp ph©n nÕu lµ kiÓu sè. * Dec: Sè ch÷ sè sau phÇn thËp ph©n, chØ ¸p dông ®èi víi kiÓu sè.
  3. Khi thiÕt kÕ xong tÖp CSDL, ta bÊm Ctrl+W ®Ó ghi l¹i cÊu tróc vµ tho¸t khái mµn h×nh thiÕt kÕ. Foxpro sÏ hái: Input data records now? – cã nhËp d÷ liÖu cho c¸c b¶n ghi b©y giê kh«ng? NÕu chän Yes th× sÏ xuÊt hiÖn mµn h×nh nhËp d÷ liÖu liÖu cho tÖp võa t¹o. NhËp d÷ liÖu xong ta l¹i bÊm Ctrl+W ®Ó l-u l¹i d÷ liÖu vµ trá vÒ cöa sæ Command. TÖp sau khi t¹o xong sÏ ë tr¹ng th¸i më. + NÕu dïng có ph¸p th- hai th× sÏ kh«ng xuÊt hiÖn mµn h×nh thiÕt kÕ mµ Foxpro sÏ tù thiÕt kÕt tÖp CSDL theo cÊu tróc ®· chØ ®Þnh. 4. Më - ®ãng tÖp CSDL: - Khi muèn lµm viÖc víi bÊt kú tÖp CSDL nµo, ta ®Òu ph¶i ra lÖnh më tÖp ®ã. - Më tÖp CSDL: USE - §ãng tÖp CSDL: USE CLOSE DATABASE CLOSE ALL - Chó ý: T¹i mét thêi ®iÓm Foxpro chØ lµm viÖc ®-îc víi mét tÖp CSDL, khi më mét tÖp míi th× tÖp cò sÏ bÞ ®ãng. 5. Bæ sung c¸c b¶n ghi vµo tÖp CSDL: - Có ph¸p: APPEND [BLANK] - Gi¶i thÝch: + LÖnh trªn sÏ bæ sung c¸c b¶n ghi vµo cuèi tÖp CSDL ®ang më. + NÕu trong c©u lÖnh cã thµnh phÇn BLANK th× sÏ bæ sung mét b¶n ghi tr¾ng vµo tÖp CSDL. Khi ®ã sÏ kh«ng xuÊt hiÖn mµn h×nh nhËp d÷ liÖu. Bµi 2: NhËp vµ söa néi dung b¶n ghi 1. Con trá b¶n ghi vµ dÞch chuyÓn con trá b¶n ghi: + GO : ChuyÓn tíi b¶n ghi thø n. + GO TOP: ChuyÓn tíi b¶n ghi ®Çu tiªn. + GO BOTTOM: ChuyÓn tíi b¶n ghi cuèi cïng. + SKIP: DÞch chuyÓn theo chiÒu tiÕn mét b¶n ghi. + SKIP : DÞch chuyÓn n b¶n ghi. NÕu n>0: dÞch chuyÓn theo chiÒu tiÕn, nÕu n
  4. 2. Ph¹m vi thùc hiÖn lÖnh: - NhiÒu lÖnh cña Foxpro dïng kÌm víi nh- c¸c lÖnh Display, List, Browse... Ph¹m vi dïng ®Ó x¸c ®Þnh sè b¶n ghi mµ lÖnh t¸c ®éng ®Õn. - Cã bèn d¹ng ph¹m vi: + ALL: Lµm viÖc víi tÊt c¶ c¸c b¶n ghi. + RECORD : Lµm viÖc víi b¶n ghi thø . + NEXT : Lµm viÖc víi n b¶n ghi kªt tõ b¶n ghi hiÖn hµnh. + REST : Lµm viÖc víi c¸c b¶n ghi kÓ tõ b¶n ghi hiÖn hµnh tíi b¶n ghi cuèi cïng. 3. Bæ sung b¶n ghi cho tÖp CSDL: - Có ph¸p: APPEND [BLANK] APPEND FROM [FOR ] 4. ChÌn b¶n ghi vµo tÖp CSDL: - Có ph¸p: INSERT [BLANK] [BEFORE] INSERT FORM [FOR ] 5. Xem cÊu tróc tÖp CSDL: - Có ph¸p: LIST STRUCTURE DISPLAY STRUCTURE 6. Xem néi dung tÖp CSDL: - Có ph¸p: LIST [] [FIELDS ] [FOR ] [WHILE ] [OFF] [TO PRINTTO FILE ] 7. Xem, söa, thªm c¸c b¶n ghi: - Có ph¸p: BROWSE [FIELDS ] [FOR ] [TITLE ] [WIDTH ] [LPARTITION] [PARTITION ] [NOLINK] [LEDIT] [REDIT] [LOCK ]
  5. [FREEZE ] [NOEDITNOMODIFY] [NOAPPEND] [NODELETE] + §Ó bæ sung mét b¶n ghi vµo cuèi tÖp CSDL ta bÊm Ctrl+N. + §Ó ®¸nh dÊu xo¸ b¶n ghi ta bÊm Ctrl+T. + FILEDS : ChØ hiÓn thÞ nh÷ng tr-êng cã trong danh s¸ch. + FOR : ChØ lµm viÖc víi c¸c b¶n ghi tho¶ m·n . +TITLE : Dïng lµm tiªu ®Ò cña cöa sæ Browse thay cho tiªu ®Ò ngÇm ®Þnh lµ tªn tÖp CSDL. + WIDTH : PhÇn nµy quy ®Þnh chiÒu réng tèi ®a ®Ó hiÓn thÞ mét tr-êng trªn mµn h×nh lµ . NÕu kh«ng cã thµnh phÇn nµy th× ®é réng dµnh cho c¸c tr-êng chÝnh lµ ®é réng cña kiÓu d÷ liÖu cña tr-êng ®ã. VÝ dô WIDTH 10 th× trong cöa sæ tr×nh duyÖt sÏ dµnh cho c¸c tr-êng tèi ®a lµ 10 ký tù. + PARTITION : Theo mÆc ®Þnh cöa sæ Browse chiÕm toµn mµn h×nh (phãng to thu nhá cöa sæ b»ng c¸ch bÊm Ctrl+F10). Tõ kho¸ trªn sÏ ph©n mµn h×nh thµnh 2 phÇn theo chiÒu däc. PhÇn bªn tr¸i gåm cét, phÇn bªn ph¶i lµ sè cét cßn l¹i cña mµn h×nh (mµn h×nh cã 80 cét vµ 24 dßng). B×nh th-êng con trá sÏ n»m ë phÇn bªn ph¶i. Di chuyÓn con trá (vÖt s¸ng) gi÷a hai phÇn b»ng c¸ch bÊm Ctrl+H. Theo ngÇm ®Þnh, khi vÖt s¸ng ë mét phÇn di chuyÓn th× vÖt s¸ng ë phÇn kia còng di chuyÓn theo. Ta cã thÓ bá chÕ ®é liªn kÕt nµy b»ng tõ kho¸ NOLINK (hoÆc bÊm Ctrl+B råi chän Unlink Partition). + LPARTITION: Tõ kho¸ nµy quy ®Þnh con trá mµn h×nh ë khu vùc tr¸i ngay sau khi khëi ®éng lÖnh Browse víi tõ kho¸ PARTITION. + LEDIT vµ REDIT: Khi dïng PARTITION, trong c¶ hai phÇn cña cöa sæ BROWSE ®Òu hiÖn theo d¹ng Browse (d¹ng hµng ngang), ta cã thÓ cho hiÖn theo d¹ng Change (d¹ng hµng däc). NÕu muèn phÇn bªn tr¸i hiÖn d¹ng Change th× dïng tõ kho¸ LEDIT, nÕu muèn phÇn bªn ph¶i hiÖn d¹ng Change th× dïng tõ kho¸ REDIT (hoÆc bÊm Ctrl+B råi chän Change). + LOCK : Tõ kho¸ nµy dïng ®Ó cè ®Þnh tr-êng liªn tôc bªn tr¸i, chóng sÏ kh«ng bÞ tr«i khi cuén mµn h×nh theo chiÒu ngang. NÕu muèn cè ®Þnh c¸c tr-êng kh«ng liªn tôc th× ph¶i ®i kÌm víi FIELDS . + FREEZE : ChØ cho phÐp söa ®æi vµ di chuyÓn trong mét tr-êng ®· chØ ®Þnh. + NOEDIT hay NOMODIFY: Kh«ng cho phÐp chØnh söa d÷ liÖu. + NOAPPEND: Kh«ng cho phÐp bæ sung b¶n ghi vµo CSDL (b»ng c¸ch bÊm Ctrl+N). + NODELETE: Kh«ng cho phÐp ®¸nh dÊu xo¸ c¸c b¶n ghi (b»ng c¸ch bÊm Ctrl+T) Bµi 3: Qu¶n lý cÊu tróc tÖp vµ b¶n ghi
  6. 1. Söa cÊu tróc tÖp CSDL: - Có ph¸p: Modify Structure + LÖnh trªn dïng ®Ó söa cÊu tróc tÖp CSDL ®ang ®-îc më. + Khi dïng lÖnh nµy, cöa sæ thiÕt kÕt cÊu tróc CSDL ®-îc më, ta cã thÓ thªm tr-êng, thay ®æi tªn, thay ®æi kiÓu d÷ liÖu cña c¸c tr-êng. + NÕu tÖp CSDL cã c¸c tr-êng Memo th× tÖp cò l-u tr-êng Memo lµ *.FPT sÏ ®æi thµnh *.TBK. + Khi söa xong bÊm Ctrl+W ®Ó ghi l¹i (m¸y sÏ hái “Make structure changes permanent” ta chän YES) hoÆc bÊm ESC ®Ó huû bá viÖc söa ®æi. - Chó ý: + NÕu kiÓu d÷ liÖu cña mét tr-êng sau khi ta thay ®æi mµ phï hîp víi d÷ liÖu cña tÖp cò th× d÷ liÖu cña tÖp cò chuyÓn sang tÖp míi. NÕu kh«ng phï hîp sÏ bÞ xo¸ bá (VÝ dô: KiÓu Number söa thµnh kiÒu Character lµ phï hîp nh-ng kiÓu Character ®æi thµnh kiÓu Number sÏ kh«ng phï hîp). + NÕu ta thay ®æi tªn tr-êng vµ kiÓu tr-êng hoÆc tªn tr-êng vµ ®é réng cña tr-êng th× Foxpro coi ®©y lµ mét tr-êng míi vµ sÏ huû bá hÕt d÷ liÖu cña tr-êng nµy. Trong tr-êng hîp nµy ta ph¶i tiÕn hµnh hai lÇn söa cÊu tróc: lÇn thø nhÊt söa mäi thay ®æi cña tr-êng nh-ng kh«ng söa tªn tr-êng råi ghi l¹i, lÇn thø hai chØ söa tªn tr-êng. + V× viÖc söa ®æi cÊu tróc tÖp dÔ gÆp rñi ro nªn tr-íc khi söa ®æi ta nªn sao l¹i mét b¶n ®Ó l-u tr÷, nÕu cã g× trôc trÆc ta vÉn cßn b¶n cò. 2. Sao chÐp cÊu tróc tÖp CSDL: - Có ph¸p: COPY STRUCTURE TO [FIELDS ] + LÖnh nµy sao chÐp cÊu tróc tÖp CSDL ®ang më sang mét tÖp míi lµ + TÖp míi t¹o thµnh chØ cã cÊu tróc, ch-a cã néi dung b¶n ghi. + NÕu cã thµnh phÇn FIELDS th× chØ nh÷ng tr-êng n»m trong danh s¸ch míi ®-îc sao chÐp, tøc lµ tÖp míi t¹o thµnh chØ bao gåm c¸c tr-êng cã trong danh s¸ch. 3. Sao l-u cÊu tróc: - Có ph¸p: COPY STRUCTURE EXTENDED TO [FIELDS ] + LÖnh nµy sÏ sao chÐp cÊu tróc cña tÖp CSDL ®ang më thµnh c¸c b¶n ghi cña . TÖp CSDL míi t¹o thµnh nµy cã bèn tr-êng cè ®Þnh: * FIELD_NAME C(10): Ghi tªn c¸c tr-êng cña tÖp CSDL cÇn l-u.
  7. * FIELD_TYPE C(1): Ghi kiÓu cña tr-êng. * FIELD_LEN N(3,0): Ghi ®é réng cña tr-êng. * FILED_DEC N(3,0): Ghi sè ch÷ sè sau phÇn thËp ph©n cña tr-êng sè. + NÕu cã thµnh phÇn FIELDS th× chØ nh÷ng tr-êng n»m trong danh s¸ch cña tÖp CSDL ®ang më míi ®-îc sao. - Chó ý: Sau khi l-u cÊu tróc cña tÖp ®ang më sang , ta cã thÓ t¹o mét tÖp CSDL míi cã cÊu tróc t-¬ng øng víi c¸c b¶n ghi cña b»ng lÖnh: CREATE FROM 4. Sao chÐp cÊu tróc vµ b¶n ghi: - Có ph¸p: COPY TO [FIELDS ] [] [FOR ] [WHILE ] + LÖnh trªn sÏ sao chÐp cÊu tróc cïng b¶n ghi cña tÖp CSDL ®ang më sang tÖp CSDL míi lµ . + NÕu cã thµnh phÇn FIELDS th× chØ nh÷ng tr-êng n»m trong danh s¸ch míi ®-îc sao chÐp. + NÕu cã th× chØ nh÷ng b¶n ghi n»m trong míi ®-îc sao chÐp. + NÕu cã FOR th× chØ nh÷ng b¶n ghi tho¶ m·n míi ®-îc sao chÐp. + NÕu cã WHILE th× c«ng viÖc sao chÐp chØ diÔn ra chõng nµo cßn ®óng. Khi nhËn gi¸ trÞ sai th× viÖc sao chÐp sÏ dõng. 5. Xo¸ b¶n ghi: a. §¸nh dÊu xo¸ b¶n ghi: - §Ó xo¸ b¶n ghi khái tÖp CSDL tr-íc hÕt ta ph¶i ®¸nh dÊu xo¸ b¶n ghi ®ã. - Có ph¸p: DELETE [] [FOR ] [WHILE ] + LÖnh trªn sÏ ®¸nh dÊu xo¸ c¸c b¶n ghi. NÕu kh«ng cã c¸c thµnh phÇn tïy chän th× sÏ ®¸nh dÊu xo¸ tÊt c¶ c¸c b¶n ghi. + NÕu cã th× chØ ®¸nh dÊu xo¸ nh÷ng b¶n ghi n»m trong . + NÕu cã FOR th× chØ ®¸nh dÊu xo¸ nh÷ng b¶n ghi tho¶ m·n . + NÕu cã WHILE th× sÏ ®¸nh dÊu xo¸ nh÷ng b¶n ghi ®Õn khi nhËn gi¸ trÞ sai. b. Kh«i phôc ®¸nh dÊu xo¸: - Có ph¸p:
  8. RECALL [] [FOR ] [WHILE ] + LÖnh trªn sÏ kh«i phôc l¹i c¸c b¶n ghi ®· bÞ ®¸nh dÊu xo¸. + NÕu cã FOR th× chØ kh«i phôc c¸c b¶n ghi tho¶ m·n . + NÕu cã WHILE th× viÖc kh«i phôc chØ x¶y ra chõng nµo cßn ®óng. c. Xo¸ b¶n ghi khái tÖp CSDL: - Có ph¸p: PACK + LÖnh trªn sÏ xo¸ tÊt c¶ c¸c b¶n ghi ®· bÞ ®¸nh dÊu xo¸. d. Xo¸ tÊt c¶ c¸c b¶n ghi khái tÖp CSDL: - Có ph¸p: ZAP + LÖnh trªn sÏ xo¸ tÊt c¶ c¸c b¶n ghi cña tÖp CSDL hiÖn hµnh mµ kh«ng cÇn ®¸nh dÊu xo¸, t-¬ng ®-¬ng víi c¸c c©u lÖnh: Delete All Pack e. C¸c lÖnh vµ c¸c hµm liªn quan: - LÖnh SET DELETE ON/OFF: §Æt chÕ ®é xö lý c¸c b¶n ghi bÞ ®¸nh dÊu xo¸. Ta cã thÓ t¹m thêi che c¸c b¶n ghi bÞ ®¸nh dÊu xo¸ b»ng lÖnh SET DELETE ON, khi ®ã c¸c b¶n ghi ®· bÞ ®¸nh dÊu xo¸ sÏ t¹m thêi bÞ che ®i coi nh- kh«ng tån t¹i. NÕu ta dïng c¸c lÖnh DISPLAY, LIST th× c¸c b¶n ghi ®ã sÏ kh«ng ®-îc hiÖn lªn. - Hµm Delete(): Tr¶ vÒ kÕt qu¶ gi¸ trÞ Logic, cho biÕn b¶n ghi hiÖn hµnh cã bÞ ®¸nh dÊu xo¸ (TRUE) hay kh«ng (FALSE). Bµi 4: Qu¶n lý c¸c tÖp 1. LÖnh DIR: - Có ph¸p: DIR + LÖnh trªn dïng ®Ó liÖt kª c¸c tÖp CSDL trong th- môc hiÖn hµnh. + Trong cã thÓ dïng c¸c ký tù ®¹i diÖn: * DÊu * ®¹i diÖn cho mét nhãm ký tù. * DÊu ? ®¹i diÖn cho mét ký tù. + NÕu chØ dïng lÖnh DIR th× Foxpro liÖt kª tÊt c¶ c¸c tÖp CSDL trong th- môc hiÖn hµnh. 2. LÖnh DISPLAY FILES: - Có ph¸p:
  9. DISPLAY FILES [ON ] [LIKE ] [TO PRINTER] + LÖnh trªn cho hiÓn thÞ c¸c tÖp. + NÕu cã ON th× sÏ hiÓn thÞ c¸c tÖp ë th- môc chØ ra trong . + NÕu cã LIKE th× sÏ hiÓn thÞ c¸c tÖp theo nhãm chØ ®Þnh. + Muèn in kÕt qu¶ ra m¸y in, ta thªm thµnh phÇn TO PRINTER. 3. LÖnh DELETE: - Có ph¸p: DELETE FILE ERASE + Hai lÖnh trªn cã t¸c dông xo¸ khái ®Üa. + Cã thÓ dïng c¸c ký tù ®¹i diÖn nh- dÊu * ? 4. LÖnh COPY FILE: - Có ph¸p: COPY FILE TO + LÖnh trªn sÏ sao chÐp thµnh mét tÖp n÷a cã tªn lµ . + ph¶i ë tr¹ng th¸i ®ãng. 5. LÖnh RENAME: - Có ph¸p: RENAME TO + LÖnh trªn sÏ ®æi tªn cña tÖp cã tªn lµ thµnh . + TÖp cÇn ®æi tªn ph¶i ë tr¹ng th¸i ®ãng. 6. LÖnh TYPE: - Có ph¸p: TYPE [TO PRINTERTO FILE ] + LÖnh trªn dïng ®Ó xem néi dung cña tÖp v¨n b¶n nh- c¸c tÖp *.txt, *.prg, *.pas + NÕu cã TO PRINTER th× néi dung tÖp sÏ ®-îc ®-a ra m¸y in. + NÕu cã TO FILE th× néi dung cña sÏ ®-îc sao chÐp sang tÖp míi lµ . 7. LÖnh RUN: - Có ph¸p:
  10. RUN ! + Hai lÖnh trªn dïng ®Ó thùc hiÖn mét lÖnh bÊt kú cña MS-DOS. 8. LÖnh SET DEFAULT TO: - Có ph¸p: SET DEFAULT TO + LÖnh trªn ®Æt th- môc lµm viÖc míi ®-îc chØ ra trong 9. C¸c hµm lµm viÖc víi CSDL: BOF(): Cho gi¸ trÞ .T. nÕu ta ra lÖnh chuyÓn con trá b¶n ghi lªn trªn b¶n ghi ®Çu tiªn. EOF(): Cho gi¸ trÞ .T. nÕu con trá b¶n ghi ®· ®Æt ë cuèi tÖp (b¶n ghi cuèi cïng cña tÖp ch- ph¶i lµ cuèi tÖp, b¶n ghi ë cuèi tÖp dïng ®Ó l-u th«ng tin vÓ tæng sè b¶n ghi cña tÖp). RECNO(): Cho sè thø tù cña b¶n ghi hiÖn hµnh. NÕu con trá ®· ë cuèi tÖp th× hµm sÏ cho tæng sè b¶n ghi céng 1. RECCOUNT(): Cho tæng sè b¶n ghi cña tÖp CSDL. FCOUNT(): Cho sè tr-êng cña tÖp CSDL ®ang më. FIELD(n): Cho biÕt tªn cña tr-êng thø n (d-íi d¹ng ch÷ hoa) trong tÖp CSDL ®ang më. FSIZE(‘Tªn_tr-êng’): Cho ®é réng cña ‘Tªn_tr-êng’ trong tÖp CSDL. DBF(): Cho biÕt tªn cïng c¶ ®-êng dÉn cña tÖp CSDL ®ang më. FILE(‘§-êng_dÉn\Tªn_tÖp’): Cho gi¸ trÞ .T. nÕu ‘Tªn_tÖp’ ®-îc chØ ra ®· cã trªn ®Üa. Bµi 5: T×m kiÕm tuÇn tù - S¾p xÕp vËt lý trªn CSDL 1. T×m kiÕm tuÇn tù: - Có ph¸p: LOCATE FOR [] + LÖnh trªn sÏ t×m kiÕm c¸c b¶n ghi trªn toµn tÖp tho¶ m·n b¾t ®Çu tõ b¶n ghi ®Çu tiªn. + NÕu t×m thÊy, hµm Found() cho gi¸ trÞ .T. hµm Recno() cho biÕt sè hiÖu b¶n ghi cña b¶n ghi võa t×m ®-îc, Foxpro sÏ ®Þnh vÞ con trá vµo b¶n ghi t×m ®-îc. + NÕu kh«ng t×m thÊy, hµm Found() chi gi¸ trÞ .F. hµm Eof() cho gi¸ trÞ .T. tøc lµ con trá b¶n ghi ®· ë cuèi tÖp. + Trong tr-êng hîp t×m thÊy, ®Ó t×m tiÕp ta thùc hiÖn lÖnh: CONTINUE
  11. Cho tíi khi mµn h×nh th«ng b¸o “End of Locate Scope”, lóc nµy hµm Eof() cã gi¸ trÞ .T. hµm Found() cã gi¸ trÞ .F. 2. S¾p xÕp vËt lý trªn CSDL: - Tr-íc khi s¾p xÕp d÷ liÖu, ph¶i x¸c ®Þnh s¾p xÕp theo tr-êng nµo, theo thø tù t¨ng dÇn hay gi¶m dÇn, tr-êng nµo -u tiªn s¾p xÕp tr-íc, cã ph©n biÖt ch÷ hoa hay ch÷ th-êng kh«ng. - C¸c chØ tiªu ph©n lo¹i trong khi s¾p xÕp: /A (viÕt t¾t cña Ascending): s¾p xÕp theo thø tù t¨ng dÇn. /D (viÕt t¾t cña Descending): s¾p xÕp theo thø tù gi¶m dÇn. /C: kh«ng ph©n biÖt ch÷ hoa hay ch÷ th-êng. Theo ngÇm ®Þnh, Foxpro s¾p xÕp theo chiÒu t¨ng dÇn vµ cã ph©n biÖt ch÷ hoa hay ch÷ th-êng. - Có ph¸p: SORT TO ON [/A/D][/C] [, [/A/D][/C]...] [] [FOR ][WHILE ] [FIELDS ] - Gi¶i thÝch: + LÖnh SORT s¾p xÕp c¸c b¶n ghi cña tÖp ®ang më theo c¸c tr-êng ®-îc chØ ®Þnh sau ON vµ ghi ra tÖp , c¸c tr-êng ë ®Çu -u tiªn xÕp tr-íc. + NÕu cã th× chØ nh÷ng b¶n ghi n»m trong míi ®-îc s¾p xÕp sang . NÕu kh«ng cã th× s¾p xÕp tÊt c¶ c¸c b¶n ghi. + NÕu cã FIELDS th× chØ nh÷ng tr-êng n»m trong danh s¸ch míi ®-îc s¾p xÕp sang . + Thµnh phÇn FOR dïng ®Ó giíi h¹n c¸c b¶n ghi, chØ nh÷ng b¶n ghi tho¶ m·n míi ®-îc s¾p xÕp sang . + NÕu cã thµnh phÇn WHILE th× c«ng viÖc s¾p xÕp ®-îc tiÕn hµnh chõng nµo cßn ®óng. 3. LÖnh thay thÕ tr-êng: - Có ph¸p: REPLACE WIDTH [, WIDTH ...] [] [FOR ] [WHILE ] - Gi¶i thÝch: + LÖnh trªn thay thÕ bëi , bëi ... cña c¸c b¶n ghi thuéc . NÕu kh«ng cã
  12. + NÕu cã FOR th× chØ thay thÕ c¸c b¶n ghi trong vµ tho¶ m·n . + NÕu cã WHILE th× c«ng viÖc thay thÕ c¸c b¶n ghi trªn tr-êng ®-îc chØ ®Þnh diÔn ra chõng nµo cßn ®óng. Bµi 6: S¾p xÕp theo tÖp chØ sè 1. Kh¸i niÖm: - Khi nhËp d÷ liÖu b»ng c¸c lÖnh Append, Browse, c¸c b¶n ghi míi ®-îc nèi vµo cuèi tÖp vµ ®-îc s¾p xÕp cè ®Þnh theo mét thø tù vËt lý, ®-îc ®Æc tr-ng bëi sè hiÖu b¶n ghi. C¸c b¶n ghi khi ®· l-u vµo tÖp th× kh«ng thÓ lµm ®¶o lén chóng, v× thÕ muèn s¾p xÕp chóng ta ph¶i sao chÐp chóng sang mét tÖp kh¸c theo mét trËt tù míi b»ng lÖnh SORT. - Khi s¾p xÕp vËt lý b»ng lÖnh SORT cã nhiÒu nh-îc ®iÓm nh-: Qu¸ tr×nh s¾p xÕp diÔn ra rÊt l©u nÕu sè l-îng b¶n ghi lín, khi bæ sung thªm b¶n ghi míi th× trËt tù s¾p xÕp cã thÓ kh«ng cßn ®óng n÷a v× b¶n ghi míi bæ sung lu«n n»m cuèi tÖp. - Foxpro cho phÐp s¾p xÕp theo Logic b»ng c¸ch t¹o mét tÖp trung gian cã kÝch th-íc rÊt nhá gäi lµ tÖp chØ sè. øng víi mçi tÖp CSDl ta cã thÓ t¹o nhiÒu tÖp chØ sè t-¬ng øng víi nhiÒu -u tiªn s¾p xÕp kh¸c nhau. ViÖc chuyÓn tõ thø tù -u tiªn nµy sang thø tù -u tiªn kh¸c rÊt thuËn tiÖn. - TÖp chØ sè ®-îc t¹o ra chØ gåm c¸c tr-êng -u tiªn s¾p xÕp vµ mét tr-êng chøa sè hiÖu b¶n ghi nªn tÖp cã dung l-îng rÊt nhá, tÖp chØ sè cã quan hÖ t-¬ng øng víi tÖp CSDL nhê sè hiÖu b¶n ghi. - Víi tÖp chØ sè ta cã thÓ t×m kiÕm dÔ dµng vµ nhanh h¬n t×m kiÕm tuÇn tù trªn tÖp CSDL. Khi thù hiÖn mét lÖnh t×m kiÕm, tr-íc hÕt Foxpro sÏ dß t×m trªn tÖp chØ sè, nÕu t×m thÊy b¶n ghi tho¶ m·n ®iÒu kiÖn t×m kiÕm th× sÏ chiÕu sang tÖp CSDl ®Ó lÊy d÷ liÖu ®Çy ®ñ cña b¶n ghi ®ã th«ng qua sè hiÖu b¶n ghi. VÝ dô: gi¶ sö tÖp hsns.dbf gåm c¸c b¶n ghi: Record # HODEM TEN KHOA 1 Nguyen Van Thanh Kinh te 2 Le Thi Linh Ke toan 3 Le Van Xuan Marketing 4 Tran Van Hanh Du lich NÕu s¾p xÕp theo thø tù ABC cña tr-êng TEN th× tÖp chØ sè sÏ gåm hai cét: Gi¸ trÞ khãa Recno Hanh 4 Linh 2
  13. Thanh 1 Xuan 3 B©y giê cÇn t×m kiÕm mét ng-êi tªn lµ “Linh”, m¸y sÏ dß t×m ë cét thø nhÊt cña tÖp chØ sè ®Õn ng-êi tªn lµ “Linh”, viÖc dß t×m trªn tÖp ®· ®-îc s¾p xÕp sÏ nhanh h¬n nhiÒu so víi tÖp ch-a ®-îc s¾p xÕp. Sau ®ã dãng hµng ngang sang cét thø hai ®-îc sè hiÖu b¶n ghi lµ 3 cã nghÜa th«ng tin vÒ ng-êi cÇn t×m n»m trong b¶n ghi sè 3 trong tÖp CSDL gèc. Nh- vËy Foxpro sÏ chiÕu sang b¶n ghi thø 3 cña tÖp CSDL gèc ®Ó lÊy th«ng tin. - Theo c¸ch thøc ho¹t ®éng cña tÖp chØ sè cã thÓ chia tÖp chØ sè thµnh ba lo¹i: TÖp chØ sè chuÈn IDX (Index file), tÖp chØ sè kÕt hîp CDX ®éc lËp (Independent Conmpound Index file) vµ tÖp chØ sè kÕt hîp CDX kh«ng ®éc lËp (Structural Compound Index file). 2. TÖp chØ sè chuÈn: a. T¹o tÖp chØ sè chuÈn: - Có ph¸p: INDEX ON TO [FOR ] [COMPACT] [UNIQUE] [ADDITIVE] - Gi¶i thÝch: + cã thÓ lµ tªn tr-êng, biÓu thøc mµ cã biÕn tr-êng tham gia. ViÖc s¾p xÕp lu«n theo thø tù t¨ng dÇn, kh«ng cho phÐp s¾p xÕp theo thø tù gi¶m dÇn. + TO sÏ chØ thÞ viÖc t¹o tÖp chØ sè cã tªn lµ . T¹o xong, tÖp chØ sè ®-îc më vµ con trá b¶n ghi n»m ë b¶n ghi cã chØ sè kho¸ thÊp nhÊt. + NÕu FOR th× chØ nh÷ng b¶n ghi tho¶ m·n míi ®-îc s¾p xÕp. + Tõ kho¸ COMPACT sÏ gióp cho viÖc t¹o chØ sè nhanh h¬n. + NÕu cã UNIQUE th× Foxpro chØ lÊy mét b¶n ghi ®Çu tiªn trong nh÷ng b¶n ghi trïng kho¸ s¾p xÕp ®Ó ®-a ra tÖp chØ sè. + NÕu cã thªm tõ kho¸ ADDITIVE th× tÖp chØ sè míi t¹o sÏ lµ tÖp chØ sè chñ vµ kh«ng ®ãng c¸c tÖp chØ sè ®ang më (TÖp CSDL sÏ s¾p xÕp theo cña tÖp chØ sè chñ). b. Më tÖp chØ sè chuÈn: - Trong bé nhí m¸y tÝnh cã thÓ cã nhiÒu tÖp chØ sè IDX cïng hoÆt ®éng g¾n liÒn víi CSDL (tøc lµ cã nhiÒu c¸ch s¾p xÕp cïng ho¹t ®éng). Nh-ng trong sè ®ã chØ cã mét tÖp chØ sè chñ (Master Index File), khi hiÓn thÞ c¸c b¶n ghi ta thÊy c¸c b¶n ghi ®-îc s¾p xÕp theo tÖp chØ sè chñ. - Cã hai c¸ch më tÖp chØ sè lµ: më CSDL råi më tÖp chØ sè hoÆc më c¸c tÖp chØ sè ®ång thêi víi CSDL. - C¸ch 1: SET INDEX TO
  14. [ORDER ] [ASCENDINGDESCENDING] [ADDITIVE] - Gi¶i thÝch: + : C¸c tÖp chØ sè trong danh s¸ch sÏ ®-îc më, tÖp chØ sè ®Çu tiªn (theo ngÇm ®Þnh) sÏ lµ tÖp chØ sè chñ. + NÕu cã [ORDER ] th× tÖp chØ sè cã thø tù lµ trong sÏ lµ tÖp chØ sè chñ. NÕu dïng order 0 th× c¸c tÖp chØ sè ®-îc më nh-ng kh«ng cã tÖp chØ sè chñ. Cã thÓ ®Æt tÖp chØ sè chñ b»ng c¸c gäi trùc tiÕp tªn . + ASCENDINGDESCENDING: Dïng kÌm víi ORDER ®Ó quy ®Þnh l¹i chiÒu t¨ng (ASCENDING) hay gi¶m (DESCENDING) dÇn cña kho¸ s¾p xÕp. C¸c tõ kho¸ nµy chØ cã t¸c dông khi xuÊt d÷ liÖu (vÝ dô lÖnh LIST), song thø tù s¾p xÕp cña tÖp chØ sè vÉn kh«ng thay ®æi (vÉn theo thø tù t¨ng dÇn). + NÕu cã ADDITIVE th× më c¸c tÖp chØ sè míi nh-ng kh«ng ®ãng c¸c tÖp chØ sè ®· më tõ tr-íc. - C¸ch 2: USE INDEX [ORDER ] [ASCENDINGDESCENDING] C¸c tõ kho¸ dïng gièng nh- c¸ch 1. c. §æi tÖp chØ sè chñ: - Trong khi lµm viÖc ta cã thÓ ®æi ®Ýnh môc chñ ®Ó s¾p xÕp l¹i trËt tù cña c¸c b¶n ghi theo ý muèn. - Có ph¸p: SET ORDER TO  [ASCENDINGDESCENDING] - Gi¶i thÝch: + Khi dïng lÖnh nµy th× tÖp chØ sè cã thø tù lµ trong danh s¸ch c¸c tÖp chØ sè IDX ®ang më sÏ lµm chØ sè chñ. Cã thÓ chØ ®Ých danh tÖp chØ sè chñ lµ . + C¸c tõ kho¸ [ASCENDINGDESCENDING] quy ®Þnh chiÒu t¨ng hay gi¶m cña kho¸ s¾p xÕp khi xuÊt d÷ liÖu, song thø tù s¾p xÕp cña tÖp chØ sè kh«ng thay ®æi. - Khi tr¶ l¹i thø tù vËt lý ban ®Çu cña tÖp CSDL mµ kh«ng cÇn ®ãng bÊt kú tÖp chØ sè nµo ta dïng lÖnh: SET ORDER TO 0 d. §ãng tÖp chØ sè:
  15. - C¸c có ph¸p: SET INDEX TO: §ãng tÊt c¶ c¸c tÖp chØ sè ®ang më. CLOSE INDEX: §ãng c¸c tÖp chØ sè. CLOSE ALL: §ãng tÊt c¶ c¸c lo¹i tÖp (c¶ tÖp CSDL vµ tÖp chØ sè). - Khi ®ãng mét tÖp CSDL th× tÖp chØ sè liªn quan tíi tÖp CSDL ®ã còng bÞ ®ãng theo. 3. TÖp chØ sè kÕt hîp ®éc lËp: a. T¹o tÖp chØ sè kÕt hîp ®éc lËp: - Có ph¸p: INDEX ON TAG OF [FOR
  16. USE INDEX [ORDER ] [ASCENDINGDESCENDING] C¸c tõ kho¸ dïng gièng nh- c¸ch 1. c. §æi ®Ýnh môc chñ: - Có ph¸p: SET ORDER TO  [ASCENDINGDESCENDING] - Gi¶i thÝch: + LÖnh trªn sÏ thay ®æi ®Ýnh môc chñ lµ ®Ýnh môc cã thø tù lµ trong tÖp CDX hoÆc cã thÓ chØ ®Ých danh . d. §ãng tÖp chØ sè: - C¸c có ph¸p: SET INDEX TO: §ãng tÊt c¶ c¸c tÖp chØ sè ®ang më. CLOSE INDEX: §ãng c¸c tÖp chØ sè. CLOSE ALL: §ãng tÊt c¶ c¸c lo¹i tÖp (c¶ tÖp CSDL vµ tÖp chØ sè). - Khi ®ãng mét tÖp CSDL th× tÖp chØ sè liªn quan tíi tÖp CSDL ®ã còng bÞ ®ãng theo. e. Xo¸ mét ®Ýnh môc khái tÖp chØ sè: - Có ph¸p: DELETE TAG [OF ] DELETE TAG ALL [OF ] - Gi¶i thÝch: + LÖnh thø nhÊt xo¸ ®Ýnh môc cã tªn lµ khái tÖp CDX. + LÖnh thø hai xo¸ tÊt c¶ c¸c ®Ýnh môc ®ång thêi xo¸ c¶ tÖp CDX. + NÕu cã tõ kho¸ OF sÏ xo¸ c¸c ®Ýnh môc cña tÖp ®-îc chØ ®Þnh, nÕu kh«ng sÏ xo¸ c¸c ®Ýnh môc cña tÖp chØ sè ®ang më. 4. C¸c hµm vµ c¸c lÖnh liªn quan ®Õn tÖp chØ sè: - LÖnh xem tÖp chØ sè chñ: DISPLAY STATUS LÖnh nµy dïng ®Ó xem t×nh tr¹ng cña tÖp CSD: Tªn tÖp CSDL, c¸c tÖp chØ sè ®ang më vµ kho¸ s¾p xÕp, tÖp chØ sè chñ.
  17. - Hµm NDX(n): Cho biÕt tªn tÖp chØ sè IDX cã sè thø tù lµ n trong danh s¸ch c¸c tÖp chØ sè ®-îc më. - Hµm KEY(n): Tr¶ l¹i biÓu thøc kho¸ cña tÖp IDX cã sè thø tù lµ n. - Hµm ORDER(): Cho tªn tÖp chØ sè chñ cña tÖp CSDL ®ang më. - Hµm SYS(21): Tr¶ l¹i sè thø tù cña tÖp chØ sè chñ. Bµi 7: S¾p xÕp theo tÖp chØ sè (tiÕp) 1. TÖp chØ sè kÕt hîp kh«ng ®éc lËp: a. T¹o tÖp chØ sè kÕt hîp kh«ng ®éc lËp: - Có ph¸p: INDEX ON TAG [FOR ][ASCENDINGDESCENDING] [UNIQUE] - Gi¶i thÝch: + LÖnh trªn sÏ t¹o tÖp chØ sè míi cã tªn trïng víi tªn cña tÖp CSDL. + C¸c tõ kho¸ dïng t-¬ng tù nh- lÖnh t¹o tÖp chØ sè kÕt hîp ®éc lËp. b. Më tÖp chØ sè kÕt hîp kh«ng ®éc lËp: - Khi më tÖp CSDL th× tÖp chØ sè kÕt hîp kh«ng ®éc lËp sÏ tù ®éng ®-îc më, nh-ng kh«ng cã ®Ýnh môc chñ. - Muèn cã ®Ýnh môc chñ ngay khi më ta dïng lÖnh: USE ORDER  c. §æi ®Ýnh môc chñ: - Dïng lÖnh gièng nh- víi tÖp chØ sè kÕt hîp ®éc lËp. d. §ãng tÖp chØ sè kÕt hîp kh«ng ®éc lËp: - LÖnh Set Index To vµ Close Index kh«ng ®ãng ®-îc tÖp chØ sè lo¹i nµy, mµ nã chØ lµm cho kh«ng cã ®Ýnh môc nµo lµ ®Ýnh môc chñ. - Muèn ®ãng tÖp chØ sè kÕt hîp kh«ng ®éc lËp chØ cã c¸ch lµ ®ãng tÖp CSDL. e. Xo¸ mét ®Ýnh môc khái tÖp chØ sè: - Có ph¸p: DELETE TAG DELETE TAG ALL - Gi¶i thÝch: + LÖnh thø nhÊt xo¸ ®Ýnh môc trong tÖp chØ sè ®ang më.
  18. + LÖnh thø hai xo¸ tÊt c¶ c¸c ®Ýnh môc cïng tÖp chØ sè. - Chó ý: + Khi gÆp lÖnh xãa ®Ýnh môc, Foxpro sÏ t×m ®Ýnh môc ®-îc chØ thÞ trong tÖp chØ sè kÕt hîp kh«ng ®éc lËp tr-íc (nÕu cã), nÕu kh«ng t×m thÊy míi ®i t×m ë tÖp chØ sè kÕt hîp ®éc lËp ®ang më. 2. CËp nhËt c¸c tÖp chØ sè: - Khi dïng tÖp chØ sè ta ph¶i lu«n ®¶m b¶o sù t-¬ng thÝch gi÷a tÖp CSDL vµ c¸c tÖp chØ sè liªn quan. Mäi sù cËp nhËt kh«ng ®ång bé ®Òu dÉn ®Õn nh÷ng sai sãt kh«ng thÓ l-êng tr-íc ®-îc. - Khi CSDL thay ®æi, c¸c tÖp chØ sè hiÖn ®ang më sÏ tù ®éng thay ®æi theo cho phï hîp, nh÷ng tÖp chØ sè kh«ng ®-îc më sÏ kh«ng ®-îc cËp nhËt. §Ó cËp nhËt l¹i tÖp chØ sè ta më tÖp CSDL råi dïng lÖnh: REINDEX - LÖnh nµy sÏ chØ sè ho¸ l¹i tÊt c¶ c¸c tÖp chØ sè ®ang më sao cho phï hîp víi t×nh tr¹ng míi nhÊt cña CSDL hiÖn hµnh. - Nãi chung, tr-íc khi dïng thø tù cña c¸c tÖp chØ sè mµ kh«ng biÕt ch¾c cã lçi thêi hay kh«ng th× ta nªn chØ sè ho¸ l¹i. 2. Sao chÐp gi÷a c¸c lo¹i tÖp chØ sè: a. Sao chÐp c¸c tÖp chØ sè IDX vµo tÖp chØ sè CDX: - Có ph¸p: COPY INDEXS ALL [TO ] - Gi¶i thÝch: + LÖnh nµy sÏ sao chÐp c¸c tÖp chØ sè IDX ®ang më vµ ®-îc liÖt kª trong thµnh c¸c ®Ýnh môc cña tÖp chØ sè kªt hîp ®éc lËp cã tªn lµ . NÕu ch-a cã th× m¸y sÏ tù ®éng t¹o ra, tÖp nµy sÏ chØ sè ho¸ CSDL ®ang më. + NÕu dïng tham sè ALL thay v× th× tÊt c¶ c¸c tÖp chØ sè ®ang më ®Òu ®-îc sao chÐp. + NÕu kh«ng cã TO th× sÏ sao chÐp c¸c tÖp chØ sè IDX thµnh c¸c ®Ýnh môc cña tÖp chØ sè kÕt hîp CDX kh«ng ®éc lËp (trïng tªn víi tªn tÖp CSDL). + NÕu trong tÖp chØ sè CDX cã ®Ýnh môc trïng tªn víi tªn tÖp IDX trong danh s¸ch th× m¸y sÏ hái cã chÐp ®Ì lªn kh«ng khi ®ang lµm viÖc ë chÕ ®é SET SAFETY ON. b. Sao chÐp mét ®Ýnh môc thµnh tÖp chØ sè IDX: - Có ph¸p: COPY TAG [OF ] TO - Gi¶i thÝch:
  19. + LÖnh nµy sÏ sao chÐp mét ®Ýnh môc cã tªn lµ cña tÖp chØ sè kÕt hîp CDX ®ang më lµ thµnh tÖp chØ sè IDX. + NÕu kh«ng cã OF th× m¸y sÏ lÊy cña tÖp chØ sè kÕt hîp kh«ng ®éc lËp. 3. C¸c lÖnh t×m kiÕm nhê tÖp chØ sè: a. LÖnh t×m kiÕm SEEK: - ViÖc t×m kiÕm nhanh theo lÖnh Seek chØ ®-îc tiÕn hµnh khi tÖp CSDL ®· ®-îc chØ sè ho¸ - Có ph¸p: SEEK - Gi¶i thÝch: + lµ mét biÓu thøc cã gi¸ trÞ cïng kiÓu víi kiÓu gi¸ trÞ kho¸ trong tÖp chØ sè. + LÖnh nµy sÏ ®Þnh vÞ tíi b¶n ghi ®Çu tiªn cã gi¸ trÞ kho¸ trïng bíi gi¸ trÞ cña nÕu t×m thÊy, sÏ ®Þnh vÞ con trá tíi vÞ trÝ cuèi tÖp nÕu kh«ng t×m thÊy. Hµm Found() dïng ®Ó kiÓm tra viÖc cã t×m thÊy hay kh«ng, nÕu t×m thÊy th× cho gi¸ trÞ lµ .T. cßn kh«ng t×m thÊy th× cho gi¸ trÞ lµ .F. + §Ó quÐt c¸c b¶n ghi kÕ tiÕp cã cïng gi¸ trÞ kho¸ sau khi ®-a vµo lÖnh Seek, ta dïng tõ kho¸ While trong c¸c lÖnh List, Display, Edit, Browse... + Trªn c¸c c¬ së d÷ liÖu lín, viÖc t×m kiÕm theo lÖnh Seek nhanh h¬n rÊt nhiÒu so víi lÖnh Locate. b. LÖnh t×m kiÕm FIND: - Có ph¸p: FIND - Gi¶i thÝch: + LÖnh trªn t×m kiÕm th«ng tin trªn tÖp ®· ®-îc chØ sè ho¸. + cã thÓ lµ biÕn ký tù, biÓu thøc vµ chØ chÊp nhËn lµ x©u ký tù. V× vËy x©u ký tù trong lÖnh nµy kh«ng cÇn ph¶i ®Æt trong dÊu nh¸y ®¬n hay nh¸y kÐp. + LÖnh nµy so s¸nh víi gi¸ trÞ cña kho¸ s¾p xÕp. NÕu viÖc so s¸nh thµnh c«ng th× con trá b¶n ghi dõng l¹i ë b¶n ghi ®Çu tiªn cã kho¸ s¾p xÕp trïng víi , muèn t×m tiÕp th× ta ph¶i ra lÖnh SKIP (v× c¸c b¶n ghi cã cïng gi¸ trÞ kho¸ sÏ ®-îc s¾p xÕp liÒn nhau). 4. Mét sè nhËn xÐt vµ chó ý: a. NhËn xÐt vÒ c¸c lo¹i tÖp chØ sè: - TÖp chØ sè IDX cã ®Æc ®iÓm lµ mçi tÖp chØ sè øng víi mét thø tù s¾p xÕp, dïng thø tù s¾p xÕp nµo th× më tÖp chØ sè t-¬ng øng. Hµn chÕ cña tÖp lo¹i nµy lµ chØ s¾p xÕp theo chiÒu t¨ng dÇn cña kho¸, nÕu dïng nhiÒu thø tù s¾p xÕp th× sè l-îng tÖp trªn ®Üa sÏ nhiÒu, khi CSDL thay ®æi cÇn ph¶i cËp nhËt tÊt c¶ c¸c tÖp chØ sè.
Đồng bộ tài khoản