vf第三章多表連接_第1頁(yè)
vf第三章多表連接_第2頁(yè)
vf第三章多表連接_第3頁(yè)
vf第三章多表連接_第4頁(yè)
vf第三章多表連接_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第三章數(shù)據(jù)庫(kù)和表的設(shè)計(jì)與操作

主講:數(shù)據(jù)庫(kù)和表的設(shè)計(jì)與操作

自由表的創(chuàng)建

表的基本操作

表的排序、索引和查詢表的統(tǒng)計(jì)與匯總

多表的使用數(shù)據(jù)庫(kù)的創(chuàng)建及基本操作

建立表與表之間的關(guān)系

退出3.1自由表的創(chuàng)建--分析自由表的組成

建立自由表時(shí),首先要對(duì)所處理的對(duì)象進(jìn)行調(diào)查分析,再根據(jù)需要設(shè)計(jì)一張二維表,當(dāng)表的行、列個(gè)數(shù)及每列數(shù)據(jù)的屬性確定后,再把數(shù)據(jù)集合放在其中。下面將以學(xué)生表(表3-1)的設(shè)計(jì)過(guò)程為例,具體介紹VisualFoxPro6.0系統(tǒng)中自由表的建立過(guò)程。表3-1學(xué)生表學(xué)

號(hào)姓

名性別出生日期團(tuán)員否入學(xué)成績(jī)班

級(jí)照

片簡(jiǎn)

歷05011001李平女10/21/85T502.00計(jì)算機(jī)略略05011002章立新男02/14/86T489.50計(jì)算機(jī)略略05011003趙智慧女05/07/85T467.00計(jì)算機(jī)略略05021001林敏女08/01/85T498.00金融略略05021002劉欣男11/05/84F500.00金融略略05021003于晶女03/04/85T488.00金融略略05021004朱健華男10/20/86T496.00金融略略05031001李國(guó)華男11/21/85T482.00會(huì)計(jì)略略05031002陳炳章男06/01/83T466.00會(huì)計(jì)略略05031003崔新榮女02/11/85T478.00會(huì)計(jì)略略返回3.1自由表的創(chuàng)建--分析自由表的組成

1.分析表的組成從上面這張二維表可以看到,它是由以下幾部分組成的。(1)表的名字:每一張表都有一個(gè)名字,用來(lái)概括表的內(nèi)容,例如,表3-1的名字為“學(xué)生表”。(2)表中每一個(gè)欄目標(biāo)題序列為表頭,它標(biāo)明了每一列對(duì)應(yīng)數(shù)據(jù)的屬性。例如,表3-1中的“學(xué)號(hào)”、“姓名”、“性別”、“出生日期”等。(3)表中每一行的數(shù)據(jù)是表的內(nèi)容,每一行表示一個(gè)人的基本信息。2.定義表文件的數(shù)據(jù)類型在VisualFoxPro6.0中,一張二維表對(duì)應(yīng)一個(gè)數(shù)據(jù)表,稱為表文件,是由表名、表結(jié)構(gòu)、表的記錄3個(gè)部分組成。(1)表文件的名字相當(dāng)于二維表中的表名,它是表文件的主要標(biāo)識(shí),用戶可以依靠表名在磁盤上存取、使用指定的表文件。(2)表文件的結(jié)構(gòu)相當(dāng)于二維表的表頭,二維表的每一列對(duì)應(yīng)了表文件中的一個(gè)字段,其屬性決定了字段名、字段類型和字段長(zhǎng)度。(3)表文件的記錄是表的內(nèi)容,是表中不可分割的基本項(xiàng),表的大小取決于它擁有的數(shù)據(jù)記錄的多少。返回3.1自由表的創(chuàng)建—?jiǎng)?chuàng)建自由表1.使用表設(shè)計(jì)器創(chuàng)建自由表方法一:使用菜單方式建立表結(jié)構(gòu)。操作步驟:(1)在VisualFoxPro系統(tǒng)主菜單下,打開“文件”菜單,選擇“新建”選項(xiàng),彈出“新建”窗口。(2)選擇“表”,再單擊“新建文件”按鈕,進(jìn)入“創(chuàng)建”窗口。(3)在“創(chuàng)建”窗口,輸入要建立的表的名字“學(xué)生表”,然后單擊“保存”按鈕,進(jìn)入“表設(shè)計(jì)器”窗口。(4)在表設(shè)計(jì)器中,可以逐一定義表中所有字段的名字、類型和寬度等。如果根據(jù)表內(nèi)容定義“學(xué)生表”的結(jié)構(gòu),就要在“表設(shè)計(jì)器”窗口輸入字段信息。(5)當(dāng)表中所有字段的屬性定義完成后,單擊“確定”按鈕,進(jìn)入系統(tǒng)窗口。(6)根據(jù)自己的需要,如果選擇“是”,可以立即向表文件中輸入數(shù)據(jù),如果選擇“否”,以后再輸入數(shù)據(jù),將結(jié)束表結(jié)構(gòu)的建立。方法二:使用命令方式建立表結(jié)構(gòu)。命令格式:CREATE[<表文件名>/?]命令功能:創(chuàng)建表文件。說(shuō)明:(1)當(dāng)在命令窗口輸入CREATE學(xué)生表,將進(jìn)入如圖3-3“表設(shè)計(jì)器”窗口,其他操作與方法一相同;(2)當(dāng)在命令窗口輸入CREATE?,將進(jìn)入如圖3-2“表設(shè)計(jì)器”窗口,其他操作與方法一相同。2.使用表向?qū)?chuàng)建自由表使用表向?qū)?,就是把已有的表作為“樣本”,在向?qū)У囊龑?dǎo)下,通過(guò)篩選、修改操作完成新表的創(chuàng)建過(guò)程。返回3.1自由表的創(chuàng)建—?jiǎng)?chuàng)建自由表2.以追加的方式輸入數(shù)據(jù)建立表結(jié)構(gòu)時(shí),如果用戶沒有選擇立即方式向表輸入數(shù)據(jù),可以用追加的方式向表輸入數(shù)據(jù),操作步驟如下。(1)打開要輸入數(shù)據(jù)的自由表。(2)在VisualFoxPro系統(tǒng)主菜單下,單擊“顯示”菜單,選擇“瀏覽”選項(xiàng),然后選擇“編輯”選項(xiàng),可進(jìn)入表的“編輯”窗口,再單擊“顯示”菜單下的“追加方式”選項(xiàng),即可向表文件中追加數(shù)據(jù)。(3)也可以在“顯示”菜單下,選擇“瀏覽”選項(xiàng),再進(jìn)行“追加”,同樣可以達(dá)到向表中輸入數(shù)據(jù)或修改數(shù)據(jù)的目的。返回3.2表的基本操作—表文件的打開、關(guān)閉

1.打開表文件常用的方法有菜單、按鈕和命令3種。方法一:菜單方式(1)在VisualFoxPro主窗口中,單擊“文件”菜單,選擇“打開”選項(xiàng),彈出“打開”對(duì)話框。(2)在“文件類型”處,選擇“表(*.dbf)”,選中“獨(dú)占”復(fù)選框。(3)選擇“學(xué)生表”所在的位置,選中“學(xué)生表”,在“文件名”處就有了被選中的文件名,單擊“確定”按鈕,即可打開“學(xué)生表”。方法二:命令按鈕方式單擊工具欄上的打開按鈕,彈出如圖3-23的“打開”窗口,其余與方法一相同。方法三:命令方式命令格式:USE<表文件名>/?命令功能:打開指定的表文件。說(shuō)明:若在命令窗口輸入U(xiǎn)SE?,則打開類似圖3-23所示的打開窗口,選擇要打開的表文件。2.關(guān)閉表文件在“命令”窗口中輸入如下格式的命令:命令格式:USE命令功能:關(guān)閉當(dāng)前打開的表文件。說(shuō)明:從表的打開和關(guān)閉的命令方式中,都使用了USE命令。(1)當(dāng)USE后有文件名時(shí),表示要打開<表文件名>指定的表文件。(2)僅有USE時(shí),為關(guān)閉當(dāng)前打開的表文件。(3)打開表文件時(shí),若表中含有備注型字段,則該表的備注文件也同時(shí)被打開。(4)在同一時(shí)刻,每個(gè)工作區(qū)只能打開一個(gè)表文件,若在本工作區(qū)打開另外一個(gè)表文件的同時(shí),則前一個(gè)表文件被關(guān)閉。返回3.2表的基本操作—表結(jié)構(gòu)的顯示和修改

1.顯示表結(jié)構(gòu)命令格式:LIST/DISPLAYSTRUCTURE命令功能:顯示當(dāng)前表文件的結(jié)構(gòu)。說(shuō)明:(1)顯示當(dāng)前表文件的結(jié)構(gòu)包括文件名、表記錄的個(gè)數(shù)、最近更新的時(shí)間、每個(gè)字段的字段號(hào)、字段名、類型、寬度和小數(shù)位數(shù),以及一個(gè)記錄的字節(jié)總數(shù)等。(2)LIST與DISPLAY區(qū)別是:當(dāng)表結(jié)構(gòu)的內(nèi)容比較多,需要多屏顯示時(shí),DISPLAY會(huì)每顯示一屏信息后暫停,等待用戶按鍵繼續(xù)顯示,而LIST顯示信息時(shí)不暫停,直到顯示完畢,即只能看到最后一屏信息。2.修改表結(jié)構(gòu)方法一:菜單方式(1)選擇以“獨(dú)占”的方式打開需要修改的表文件。(2)單擊“顯示”菜單,選擇“表設(shè)計(jì)器”選項(xiàng),彈出“表設(shè)計(jì)器”對(duì)話框,選中“班級(jí)”字段,單擊“刪除”按鈕,然后選中“入學(xué)成績(jī)”,單擊“插入”按鈕,此時(shí)在“入學(xué)成績(jī)”字段前插入了一個(gè)新字段,把“新字段”改為“電話”字段的各項(xiàng)信息。(3)單擊“確定”按鈕,彈出詢問(wèn)是否永久性更改表結(jié)構(gòu),單擊“是”按鈕即可。方法二:命令方式在“命令”窗口中輸入修改表結(jié)構(gòu)的命令:命令格式:MODIFYSTRUCTURE命令功能:顯示并修改當(dāng)前表文件的結(jié)構(gòu)。說(shuō)明:(1)輸入此命令,也會(huì)彈出“表設(shè)計(jì)器”窗口。(2)改變表的結(jié)構(gòu)時(shí),系統(tǒng)會(huì)自動(dòng)備份當(dāng)前的表文件,備份文件的擴(kuò)展名是.BAK,備注備份文件的擴(kuò)展名為.TBK。如果在修改表結(jié)構(gòu)時(shí)出現(xiàn)了錯(cuò)誤,可以把新表結(jié)構(gòu)文件刪除,把.BAK文件和.TBK文件改變?yōu)樵募U(kuò)展名.DBF和.FPT,從而恢復(fù)原來(lái)的表文件結(jié)構(gòu)。返回3.2表的基本操作—記錄的顯示與定位

1.顯示表記錄命令格式1:

LIST[范圍][FOR/WHILE<條件表達(dá)式>][FIELDS<字段名表>][OFF][TOPRINT/FILE<文件名>]命令功能:連續(xù)顯示當(dāng)前表中指定范圍內(nèi)符合條件的記錄的指定字段內(nèi)容。命令格式2:

DISPLAY[<范圍>][FOR/WHILE<條件>][FIELDS<字段名表>][OFF][TOPRINT/FILE<文件名>]命令功能:分屏顯示當(dāng)前表中指定范圍內(nèi)符合條件的記錄的指定字段內(nèi)容。說(shuō)明:(1)[]是可選項(xiàng),可有可無(wú),各可選項(xiàng)的先后順序任意,各項(xiàng)之間要用空格分開,但任意可選項(xiàng)內(nèi)部的內(nèi)容作為一個(gè)整體不能分開,<>和[]只是分界符,在書寫命令時(shí)不要帶上。(2)[范圍]表示表文件記錄的范圍,可以是以下內(nèi)容,如表3-3所示。表3-3范圍項(xiàng)可使用的子句選

項(xiàng)說(shuō)

明ALL表示全部記錄NEXTn表示從當(dāng)前記錄起以下的n

個(gè)記錄,包括當(dāng)前記錄RECORDn表示第n

號(hào)記錄,n表示記錄號(hào)REST表示從當(dāng)前記錄開始到文件尾的所有記錄返回3.2表的基本操作—記錄的顯示與定位

(3)FOR<條件表達(dá)式>表示在指定范圍內(nèi)篩選出所有滿足條件的記錄進(jìn)行操作,<條件>為邏輯表達(dá)式。(4)WHILE<條件表達(dá)式>表示在指定范圍內(nèi)篩選滿足條件的記錄進(jìn)行操作,直到第一個(gè)不滿足條件的記錄為止。(5)FIELDS<字段名表>,顯示<字段名表>指定的字段,若沒有該選項(xiàng),則顯示當(dāng)前表中的所有字段,各字段名間用英文狀態(tài)下“,”分隔,除非在<字段名表>中指明,否則在LIST和DISPLAY都不顯示備注型字段的內(nèi)容,只是在字段名下方顯示“Memo”。(6)若在命令中有OFF可選項(xiàng),則不顯示記錄號(hào),反之顯示記錄號(hào)。(7)若在命令中有TOPRINT,則表示把顯示的內(nèi)容同時(shí)打?。挥蠪ILE<文件名>,則把顯示的內(nèi)容送到指定的文件中。LIST與DISPLAY的命令書寫格式相同,但它們之間的區(qū)別為:(1)DISPLAY命令在沒有[范圍]和<條件>子句時(shí)僅顯示當(dāng)前記錄;而LIST命令則顯示所有記錄。所以,要顯示所有記錄時(shí),可用LIST或DISPLAYALL命令。(2)當(dāng)一次要顯示的記錄多于一個(gè)屏幕時(shí),DISPLAYALL命令能分屏顯示,每顯示完一屏就暫停,并提示按任意鍵繼續(xù)顯示,而LIST命令則連續(xù)顯示。返回3.2表的基本操作—記錄的顯示與定位

2.記錄指針的定位方法一:在“瀏覽”窗口中移動(dòng)指針打開表文件,在如圖3-27的窗口中,單擊“表”菜單,選擇“轉(zhuǎn)到記錄”命令,彈出下一級(jí)菜單,菜單中各項(xiàng)命令功能如下。第一個(gè):將指針指向第一條記錄。最后一個(gè):將指針指向最后一條記錄。下一個(gè):將指針指向當(dāng)前記錄的下一條記錄。上一個(gè):將指針指向當(dāng)前記錄的上一條記錄。記錄號(hào):若選擇此項(xiàng),可在彈出的對(duì)話框中輸入記錄號(hào)即可直接定位。定位:若選擇此項(xiàng),可在彈出的對(duì)話框中輸入范圍、條件即可定位。方法二:用命令移動(dòng)指針可以在命令窗口或程序中使用命令來(lái)移動(dòng)記錄指針,移動(dòng)記錄指針的命令分絕對(duì)移動(dòng)和相對(duì)移動(dòng)兩種。(1)絕對(duì)移動(dòng)命令格式:GO/GOTO<記錄號(hào)>命令功能:將記錄指針移到<記錄號(hào)>指定的位置,<記錄號(hào)>可以是數(shù)值表達(dá)式,必須是正數(shù)且位于有效的記錄范圍之內(nèi)。特別地,<記錄號(hào)>也可以是TOP和BOTTOM。GOTOP指針定位表文件的第一條記錄GOTOBOTTOM指針定位表文件的最后一條記錄(2)相對(duì)移動(dòng)命令格式:SKIP[數(shù)值表達(dá)式]命令功能:在當(dāng)前表文件中,將記錄指針從當(dāng)前位置向上或向下移動(dòng)。說(shuō)明:[數(shù)值表達(dá)式]:指定記錄指針需要移動(dòng)的記錄個(gè)數(shù),如果記錄數(shù)是正數(shù),記錄指針向下移動(dòng),如果記錄數(shù)是負(fù)數(shù),記錄指針向上移動(dòng),當(dāng)沒有這個(gè)可選項(xiàng)時(shí),表示記錄指針向下移動(dòng)一個(gè)記錄。返回3.2表的基本操作—表記錄的修改

1.BROWSE命令格式:BROWSE[FOR<條件表達(dá)式>][FIELDS<字段名表>][LOCK<數(shù)值表達(dá)式>][FREEZE<字段名>]命令功能:打開瀏覽窗口,顯示表文件中指定記錄的指定字段,可以用全屏幕編輯鍵移動(dòng)光標(biāo),對(duì)記錄內(nèi)容進(jìn)行修改。說(shuō)明:(1)[FOR<條件表達(dá)式>]:指定在瀏覽窗口中顯示的記錄要滿足的條件表達(dá)式。(2)[FIELDS<字段名表>]:指定在瀏覽窗口中顯示的字段,并且使字段按著<字段名表>指定的順序顯示。(3)[LOCK<數(shù)值表達(dá)式>]:指定在窗口的左分區(qū)看到的字段數(shù)。(4)[FREEZE<字段名>]:使光標(biāo)凍結(jié)在某字段上,只能修改該字段,其他字段只能顯示,不能修改。(5)BROWSE命令中沒有任何可選項(xiàng)時(shí),在瀏覽窗口中顯示除了備注型和通用型之外的所有記錄的所有字段內(nèi)容,以便用戶根據(jù)實(shí)際需要進(jìn)行修改。備注型和通用型字段可直接雙擊“memo”,“gen”進(jìn)行修改。(6)修改完數(shù)據(jù)后,按Ctrl+W或?yàn)g覽窗口的關(guān)閉按鈕,退出并保存修改結(jié)果。2.EDIT命令格式:EDIT[范圍][FIELDS<字段名表>][FOR/WHILE<條件表達(dá)式>]命令功能:以EDIT窗口方式修改記錄。3.CHANGECHANGE命令與EDIT命令的使用方法相似。返回3.2表的基本操作—表記錄的修改

4.REPLACE前面的所有命令在修改記錄內(nèi)容時(shí),只能逐條進(jìn)行,若需要有規(guī)律地修改大量記錄的某個(gè)字段的值,則可以成批替換記錄。成批替換記錄主要使用菜單方式和命令方式。方法一:菜單方式將學(xué)生表中的班級(jí)為“計(jì)算機(jī)”的記錄改為班級(jí)為“計(jì)算機(jī)應(yīng)用”。(1)打開“學(xué)生表”。(2)單擊“顯示”菜單,選擇“瀏覽”選項(xiàng),彈出“瀏覽”窗口。(3)單擊“表”菜單,選擇“替換字段”選項(xiàng),彈出“替換字段”對(duì)話框,并按如圖3-33所示的內(nèi)容填寫,然后單擊“替換”按鈕。(4)此時(shí)的“瀏覽”窗口的記錄已經(jīng)按要求修改完畢。方法二:命令方式命令格式:REPLACE[范圍][FOR/WHILE<條件表達(dá)式>]<字段名1>WITH<表達(dá)式1>[ADDITIVE][,<字段名2>WITH<表達(dá)式2>]……命令功能:在當(dāng)前表文件中,對(duì)指定范圍內(nèi)滿足條件的記錄進(jìn)行批量修改。說(shuō)明:(1)用<表達(dá)式1>的值替換<字段1>中的數(shù)據(jù),用<表達(dá)式2>的值替換<字段2>中的數(shù)據(jù),以此類推。(2)字段類型與其后的表達(dá)式類型應(yīng)匹配。(3)[ADDITIVE]選項(xiàng),只適用于備注型字段的修改,若有此選項(xiàng),則表示將WITH后面的<表達(dá)式>的內(nèi)容添加在原來(lái)備注內(nèi)容的后面;否則,WITH后面<表達(dá)式>的內(nèi)容將覆蓋原來(lái)的備注內(nèi)容。(4)若沒有[范圍]和[FOR/WHILE<條件表達(dá)式>],則僅對(duì)當(dāng)前記錄進(jìn)行替換,若沒有[范圍]但有[FOR/WHILE<條件表達(dá)式>],則在整個(gè)數(shù)據(jù)范圍內(nèi)對(duì)滿足條件的記錄進(jìn)行替換,若沒有[FOR/WHILE<條件表達(dá)式>],但有[范圍],則對(duì)范圍指定的記錄進(jìn)行替換。返回3.2表的基本操作—追加記錄與插入記錄

1.追加記錄可以使用菜單和命令兩種方式向表文件中追加記錄。方法一:菜單方式在瀏覽窗口中,單擊“表”菜單,選擇“追加新記錄”選項(xiàng),記錄指針自動(dòng)移動(dòng)到最后一條記錄的后面,此時(shí)可以直接輸入新記錄的信息,還可以繼續(xù)追加更多的記錄。方法二:命令方式命令格式:APPEND[BLANK]命令功能:在當(dāng)前表文件的尾部添加記錄。說(shuō)明:(1)當(dāng)有[BLANK]可選項(xiàng)時(shí),表示在表文件的尾部追加一條空記錄。(2)當(dāng)沒有[BLANK]可選項(xiàng)時(shí),彈出“瀏覽”窗口或“編輯”窗口,指針定位到最后一條記錄的后面,等待輸入數(shù)據(jù)。2.從其他表文件中向當(dāng)前表文件成批添加記錄命令格式:APPENDFROM<表文件名>[FIELDS<字段名表>][FOR/WHILE<條件表達(dá)式>]命令功能:將<表文件名>指定的表文件的內(nèi)容追加到當(dāng)前表文件的尾部。說(shuō)明:(1)如果源文件與當(dāng)前表文件有不同的字段,則只追加兩表中具有的相同字段名和類型的字段,其他字段為空。(2)如果源文件中字段寬度大于當(dāng)前表文件的寬度,則自動(dòng)截去超長(zhǎng)部分,小于時(shí)用空格填充。3.插入記錄命令格式:INSERT[BEFORE][BLANK]命令功能:在打開表中的當(dāng)前記錄的前或后插入記錄。說(shuō)明:(1)當(dāng)有[BLANK]可選項(xiàng)時(shí),表示插入一個(gè)空白記錄。(2)當(dāng)有[BEFORE]可選項(xiàng)時(shí),在當(dāng)前記錄之前插入一個(gè)記錄,否則,在當(dāng)前記錄之后插入一個(gè)記錄。返回3.2表的基本操作—表記錄的刪除

表中不需要的記錄可以隨時(shí)刪除,刪除分為邏輯刪除和物理刪除兩步。除的方法有菜單和命令方式兩種。1.方法一:菜單方式在瀏覽窗口中,單擊“表”菜單,選擇“刪除記錄”選項(xiàng),彈出“刪除”對(duì)話框,輸入要?jiǎng)h除記錄的條件和所選擇的范圍,然后單擊“刪除”按鈕。此時(shí),被刪除的記錄并沒有真正地刪除,而是在記錄的左邊加上了黑色的刪除標(biāo)記,此時(shí)是邏輯刪除。若單擊“表”菜單,選擇“恢復(fù)記錄”選項(xiàng),在彈出的“恢復(fù)記錄”對(duì)話框中輸入要恢復(fù)記錄的條件,單擊“恢復(fù)記錄”按鈕,可取消邏輯刪除。要完全刪除該記錄,單擊“表”菜單,選擇“徹底刪除”選項(xiàng),彈出“刪除”對(duì)話框。單擊“是”按鈕,這時(shí)才真正刪除了該記錄,此時(shí)是物理刪除。2.方法二:命令方式1)邏輯刪除命令格式:DELETE[范圍][FOR/WHILE<條件表達(dá)式>]命令功能:給當(dāng)前表文件中滿足條件的記錄加上刪除標(biāo)記“*”。2)恢復(fù)記錄命令格式:RECALL[范圍][FOR/WHILE<條件表達(dá)式>]命令功能:將當(dāng)前表文件中指定范圍內(nèi)帶刪除標(biāo)記且滿足條件的記錄去掉刪除標(biāo)記。說(shuō)明:若命令中省略[范圍]和[條件表達(dá)式],則只對(duì)當(dāng)前記錄取消刪除標(biāo)記;若省略[范圍]但有<條件表達(dá)式>時(shí),則[范圍]默認(rèn)為ALL。3)物理刪除命令格式:PACK命令功能:將當(dāng)前表文件中所有帶刪除標(biāo)記的記錄徹底刪除。返回3.2表的基本操作—其他文件操作

1.表文件的復(fù)制命令格式:COPYTO<新表文件名>[范圍][FIELDS<字段名表>][FOR/WHILE<條件表達(dá)式>]命令功能:把當(dāng)前表文件的內(nèi)容全部或部分復(fù)制到新文件中。說(shuō)明:(1)對(duì)已打開的表文件進(jìn)行復(fù)制,復(fù)制后的新表是關(guān)閉的。(2)FIELDS<字段名表>表示將字段名表中列出的字段內(nèi)容復(fù)制到新表文件中,若沒有此選項(xiàng),則表示復(fù)制所有的字段。2.表結(jié)構(gòu)的復(fù)制命令格式:COPYSTRUCTRUETO<新表文件名>[FIELDS<字段名表>]命令功能:將當(dāng)前表文件的結(jié)構(gòu)全部或部分復(fù)制到新表文件中。說(shuō)明:此命令是僅復(fù)制結(jié)構(gòu),而前一個(gè)命令是結(jié)構(gòu)和指定記錄一起復(fù)制到新文件中。3.任意類型文件的復(fù)制命令格式:COPYFILE<源文件名>TO<目標(biāo)文件名>命令功能:將源文件內(nèi)容復(fù)制到目標(biāo)文件中。說(shuō)明:(1)該命令可以復(fù)制任何類型的文件,<源文件名>和<目標(biāo)文件名>必須加擴(kuò)展名。(2)復(fù)制時(shí)源文件必須關(guān)閉。4.文件的更名命令格式:RENAME<源文件名>TO<新文件名>命令功能:將源文件名改為新文件名。說(shuō)明:(1)<源文件名>和<新文件名>必須加擴(kuò)展名。(2)更名時(shí)源文件必須關(guān)閉。返回3.3表的排序、索引和查詢

—表的排序表的排序有時(shí)也稱“分類”,即按照關(guān)鍵字來(lái)重新排列表文件中的數(shù)據(jù),數(shù)據(jù)從小到大排列稱為按升序排序;由大到小排列稱為按降序排序。排序操作的結(jié)果將生成一個(gè)新的表文件,原表文件名及記錄的順序不變。數(shù)據(jù)大小的比較規(guī)則是:如果是數(shù)值型、日期型的數(shù)據(jù)進(jìn)行比較,則由其本身的大小決定,字符型數(shù)據(jù)由其ASCII碼值確定,漢字由機(jī)內(nèi)碼確定大小(即按拼音)。排序的目的是為了快速查找。命令格式:SORTON<字段名1>[/A][/D][/C][,<字段名2>[/A][/D][/C]…]TO<新表文件名>[范圍][FOR/WHILE<條件表達(dá)式>][FIELDS<字段名列表>]命令功能:對(duì)當(dāng)前表文件中指定范圍內(nèi)滿足條件的記錄,按指定字段的升序或降序進(jìn)行重新排序,并把排序的結(jié)果以表文件的形式保存在新文件中。說(shuō)明:(1)/A表示按升序排列,為系統(tǒng)默認(rèn)值;/D表示按降序排序;/C表示不區(qū)分大小寫字母。(2)[范圍][FOR/WHILE<條件表達(dá)式>]使用方式與其他命令相同。(3)ON子句:表示按哪些字段排序,字段列表中的第一個(gè)字段是最重要的排序關(guān)鍵字,通常稱為“主關(guān)鍵字”,即首先按第一個(gè)字段值進(jìn)行排序,遇到第一個(gè)關(guān)鍵字值相同的情況下,再按第二個(gè)關(guān)鍵字排序,以此類推。(4)FIELDS字段名列表時(shí),則生成的新表文件中僅包含字段名列表所列的字段,默認(rèn)此項(xiàng)表示所有字段。(5)排序后生成的新表文件是關(guān)閉的,使用前必須先打開。返回3.3表的排序、索引和查詢

—表的索引

索引文件是由索引關(guān)鍵字和指針構(gòu)成的,或者說(shuō)索引就是一個(gè)已排序的關(guān)鍵字與記錄的對(duì)應(yīng)列表。索引文件和表文件分別存儲(chǔ),并且索引并不改變表中記錄的存儲(chǔ)順序,它只是改變了讀取表中記錄的順序。索引文件是根據(jù)選定的關(guān)鍵字建立起來(lái)的,“關(guān)鍵字”可以是一個(gè)字段,或者是幾個(gè)字段的組合,由于各記錄均有與此關(guān)鍵字對(duì)應(yīng)的項(xiàng),便可根據(jù)這些項(xiàng)的值對(duì)各記錄按邏輯順序進(jìn)行排列。索引文件就是按此邏輯順序記錄著各關(guān)鍵字項(xiàng)及對(duì)應(yīng)的記錄號(hào)的。1.索引文件的分類

索引文件分為獨(dú)立索引文件和復(fù)合索引文件兩種。獨(dú)立索引文件只能存儲(chǔ)一個(gè)索引,擴(kuò)展名為.IDX;而復(fù)合索引可以存儲(chǔ)多個(gè)索引,擴(kuò)展名為.CDX。2.獨(dú)立索引文件1)索引文件的建立命令格式:INDEXON<關(guān)鍵字表達(dá)式>TO<索引文件名>[FOR<條件表達(dá)式>]命令功能:對(duì)當(dāng)前表文件中符合條件的記錄按給定的關(guān)鍵字表達(dá)式建立索引文件。說(shuō)明:(1)<關(guān)鍵字表達(dá)式>可以是一個(gè)字段,也可以是多個(gè)字段,當(dāng)為多個(gè)字段時(shí),必須用字符串運(yùn)算符“+”連接,各字段必須轉(zhuǎn)換為相同類型的數(shù)據(jù)才能相加;(2)關(guān)鍵字的類型可以是字符型、數(shù)值型、日期型的數(shù)據(jù),不能是備注型;(3)[FOR<條件表達(dá)式>]只對(duì)當(dāng)前表文件中滿足條件的記錄建立索引。返回3.3表的排序、索引和查詢

—表的索引2)索引文件的打開命令格式1:USE<表文件名>INDEX<索引文件名列表>命令功能1:打開表文件的同時(shí)打開指定的索引文件命令格式2:SETINDEXTO<索引文件名列表>命令功能2:若表文件已經(jīng)是打開的,則用格式2打開指定索引文件。說(shuō)明:

<索引文件名列表>中列出要打開的索引文件的名字,若要同時(shí)打開多個(gè)索引文件,則要打開的索引文件名之間用英文狀態(tài)下的“,”分隔。其中第一個(gè)索引文件是主索引文件。此時(shí),是按主索引文件的進(jìn)行顯示表中記錄的。3)索引文件的關(guān)閉命令格式:SETINDEXTO(或CLOSEINDEX)命令功能:關(guān)閉所有已打開的索引文件。4)設(shè)置主索引文件

剛建立的索引本身就是主索引,打開多個(gè)索引文件時(shí),默認(rèn)排在第一位的索引文件是主索引,在獨(dú)立索引文件中,設(shè)置主索引的命令是:命令格式:SETORDERTO<數(shù)值表達(dá)式>/<索引文件名>命令功能:在打開的索引文件中指定主索引文件。說(shuō)明:(1)<數(shù)值表達(dá)式>:從1開始為打開索引文件依次排號(hào),<數(shù)值表達(dá)式>的值即為該索引文件在<索引文件名列表>中的順序號(hào);(2)<索引文件名>:將<索引文件名>所指的索引文件設(shè)置為主索引。返回3.3表的排序、索引和查詢

—表的索引3.復(fù)合索引文件(.CDX)

復(fù)合索引文件分為:結(jié)構(gòu)復(fù)合索引文件和非結(jié)構(gòu)復(fù)合索引文件。結(jié)構(gòu)復(fù)合索引文件與表文件同名,并且只要表文件打開,該索引文件也隨之打開;非結(jié)構(gòu)復(fù)合索引文件與表文件不同名,并且不會(huì)隨著表文件的打開而打開,需要使用命令打開。1)復(fù)合索引文件的建立命令格式:INDEXON<關(guān)鍵字表達(dá)式>TAG<索引標(biāo)識(shí)符>[OF<索引文件名>][FOR<條件>][ASCENDING/DESCENDING][UNIQUE/CANDINATE][ADDITIVE]命令功能:對(duì)當(dāng)前表文件按給定關(guān)鍵字表達(dá)式值建立擴(kuò)展名為.CDX的復(fù)合索引文件。說(shuō)明:(1)TAG<索引標(biāo)識(shí)符>[OF索引文件名]:用于創(chuàng)建一個(gè)擴(kuò)展名為.CDX的復(fù)合索引文件。若無(wú)[OF索引文件名]項(xiàng),則是創(chuàng)建結(jié)構(gòu)復(fù)合索引文件,將索引標(biāo)識(shí)加在結(jié)構(gòu)復(fù)合索引文件中,索引文件名與表文件命相同,但擴(kuò)展名為.CDX;若有[OF<索引文件名>]項(xiàng),則創(chuàng)建非結(jié)構(gòu)復(fù)合索引文件,將索引標(biāo)識(shí)加在指定的非結(jié)構(gòu)復(fù)合索引文件中。(2)[ASCENDING/DESCENDING]:建立升序或降序索引,默認(rèn)是升序。(3)[UNIQUE/CANDINATE]:UNIQUE表示當(dāng)表文件中具有關(guān)鍵字表達(dá)式值相同的記錄時(shí),只有第一個(gè)記錄被放入索引文件中,CANDINATE則表示創(chuàng)建一個(gè)候選結(jié)構(gòu)化索引標(biāo)識(shí)。(4)[ADDITIVE]:在建立索引時(shí)是否關(guān)閉以前的索引,默認(rèn)是關(guān)閉已經(jīng)使用的索引,使新建的索引成為當(dāng)前索引。若有此選項(xiàng),則不關(guān)閉原先打開的所有索引文件。返回3.3表的排序、索引和查詢

—表的索引2)復(fù)合索引文件的打開結(jié)構(gòu)復(fù)合索引文件由于與表文件同名,所以隨表的打開而自動(dòng)打開,非結(jié)構(gòu)復(fù)合索引文件的打開與關(guān)閉與獨(dú)立索引文件相同。命令格式1:USE<表文件名>INDEX<非結(jié)構(gòu)復(fù)合索引文件名列表>命令功能1:打開表文件的同時(shí)打開指定的非結(jié)構(gòu)復(fù)合索引文件。命令格式2:SETINDEXTO<非結(jié)構(gòu)復(fù)合索引文件名列表>命令功能2:若表文件已經(jīng)是打開的,則用命令格式2打開指定非結(jié)構(gòu)復(fù)合索引文件。3)復(fù)合索引文件的關(guān)閉結(jié)構(gòu)復(fù)合索引文件的關(guān)閉是隨著表文件的關(guān)閉來(lái)完成的。非結(jié)構(gòu)復(fù)合索引文件的關(guān)閉與獨(dú)立索引文件的操作相同。命令格式:SETINDEXTO(或CLOSEINDEX)命令功能:關(guān)閉所有已打開的索引文件。4)設(shè)置主索引文件復(fù)合索引文件打開后,其中的索引不會(huì)自動(dòng)設(shè)置主索引標(biāo)識(shí),必須使用命令設(shè)置。命令格式:SETORDERTO<TAG索引標(biāo)識(shí)>/<數(shù)值表達(dá)式>命令功能:在打開的復(fù)合索引文件中設(shè)置主索引標(biāo)識(shí)。說(shuō)明:(1)<TAG索引標(biāo)識(shí)>:將復(fù)合索引文件中給定的<索引標(biāo)識(shí)>設(shè)置為主索引標(biāo)識(shí)。(2)<數(shù)值表達(dá)式>:將復(fù)合索引文件中第幾個(gè)索引標(biāo)識(shí)設(shè)置為主索引標(biāo)識(shí)。返回3.3表的排序、索引和查詢

—表的索引5)利用表設(shè)計(jì)器建立結(jié)構(gòu)復(fù)合索引文件(1)打開表文件,單擊“顯示”菜單,選擇“表設(shè)計(jì)器”選項(xiàng),彈出“表設(shè)計(jì)器”對(duì)話框。(2)在“表設(shè)計(jì)器”對(duì)話框中,選擇“索引”標(biāo)簽,輸入索引內(nèi)容,在“索引名”框中輸入索引的標(biāo)識(shí)名、“類型”列表中選定索引類型。(3)在“表達(dá)式”框中,鍵入作為記錄排序依據(jù)的字段名,或者通過(guò)選擇“表達(dá)式”框后面的對(duì)話框按鈕,用“表達(dá)式生成器”來(lái)建立表達(dá)式。(4)若想有選擇地輸出記錄,可在圖3-42中的“篩選”框中輸入篩選表達(dá)式,或者選擇該框后面的按鈕,通過(guò)“表達(dá)式生成器”來(lái)建立表達(dá)式。(5)單擊“確定”按鈕。4.重新索引

對(duì)表文件進(jìn)行修改、插入、刪除等操作時(shí),如果打開相應(yīng)的索引文件,則這些索引文件會(huì)隨著表文件的更新而自動(dòng)更新,否則就不會(huì)跟著變化,必須使用重新索引命令。命令格式:REINDEX命令功能:重新建立打開的索引文件。5.刪除復(fù)合索引文件中的標(biāo)識(shí)在使用復(fù)合索引文件中,可以隨時(shí)刪除索引標(biāo)識(shí)。命令格式1:DELETETAG<標(biāo)識(shí)名>[OF<復(fù)合索引文件名>]命令功能1:從指定的復(fù)合索引文件中刪除指定的索引標(biāo)識(shí)。命令格式2:DELETEALL[OF<復(fù)合索引文件名>]命令功能2:刪除指定復(fù)合索引文件的全部標(biāo)識(shí),該復(fù)合索引文件將自動(dòng)被刪除。說(shuō)明:(1)以上兩個(gè)命令都要求復(fù)合索引文件是打開狀態(tài)。(2)如果沒有[OF<復(fù)合索引文件名>]選項(xiàng),表示刪除結(jié)構(gòu)復(fù)合文件中的索引標(biāo)識(shí)。返回3.3表的排序、索引和查詢

—表的查找1.LOCATE和CONTINUE命令格式:LOCATE[<范圍>][FOR/WHILE<條件表達(dá)式>]命令功能:在當(dāng)前表文件中,查找指定范圍內(nèi)滿足條件的記錄,并把指針定位到第一個(gè)滿足條件的記錄上。說(shuō)明:(1)[范圍]:當(dāng)缺省時(shí),默認(rèn)為ALL。(2)若要繼續(xù)查找,則需使用CONTINUE命令。命令格式:CONTINUE命令功能:把指針定位到下一條滿足條件的記錄上。2.FIND命令格式:FIND<字符串/字符型變量/數(shù)值>命令功能:在索引文件中查找索引關(guān)鍵字與指定查找條件相符的第一條記錄,并將指針指向它。說(shuō)明:(1)必須打開索引文件進(jìn)行查找,而且索引文件的關(guān)鍵字必須是要查找的字段。(2)要查找的是字符型內(nèi)存變量時(shí),要使用宏替換“&”把字符型變量的值替換出來(lái)。(3)此命令只能查找符合條件的第一條記錄,若還有符合條件的記錄,可使用SKIP命令定位到該記錄上。(4)若查找成功,則FOUND()函數(shù)值為.T.,EOF()函數(shù)的值為.F.3.SEEK命令格式:SEEK<表達(dá)式>命令功能:在索引文件中查找關(guān)鍵字內(nèi)容與表達(dá)式相同的第一條記錄。說(shuō)明:(1)<表達(dá)式>可以是字符型、數(shù)值型、日期型和邏輯型數(shù)據(jù),表文件必須按相應(yīng)表達(dá)式索引。(2)可以直接查找字符型、數(shù)值型、日期型、邏輯型等內(nèi)存變量,不需要任何變換。返回3.4表的統(tǒng)計(jì)與匯總

—統(tǒng)計(jì)記錄與求和、求平均命令格式:COUNT[范圍][FOR/WHILE<條件表達(dá)式>][TO<內(nèi)存變量>]命令功能:統(tǒng)計(jì)表中指定范圍內(nèi)滿足條件的記錄的個(gè)數(shù)。說(shuō)明:(1)如果默認(rèn)全部可選項(xiàng),則統(tǒng)計(jì)表中全部記錄的個(gè)數(shù)。(2)TO<內(nèi)存變量名>:統(tǒng)計(jì)結(jié)果可以保存在內(nèi)存變量中,如果沒有此項(xiàng),只顯示不保存。命令格式:SUM[范圍][字段表達(dá)式表][FOR/WHILE<條件表達(dá)式>][TO<內(nèi)存變量名表>]命令功能:對(duì)當(dāng)前表指定范圍內(nèi)滿足條件的記錄按指定的數(shù)值型字段進(jìn)行列向求和。說(shuō)明:(1)如果默認(rèn)全部可選項(xiàng),則對(duì)表中所有的數(shù)值型字段進(jìn)行求和。(2)[范圍]、[條件]:當(dāng)沒有[范圍]時(shí),表示為ALL;[條件]與以前命令的使用方法相同。(3)[字段表達(dá)式表]:指定求和字段名,字段名之間用英文狀態(tài)的“,”分隔,若沒有此選項(xiàng),則對(duì)所有數(shù)值型字段求和。(4)TO<內(nèi)存變量名表>:將求得結(jié)果保存到內(nèi)存變量中。命令格式:AVERAGE[范圍][字段表達(dá)式表][FOR/WHILE<條件表達(dá)式>][TO<內(nèi)存變量名表>]命令功能:對(duì)當(dāng)前表指定范圍內(nèi)滿足條件的記錄按指定的數(shù)值型字段進(jìn)行求平均值,用法與SUM相同。返回3.4表的統(tǒng)計(jì)與匯總

—分類匯總

匯總命令是針對(duì)已經(jīng)排序的或已經(jīng)做了索引的表文件進(jìn)行的。它把與關(guān)鍵字段具有相同值的所有記錄中的數(shù)值字段的內(nèi)容進(jìn)行求和,作為一個(gè)記錄存放在表文件中。其中,非數(shù)值型字段的內(nèi)容就是原來(lái)表文件中與關(guān)鍵字段值相同的那一組記錄的第一個(gè)記錄的對(duì)應(yīng)字段的內(nèi)容。命令格式:TOTALON<關(guān)鍵字>TO<新表文件名>[范圍][FOR/WHILE<條件表達(dá)式>][FIELDS<字段名表>]命令功能:對(duì)當(dāng)前表指定范圍內(nèi)滿足條件的記錄,按指定的關(guān)鍵字段的不同值為類別,對(duì)指定字段分類求和,結(jié)果保存在新文件中。說(shuō)明:(1)在使用TOTAL之前,當(dāng)前表文件必須按<關(guān)鍵字>進(jìn)行排序或索引。(2)若沒有任何可選項(xiàng),表示對(duì)全部記錄的所有數(shù)值型字段按關(guān)鍵字進(jìn)行分類求和。(3)分類的結(jié)果生成新的表文件,新表文件的結(jié)構(gòu)與原來(lái)的表文件結(jié)構(gòu)相同,但沒有備注型字段。返回3.5多表的使用

—選擇工作區(qū)

對(duì)表文件做任何操作之前必須先打開該文件。要想同時(shí)使用多個(gè)表,就必須同時(shí)打開多個(gè)表,但默認(rèn)情況下,任意時(shí)刻VisualFoxPro只能打開一個(gè)表文件。原因是任何一個(gè)被打開的表文件都要占用一個(gè)“工作區(qū)”,默認(rèn)情況下只使用1號(hào)工作區(qū)。因此,表文件打開時(shí)要占用一個(gè)工作區(qū),關(guān)閉時(shí)釋放該工作區(qū)。所以在同一時(shí)刻要再打開另外一個(gè)表文件,只能自動(dòng)關(guān)閉前一個(gè)表文件。

在VisualFoxPro6.0中,可以使用32767個(gè)工作區(qū),在不同的工作區(qū)可以打開不同的表,但在任意時(shí)刻用戶只能選擇一個(gè)工作區(qū)進(jìn)行工作,即用戶只能對(duì)一個(gè)工作區(qū)中的表文件進(jìn)行操作,這個(gè)表文件被稱為當(dāng)前表,它所在的工作區(qū)稱為當(dāng)前工作區(qū)。1.工作區(qū)的表示方法

(1)數(shù)字表示法:用1,2,3,4,…,32767表示。

(2)字母表示法:用A,B,C,…表示(也可以是小寫字母)。

(3)別名表示法:在工作區(qū)打開表時(shí)指定了別名,可用別名表示該工作區(qū)。2.選擇工作區(qū)命令格式:SELECT數(shù)字區(qū)號(hào)/字母區(qū)號(hào)/別名。命令功能:選擇指定的工作區(qū)。說(shuō)明:(1)打開表文件時(shí),可以給表起一個(gè)別名。格式為:USE<文件名>ALIAS<別名>(2)用該命令選擇工作區(qū)時(shí),最后選擇的工作區(qū)是當(dāng)前工作區(qū)。(3)當(dāng)前工作區(qū)內(nèi)的表文件的字段可以直接使用,若要使用其他工作區(qū)表文件的字段,要在被訪問(wèn)字段名之前加入“別名”或加“區(qū)名”,具體使用如下:別名->字段名或別名.字段名;區(qū)名->字段名或區(qū)名.字段名。返回3.5多表的使用

—表之間建立關(guān)聯(lián)

在兩個(gè)工作區(qū)分別打開兩個(gè)表文件,讓兩個(gè)表的記錄指針能根據(jù)要求進(jìn)行同步移動(dòng),實(shí)現(xiàn)這種操作方法是在兩個(gè)區(qū)建立關(guān)聯(lián)。通過(guò)建立關(guān)聯(lián),可以使用LIST命令顯示兩個(gè)工作區(qū)表文件的內(nèi)容。命令格式:SETRELATIONTO[<關(guān)鍵字表達(dá)式>/<數(shù)值表達(dá)式>]INTO<工作區(qū)號(hào)>/<別名>命令功能:當(dāng)前工作區(qū)中的表文件與其他工作區(qū)中的表文件通過(guò)關(guān)鍵字建立關(guān)聯(lián)。說(shuō)明:(1)<關(guān)鍵字表達(dá)式>的值必須是相關(guān)聯(lián)的兩個(gè)表文件共同具有的字段,并且<別名>表文件必須已經(jīng)按<關(guān)鍵字表達(dá)式>建立了索引文件并處于打開狀態(tài);(2)如果命令中使用了<數(shù)值表達(dá)式>,則活動(dòng)區(qū)中指針變化時(shí),<別名>區(qū)中將以<數(shù)值表達(dá)式>計(jì)算的結(jié)果作為記錄序號(hào),把指針定位在對(duì)應(yīng)記錄上,此時(shí),<別名>區(qū)中的表文件不再使用索引文件;(3)執(zhí)行此命令不產(chǎn)生新表文件,稱為表間的邏輯連接;(4)當(dāng)執(zhí)行不帶參數(shù)的SETRELATIONTO命令,則是刪除當(dāng)前工作區(qū)中所有的關(guān)聯(lián)。

返回3.5多表的使用

—表之間的連接

命令格式:JOINWITH<工作區(qū)號(hào)>/<別名>TO<新表文件名>[FIELDS<字段名表>][FOR/WHILE<條件表達(dá)式>]命令功能:將不同工作區(qū)的兩個(gè)表文件,根據(jù)一定的條件進(jìn)行連接,生成新的表文件。(1)此命令應(yīng)該在當(dāng)前工作區(qū)輸入,<別名>是被連接的表文件的別名,它應(yīng)該在另一個(gè)工作區(qū)被打開。(2)新的表文件生成后,處于關(guān)閉狀態(tài)。(3)FIELDS<字段名表>:指定新表文件中所包含的字段及其排列順序,但該表中的字段必須是原來(lái)兩個(gè)表文件中所包含的字段,如果沒有此選項(xiàng),新表文件中的字段將包含原來(lái)兩表文件的所有字段,同名字段只保留一項(xiàng)。(4)[FOR/WHILE<條件表達(dá)式>]:指定兩個(gè)表文件連接的條件,只有滿足條件的記錄才能連接。(5)連接的過(guò)程:在當(dāng)前工作區(qū)的表文件中順序抽出各個(gè)記錄,每次抽出一個(gè)記錄后,就在另一個(gè)工作區(qū)的表中尋找符合條件的記錄,每找到一個(gè),就與當(dāng)前工作區(qū)的表文件中的記錄進(jìn)行連接而成為一個(gè)新記錄。這些新記錄中可能包含兩個(gè)表文件的任意字段。顯然,如果原來(lái)兩個(gè)表文件的記錄個(gè)數(shù)分別為M和N,則新表文件中就有可能有M*N個(gè)記錄。注意:JOIN命令執(zhí)行時(shí)間比較長(zhǎng),而且當(dāng)兩個(gè)表文件都相當(dāng)大、符合條件的情況又很多時(shí),可能會(huì)產(chǎn)生一個(gè)極其龐大的新的表文件,使用時(shí)要注意防止產(chǎn)生文件過(guò)大。返回3.5多表的使用

—根據(jù)另外的表文件更新當(dāng)前表文件

UPDATE命令則可以實(shí)現(xiàn)用另一個(gè)表文件中的數(shù)據(jù)來(lái)修改當(dāng)前表文件。命令格式:UPDATEON<關(guān)鍵字段名>FROM<工作區(qū)號(hào)>/<別名>REPLACE<字段名1>WITH<表達(dá)式1>[,<字段名2>WITH<表達(dá)式2>…][RANDOM]命令功能:用指定<表達(dá)式>的值修改當(dāng)前表文件中該記錄指定<字段>的值。說(shuō)明:(1)<關(guān)鍵字段名>指定的字段必須是兩個(gè)表文件中都具有的。(2)如果有[RANDOM]選項(xiàng),則只需要當(dāng)前表文件按關(guān)鍵字段建立索引或排序;如果無(wú)此選項(xiàng),則兩個(gè)表文件都必須以關(guān)鍵字段建立索引或排序。(3)當(dāng)前表文件中關(guān)鍵字段值相同的記錄有多個(gè)時(shí),只有第一個(gè)記錄被更新;如果在別名表中可以找到多個(gè)關(guān)鍵字段值相同的記錄,則先對(duì)別名表中關(guān)鍵字段值相同的記錄進(jìn)行匯總,然后再更新;如果在別名表中找不到關(guān)鍵字段相同的記錄,則不對(duì)當(dāng)前表文件中的記錄進(jìn)行更新。

返回3.6數(shù)據(jù)庫(kù)的創(chuàng)建及基本操作—?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)是指存儲(chǔ)在計(jì)算機(jī)系統(tǒng)內(nèi)有結(jié)構(gòu)的、相互關(guān)聯(lián)的數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)是指存儲(chǔ)在計(jì)算機(jī)系統(tǒng)內(nèi)有結(jié)構(gòu)的、相互關(guān)聯(lián)的數(shù)據(jù)的集合。1.菜單方式(1)在VisualFoxPro系統(tǒng)主菜單下,打開“文件”菜單,選擇“新建”命令,進(jìn)入“新建”窗口(2)在“新建”窗口,選擇“數(shù)據(jù)庫(kù)”選項(xiàng),再單擊“新建文件”按鈕,進(jìn)入“創(chuàng)建”窗口,在“數(shù)據(jù)庫(kù)名”后的文本框中輸入“學(xué)生成績(jī)管理”(3)單擊“保存”按鈕,返回到VisualFoxPro系統(tǒng)主菜單下,此時(shí)空數(shù)據(jù)庫(kù)文件“學(xué)生成績(jī)管理”已經(jīng)建成。2.命令方式命令格式:CREATEDATABASE[<數(shù)據(jù)庫(kù)名>]命令功能:創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)。說(shuō)明:如果在執(zhí)行CREATEDATABASE命令時(shí)沒有[<數(shù)據(jù)庫(kù)名>]可選項(xiàng),則彈出窗口,要求輸入數(shù)據(jù)庫(kù)文件名,確定文件所在的位置,單擊“保存”按鈕即可。返回3.6數(shù)據(jù)庫(kù)的創(chuàng)建及基本操作—打開數(shù)據(jù)庫(kù)

1.菜單方式在VisualFoxPro系統(tǒng)主菜單下,打開“文件”菜單,選擇“打開”命令,進(jìn)入“打開”窗口,在“文件類型”下拉框內(nèi),選擇數(shù)據(jù)庫(kù)類型,然后輸入要打開的數(shù)據(jù)庫(kù)名,或找到要打開的數(shù)據(jù)庫(kù)文件,單擊“確定”按鈕,進(jìn)入“數(shù)據(jù)庫(kù)設(shè)計(jì)”窗口。2.命令方式命令格式:OPENDATABASE[<數(shù)據(jù)庫(kù)名>]命令功能:打開指定的數(shù)據(jù)庫(kù)文件。說(shuō)明:如果在執(zhí)行OPENDATABASE命令時(shí)沒有[<數(shù)據(jù)庫(kù)名>]可選項(xiàng),則彈出如圖3-47的“打開”窗口,輸入要打開的數(shù)據(jù)庫(kù)文件名,確定文件所在的位置,單擊“打開”按鈕即可。返回3.6數(shù)據(jù)庫(kù)的創(chuàng)建及基本操作—向數(shù)據(jù)庫(kù)添加數(shù)據(jù)表

通常一個(gè)表文件只能屬于一個(gè)數(shù)據(jù)庫(kù)文件,如果想向當(dāng)前數(shù)據(jù)庫(kù)中添加的表已經(jīng)被添加到了別的數(shù)據(jù)庫(kù)中,則必須先將其從其他數(shù)據(jù)庫(kù)中移去后才能添加到當(dāng)前數(shù)據(jù)庫(kù)中。1.菜單方式(1)在VisualFoxPro系統(tǒng)主菜單下,打開“學(xué)生成績(jī)管理”數(shù)據(jù)庫(kù),進(jìn)入“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口,在此窗口中右擊,彈出“數(shù)據(jù)庫(kù)”快捷菜單(2)選擇“添加表”選項(xiàng),進(jìn)入“打開”窗口,在此窗口選擇要添加的表文件名“學(xué)生表”,則表文件添加到“學(xué)生成績(jī)管理”數(shù)據(jù)庫(kù)中,單擊“確定”按鈕,返回“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口。2.命令方式命令格式:ADDTABLE<表文件名>命令功能:向已經(jīng)打開的數(shù)據(jù)庫(kù)中添加指定的表文件。返回3.6數(shù)據(jù)庫(kù)的創(chuàng)建及基本操作—從數(shù)據(jù)庫(kù)移去數(shù)據(jù)表

1.菜單方式在“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口,先激活要?jiǎng)h除的表文件,然后在VisualFoxPro系統(tǒng)主菜單中,打開“數(shù)據(jù)庫(kù)”菜單,選擇“移去”命令,單擊“移去”按鈕即可。2.命令方式命令格式:REMOVETABLE<表文件名>[DELETE]命令功能:從當(dāng)前數(shù)據(jù)庫(kù)中移去或刪除一個(gè)數(shù)據(jù)表。說(shuō)明:執(zhí)行該命令時(shí),如果有[DELETE]選項(xiàng),表示在移去數(shù)據(jù)表的同時(shí)刪除數(shù)據(jù)表文件,否則是從數(shù)據(jù)庫(kù)中移去數(shù)據(jù)表文件,使之成為自由表。關(guān)閉數(shù)據(jù)庫(kù)命令格式:CLOSEDATABASE或CLOSEALL命令功能:關(guān)閉所有打開的數(shù)據(jù)庫(kù)和表。刪除數(shù)據(jù)庫(kù)命令格式:DELETEDATABASE<數(shù)據(jù)庫(kù)名>[DELETETABLES]命令功能:刪除指定的數(shù)據(jù)庫(kù)文件。說(shuō)明:如果有[DELETETABLES]選項(xiàng),表示刪除數(shù)據(jù)庫(kù)的同時(shí)也刪除庫(kù)中的表文件;否則表示刪除數(shù)據(jù)庫(kù)之后,庫(kù)中的表將成為自由表。返回3.6數(shù)據(jù)庫(kù)的創(chuàng)建及基本操作—設(shè)置字段屬性

3.6.7設(shè)置字段屬性在將表添加到數(shù)據(jù)庫(kù)中后,可以獲得許多自由表中不具備的屬性。作為數(shù)據(jù)庫(kù)的一部分,這些屬性將被保存,當(dāng)表從數(shù)據(jù)庫(kù)中移去時(shí),這些屬性也就不再存在了。1.設(shè)置字段標(biāo)題【例3-42】給“學(xué)生成績(jī)管理”數(shù)據(jù)庫(kù)中的“學(xué)生表”的“學(xué)號(hào)”字段設(shè)置標(biāo)題為“入學(xué)年號(hào)系號(hào)序號(hào)”。操作步驟如下:(1)打開“學(xué)生成績(jī)管理”數(shù)據(jù)庫(kù),進(jìn)入到“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口,單擊“學(xué)生表”并選中它,在“學(xué)生表”內(nèi)右擊,彈出快捷菜單;(2)選中“修改”選項(xiàng),打開“表設(shè)計(jì)器”窗口,選中“學(xué)號(hào)”字段,在下面的“標(biāo)題”文本框內(nèi)輸入“入學(xué)年號(hào)系號(hào)序號(hào)”。(3)單擊“確定”按鈕,彈出對(duì)話框,單擊“是”按鈕,返回到“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口(4)打開“顯示”菜單,選擇“瀏覽”選項(xiàng),打開了“學(xué)生表”的瀏覽窗口,原來(lái)“學(xué)號(hào)”字段由“入學(xué)年號(hào)系號(hào)序號(hào)”替代。返回3.6數(shù)據(jù)庫(kù)的創(chuàng)建及基本操作—設(shè)置字段屬性

2.設(shè)置有效性規(guī)則及說(shuō)明【例3-43】給“學(xué)生表”中的“入學(xué)成績(jī)”字段設(shè)置有效規(guī)則。操作步驟如下:(1)打開“學(xué)生成績(jī)管理”數(shù)據(jù)庫(kù),選中“學(xué)生表”,并右擊選擇“修改”選項(xiàng),進(jìn)入“表設(shè)計(jì)器”,選中“學(xué)生表”的“入學(xué)成績(jī)”字段,在“規(guī)則”后的文本框中輸入“入學(xué)成績(jī)<600”,“信息”后的文本框中輸入“入學(xué)成績(jī)應(yīng)該小于600分”。(2)單擊“確定”按鈕,單擊“是”,返回到“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口。(3)打開“顯示”菜單,選擇“瀏覽”選項(xiàng),打開了“學(xué)生表”的瀏覽窗口,修改第一條記錄的“入學(xué)成績(jī)”為666.60,此時(shí)彈出對(duì)話框,給出輸入錯(cuò)誤的提示。(4)單擊“還原”按鈕,返回“瀏覽”窗口,恢復(fù)修改前的數(shù)據(jù);若單擊“確定”按鈕,則光標(biāo)回到入學(xué)成績(jī)處,可繼續(xù)修改。3.設(shè)置字段的默認(rèn)值為了提高表中數(shù)據(jù)輸入的速度和準(zhǔn)確性,可以設(shè)置字段的默認(rèn)值,這樣就可以使系統(tǒng)在建立新記錄后自動(dòng)給字段賦默認(rèn)值?!纠?-44】給“學(xué)生表”中的“團(tuán)員否”字段設(shè)置默認(rèn)值.T.。操作步驟如下:(1)打開“學(xué)生成績(jī)管理”數(shù)據(jù)庫(kù),選中“學(xué)生表”并右擊,選擇“修改”,進(jìn)入“表設(shè)計(jì)器”,選中“學(xué)生表”的“團(tuán)員否”字段,在“默認(rèn)值”后的文本框中輸入“.T.”。(2)單擊“確定”。此時(shí),在“瀏覽”窗口,打開“顯示”菜單,選中“追加”選項(xiàng),會(huì)看到追加了一條記錄,指針定位在追加記錄上,并且“團(tuán)員否”字段的值自動(dòng)為.T.。返回3.6數(shù)據(jù)庫(kù)的創(chuàng)建及基本操作—設(shè)置字段屬性

4.設(shè)置輸入掩碼和字段注釋為了提高表中數(shù)據(jù)輸入的速度和準(zhǔn)確性,可以設(shè)置字段的掩碼;為了提高數(shù)據(jù)表的使用效率及其共享性,可以對(duì)字段加以注釋,以清楚地掌握字段的屬性、意義及用途?!纠?-45】給“學(xué)生表”中增加“電話號(hào)碼”字段,并為其設(shè)置“輸入掩碼”和“字段注釋”。操作步驟如下:(1)打開“學(xué)生成績(jī)管理”數(shù)據(jù)庫(kù),選中“學(xué)生表”并右擊,選擇“修改”,進(jìn)入“表設(shè)計(jì)器”,選擇“班級(jí)”字段,單擊“插入”按鈕,在“班級(jí)”字段前插入了新字段。(2)在新字段處輸入“電話號(hào)碼”,在“輸入掩碼”后的文本框中輸入“9999-99999999”,在“字段注釋”中輸入“輸入學(xué)生的家庭電話或能與家庭聯(lián)系的電話”,(3)單擊“確定”,單擊“是”,返回到“

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論