【例5】在表文件STUD.DBF中,先按性別再按是否團(tuán)員建立一個(gè)獨(dú)立復(fù)合索引文件SXBTY.CDX。
USE STUD
INDEX ON 性別+IIF(是否團(tuán)員,’團(tuán)員’,’非團(tuán)員’) TAG 性別團(tuán)員 OF SXBTY2)菜單方式
①打開表文件。
②選擇【顯示】|【表設(shè)計(jì)器】命令,打開表設(shè)計(jì)器對(duì)話框,選擇“索引”標(biāo)簽。
、墼谒饕休斎胨饕龢(biāo)識(shí)名,在類型的下拉列表框中確定一種索引類型,在表達(dá)式中輸入索引關(guān)鍵字表達(dá)式,在篩選中輸入確定參加索引的記錄條件,在排序序列下默認(rèn)的是升序按鈕,單擊可改變?yōu)榻敌虬粹o。
、艽_定好各項(xiàng)后,選擇“確定”,關(guān)閉表設(shè)計(jì)器,同時(shí)索引建立完成。
、萃瑯拥姆椒ㄒ部梢詫⒁郧敖⒌乃饕{(diào)出,利用表設(shè)計(jì)器上的“插入”或“刪除”按鈕進(jìn)行插入或刪除。
注意:用表設(shè)計(jì)器建立的索引都是結(jié)構(gòu)復(fù)合索引文件。
(3)索引文件的打開【格式1】USE<文件名>[INDEX<索引文件名表|?>][ORDER<數(shù)值表達(dá)式2>|<單索引文件>|[TAG]<標(biāo)識(shí)名>[OF<復(fù)合索引文件名>][ASCENDING|DESCENDING]]
【功能】打開指定的表文件及相關(guān)的索引文件
【說明】:
INDEX<索引文件名表>|?:表示打開的索引文件;如果選擇“?”,則系統(tǒng)將出現(xiàn)“打開”對(duì)話框,供用戶選擇索引文件名;如果<索引文件名表>
中的第一個(gè)索引文件是單索引文件,則它是主索引文件,若第一個(gè)索引文件是復(fù)合索引文件,則表文件的記錄將以物理順序被訪問。
<索引文件名表>:指定要打開的索引文件,索引文件中的文件擴(kuò)展名可以省略,但如果存在同名的單索引文件和復(fù)合索引文件,必須帶擴(kuò)展名。
<索引文件名表>中的單索引文件和復(fù)合索引文件的標(biāo)識(shí)有一個(gè)唯一的編號(hào),編號(hào)最小值為1,編號(hào)規(guī)則為:先將單索引文件按它們?cè)?lt;索引文件名表>中的順序編號(hào),再將結(jié)構(gòu)復(fù)合索引文件按標(biāo)識(shí)產(chǎn)生的順序連續(xù)編號(hào),最后將獨(dú)立復(fù)合索引文件中的標(biāo)識(shí)先按它在<索引文件名表>中的順序,再按標(biāo)識(shí)產(chǎn)生的順序連續(xù)編號(hào)。
[ORDER]子句:指定主索引。選擇此選項(xiàng)時(shí),主索引文件將不是<索引文件名表>中的第一個(gè)單索引文件,而是此選項(xiàng)指定的單索引文件或標(biāo)識(shí)。[ORDER]子句中各選項(xiàng)的含義如下:
<數(shù)值表達(dá)式2>指定主索引的編號(hào),若<數(shù)值表達(dá)式2>的值為0,表示不設(shè)主索引。
<單索引文件>指定的單索引文件設(shè)置為主索引。
[TAG]<標(biāo)識(shí)名>[OF<復(fù)合索引文件名>]:表示將<復(fù)合索引文件名>中的指定標(biāo)識(shí)作為主索引。[OF<復(fù)合索引文件名>]缺省表示為結(jié)構(gòu)復(fù)合索引文件。
ASCENDING|DESCENDING:表示主索引被強(qiáng)制以升序或降序索引;缺省此選項(xiàng),主索引按原有順序打開。
【格式2】SET INDEX TO[<索引文件名表>][ORDER<數(shù)值表達(dá)式>|<單索引文件名>|[TAG]<標(biāo)識(shí)名>[OF<復(fù)合索引文件名>][ASCENDING|DESCENDING]][ADDITIVE]
【功能】在已打開表文件的前提下,打開相關(guān)索引文件。
【說明】ADDITIVE:表示保留以前打開的索引文件。否則,除結(jié)構(gòu)復(fù)合索引文件外,以前打開的其他索引文件都將被關(guān)閉。(4)索引文件的關(guān)閉
【格式1】USE
【功能】關(guān)閉當(dāng)前工作區(qū)中打開的表文件及所有索引文件。
【格式2】SET INDEX TO
【功能】關(guān)閉當(dāng)前工作區(qū)中打開的所有單索引文件和獨(dú)立復(fù)合索引文件。
【格式3】CLOSE INDEXS
【功能】關(guān)閉當(dāng)前工作區(qū)中打開的所有單索引文件和獨(dú)立復(fù)合索引文件。
注意:結(jié)構(gòu)復(fù)合索引文件不能用以上命令關(guān)閉,它隨表文件的打開而打開,隨表文件的關(guān)閉而關(guān)閉。
(5)索引的刪除
1)標(biāo)識(shí)的刪除
【格式】DELETE TAG<標(biāo)識(shí)名1>[OF<復(fù)合索引文件名1>][,<標(biāo)識(shí)名2>[OF<復(fù)合索引文件名2>]]...
或:DELETE TAG ALL[OF<復(fù)合索引文件名>]
【功能】從指定的復(fù)合文件中刪除標(biāo)識(shí)
【說明】OF<復(fù)合索引文件名>:指定復(fù)合索引文件名,若缺省,則為結(jié)構(gòu)復(fù)合索引文件。
2)單索引文件的刪除
【格式】DELETE FILE<單索引文件名>
【功能】刪除指定的單索引文件
【說明】關(guān)閉的索引文件才能被刪除,文件名必須帶擴(kuò)展名。
【例】刪除表文件STUD.DBF的單索引文件STUD.IDX及結(jié)構(gòu)復(fù)合索引文件中的所有標(biāo)識(shí)。
DELETE FILE STUD.IDX
USE STUD
DELETE TAG ALL(6)索引查詢(FIND、SEEK)
1)菜單方式
、偈紫却蜷_表文件。
、谶x擇【顯示】|【瀏覽】命令。
、圻x擇【表】|【轉(zhuǎn)到記錄】|【定位】命令,打開定位記錄對(duì)話框。
④在“作用范圍”下拉列表框中選擇查詢范圍,在FOR或WHILE框中輸入查詢條件,選擇定位按鈕。系統(tǒng)將指針定位于符合條件的第一條記錄上。
2)索引查詢(FIND、SEEK)
LOCATE命令用于按條件進(jìn)行順序定位,無論索引文件是否打開都可使用。在打開索引文件后,還可以用FIND、SEEK命令進(jìn)行快速檢索。
a.FIND命令【格式】FIND<字符串>/<數(shù)值常量>
【功能】在表文件的主控索引中查找關(guān)鍵字值與<字符串>或<數(shù)值常量>相匹配的第一個(gè)記錄。
【說明】必須打開相應(yīng)的庫文件、主索引文件。
查詢字符串,字符串可以不用定界符括起來,但前后有空格的,則必須要括進(jìn)來。
查詢常數(shù),必須使用索引關(guān)鍵字的完整值。
允許查詢字符型內(nèi)存變量,但必須使用宏替換函數(shù)。
由于索引文件中關(guān)鍵字表達(dá)式值相同的記錄總是排在一起的,可用SKIP、DISP命令來逐個(gè)查詢。
查詢完滿足條件的記錄后,不能自然給出提示,常借助于EOF()函數(shù)來判斷查詢是否完成。
多關(guān)鍵字查詢,建立索引時(shí)STR函數(shù)若沒有指定小數(shù)位,則應(yīng)補(bǔ)齊不足10位的空格。
如果用SET EXACT ON命令,則匹配必須是精確的。即FIND命令中的查詢內(nèi)容必須與記錄的關(guān)鍵字段值完全相等。如果用SETEXACT OFF命令,則匹配可以是不精確的,即只要FIND命令中的查詢內(nèi)容與記錄的關(guān)鍵字段值的左側(cè)相等即可。
相關(guān)推薦:2011年計(jì)算機(jī)等級(jí)考試二級(jí)VFP基礎(chǔ)教程匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |