第三講 vfp自由表_第1頁
第三講 vfp自由表_第2頁
第三講 vfp自由表_第3頁
第三講 vfp自由表_第4頁
第三講 vfp自由表_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第三講自由表重要內(nèi)容表文件結(jié)構(gòu)的創(chuàng)建和修改輸入表數(shù)據(jù)表的基本操作修改和刪除記錄數(shù)據(jù)1.表的結(jié)構(gòu)一個表文件對應(yīng)一張二維表二維表的數(shù)據(jù)項稱為字段字段名是數(shù)據(jù)項在表中的名稱表文件也是一個磁盤文件,文件的后綴名為.DBF建立表前必須定義表結(jié)構(gòu),即必須明確該表所包含的字段及其字段名、字段類型、字段寬度、小數(shù)位數(shù)。表結(jié)構(gòu)與相應(yīng)的數(shù)據(jù)構(gòu)成了表文件下面敘述數(shù)據(jù)結(jié)構(gòu)的幾個部分1.1字段名字段名必須以字母或漢字開頭,其他可以是字母、漢字、數(shù)字和下劃線“_”。1.2字段類型在VFP中,字段類型主要有13種。一個字段只允許存放一種類型的數(shù)據(jù)。字符型字段(C):即Character字段,可逐字存儲所有能打印的ASCII字符及空格符,還包括所有漢字系統(tǒng)的可打印的漢字和各種符號即任何文本。數(shù)值型字段(N):即Numeric字段,用以存儲可參與加減乘除運算的為0、1、2、3、4、5、6、7、8、9(包括負(fù)數(shù))等數(shù)值的數(shù)據(jù)。浮點數(shù)值型字段(F):即Float或叫浮動型字段,與N型字段相同,是數(shù)值類型,以ASCII碼形式表示,均以IEEE所描述的二進制浮點表示型式存儲。雙精度數(shù)據(jù)型字段(B):即Double字段,當(dāng)用戶需要更精確的數(shù)值時,可用雙精度數(shù)據(jù)代替數(shù)值型數(shù)據(jù)。整數(shù)型字段(Integer):裝入整數(shù)值。貨幣型字段(Y):即Currency字段,它裝入表示貨幣量的數(shù)據(jù)而代替用數(shù)值型數(shù)據(jù)表示貨幣。邏輯型字段(L):即Logical字段,用以存放真或假兩個邏輯值。日期型字段(D):即Date字段,用以存儲不帶時間值的日期數(shù)據(jù),可反映日期格式,可檢查日期輸入合法性。日期時間型字段(T):即DateTime字段,既可以存儲日期,也可以存儲時間或者兩者兼有的值。備注型字段(M):即Memo字段,用以存儲大量的文字信息。通用型字段(G):即General字段。它類似一個備注型字段,但主要用來支持Microsoft的對象鏈接和嵌入OLE。二進制字符型字段:即Character(binary)字段。它可裝入想維持的不用通過代碼頁轉(zhuǎn)變的任何字符數(shù)據(jù)。它的值的范圍是任何字符。二進制備注型字段:即Memo(Binary)字段。它可裝入想維持的、不用通過代碼頁轉(zhuǎn)變的任何備注字段數(shù)據(jù)。它的范圍僅受現(xiàn)有內(nèi)存限制。1.3字段寬度字段寬度就是字段中能夠存放的最大字符數(shù)或數(shù)值的最大位數(shù)。字符型字段不得大于254個字符,超過254個字符的文本用備注型字段的備注文件存儲。浮點型(F)和數(shù)值型字段(N)的寬度=整數(shù)位數(shù)+小數(shù)位數(shù)+1(小數(shù)點),其字段寬度不能超過20字節(jié),有效位數(shù)為16位。其他幾個類型的字段寬度是系統(tǒng)規(guī)定的,不用用戶設(shè)定。1.4小數(shù)位若字段的類型是數(shù)值型(N)和浮點型(F),就須給出小數(shù)位數(shù)。若是整數(shù),小數(shù)位是0;小數(shù)部分的長度是總長的一部分,其小數(shù)位不能大于19.雙精度小數(shù)位不能大于18,它不像數(shù)值型數(shù)據(jù),當(dāng)輸入值時,應(yīng)由用戶自己決定小數(shù)點的位置。2.建立表結(jié)構(gòu)格式:CREATE[<文件>|?]功能:建立一個新的表文件。注:我們一般只給出命令的簡單形式,相應(yīng)命令的完整形式參見VFP軟件的幫助。說明:用戶不能建立MS-DOS設(shè)備名為名的表(CON,NUL,PRN,COM1…),還應(yīng)避免使用在窗口中不能看見容易和別名只是(->)混淆的連接字符。現(xiàn)在建立文檔表結(jié)構(gòu),文件名為DF.DBF,如表4-1所示。NAME(字段名)Type(類型)Width(寬度位)Dec(小數(shù)位)(1)登錄號(DEN)字符型(C)9(2)登錄時間(STIM)日期型(D)8(3)關(guān)鍵詞或分類號(NO)字符型(C)11(4)行文者號(WO)字符型(C)10(5)文檔名(BK)字符型(C)50(6)行文者名(WR)字符型(C)50(7)行文地(AD)字符型(C)50(8)登出刊物(UN)字符型(C)20(9)行文時間(TIM)日期型(D)8(10)頁數(shù)(P)數(shù)字型(N)3(11)涉及金額(SI)數(shù)字型(N)11(12)該文處理情況(Z)字符型(D)50(13)摘要(CO)備注型(Memo)4表4-1DF.DBF表結(jié)構(gòu)直接用漢字項目名作為字段名,建立表結(jié)構(gòu)的方法如下:直接鍵入:CREATEDF<CR>建立名為DF的表文件。<CR>表示回車鍵,所有命令均用它結(jié)束。間接鍵入:CREATE?如果用戶沒有給出文件名或只給出問號(?),則出現(xiàn)對話框,用戶就能輸入想要建立的表名。此時出現(xiàn)表設(shè)計器,即CREATE表結(jié)構(gòu)對話屏幕。選插入(I)按鈕后,在此對話框中,去定義將存在于表中的字段。3.修改表結(jié)構(gòu)格式:MODIFYSTRUCTURE功能:顯示表文件結(jié)構(gòu),并允許修改此表的結(jié)構(gòu)。說明:執(zhí)行此命令后,VFP會出現(xiàn)一個顯示表結(jié)構(gòu)的對話框。如果表不是在當(dāng)前打開的工作區(qū),系統(tǒng)將讓用戶選擇要修改的表。用戶可以對表結(jié)構(gòu)進行如下改動:增加字段和刪除;修改字段名、大小和數(shù)據(jù)類型;增加、刪除或者修改索引標(biāo)識等。在用戶改變表的結(jié)構(gòu)前,VFP自動地備份當(dāng)前的表。備份文件擴展名是.BAK,備注備份文件的擴展名是.TBK。如果在用MODIFYSTRUCTURE修改表結(jié)構(gòu)時出現(xiàn)任何錯誤,用戶可以把新的表結(jié)構(gòu)文件刪掉,并把.BAK文件和.TBK文件改變?yōu)樵募U展名.DBF和.FPT。例4.1

修改DF.DBF表文件的結(jié)構(gòu),刪除字段“涉及金額”(SI),在“行文地”字段前加一個字符型字段“備用”,其字段長度為15,將登錄號寬度改為10。

USEDFLISTSTRUCTURE&&DF表結(jié)構(gòu)字段類表見表4-1MODIFYSTRUCTURE

當(dāng)光標(biāo)在“行文地”時,按對話框中的插入按鈕插入一個字段后建立“備用”字段,然后把光標(biāo)移到“涉及金額”字段,按刪除按鈕,然后把光標(biāo)移到”登錄號“字段,改變寬度位10,最后按確定按鈕存入。

例4.2

將此DF.DBF新表中的“備用”字段改為圖像,字段改為通用型。命令窗口中鍵入:

USEDFMODIFYSTRUCTURE屏幕出現(xiàn)表結(jié)構(gòu)對話框。當(dāng)光標(biāo)在“備用”字段時,將備用字段改為“圖像”字段(通用型)后,按所述方法存儲退出。

LISTSTRUCTURE可以看到上面的表結(jié)構(gòu)列表中第7號字段變?yōu)椤皥D像通用型4”了。重要內(nèi)容表文件結(jié)構(gòu)的創(chuàng)建和修改輸入表數(shù)據(jù)表的基本操作修改和刪除記錄數(shù)據(jù)1.CREATE命令期間輸入數(shù)據(jù)當(dāng)VFP系統(tǒng)提示“現(xiàn)在輸入數(shù)據(jù)記錄嗎?”時,如果選擇是(Y),系統(tǒng)則打開一個表窗口,這是一個允許輸入數(shù)據(jù)到當(dāng)前數(shù)據(jù)庫末尾的若干個空白新記錄組成的表。在此窗口中,示出上下一個接一個的記錄的全部字段,可一次輸入這些字段的數(shù)據(jù)。當(dāng)完成輸入時,用鼠標(biāo)單擊此窗口右上角的按鈕關(guān)閉窗口,便可退出完成。2.表添加命令作用:在當(dāng)前表的尾部(無論表中有無記錄)追加記錄(當(dāng)前表指當(dāng)前正使用的表)。格式:APPEND[BLANK]說明:使用APPEND或APPENDBLANK命令給一個表文件的末尾添加記錄,一般應(yīng)先打開此表,則VFP的屏幕上將出現(xiàn)一個打開的對話框,用戶可從中選擇一個表來添加記錄。3.在表中插入記錄命令格式:INSERT[BEFORE][BLANK]功能:在表文件中間插入一個記錄。說明:在表中,系統(tǒng)有一個用來指示記錄位置的指針,指針當(dāng)前所在的記錄成為當(dāng)前記錄。任選項[BEFORE]表示在當(dāng)前記錄前插入,否則在當(dāng)前記錄之后插入。[BLANK]表示插入空記錄。命令:INSERT在當(dāng)前記錄后插入一記錄INSERTBEFORE在當(dāng)前記錄前插入一記錄INSERTBEFOREBLANK在當(dāng)前記錄前插入一個空記錄例4.3

在DF表文件第2個記錄之前插入一個新記錄:

8003,文件,向科協(xié)的報告,狐貍軟件室,電01/01/91,0,Memo在原第2個記錄之后插入一個空記錄:

USEDF&&打開DF表文件

GOTO2&&指針移到第2個記錄

INSERTBEFORE&&在第2個記錄之前插入一個新記錄

GO3&&指針移到第3個記錄

INSERTBLANK&&在第3個記錄之后插入一個空記錄

LIST&&顯示所有記錄的內(nèi)容重要內(nèi)容表文件結(jié)構(gòu)的創(chuàng)建和修改輸入表數(shù)據(jù)表的基本操作修改和刪除記錄數(shù)據(jù)1.打開和關(guān)閉表文件打開表格式:USE[<文件名>]命令:USE<文件名>作用:打開<文件名>指定的表文件,該表若有備注型字段,則同時打開相應(yīng)的備注文件。關(guān)閉表命令:USE作用:關(guān)閉當(dāng)前打開的表文件2.表的顯示和列表建立表以后,用戶根據(jù)需要經(jīng)常要對表進行各種查詢顯示和打印。2.1顯示表的記錄LIST命令格式:LIST[OFF][<范圍>][FIELDS]<表達(dá)式表>[WHILE<條件>][FOR<條件>][TOPRINT|TOFILE<文件>]功能:連續(xù)顯示表(.DBF)的內(nèi)容。說明:用戶可根據(jù)自己的需要確定上面的任選項,組合LIST命令的各種功能、形式。在WHILE和FOR同時存在時,WHILE表達(dá)式有較高的優(yōu)先權(quán),而FOR子句用來過濾由WHILE挑選出的記錄。例4.4USEDFLIST&&顯示當(dāng)前表文件的全部記錄及記錄號

LISTRECORD2&&只顯示指定范圍的記錄,即第2號記錄

GO2LISTNEXT2&&顯示當(dāng)前記錄開始的兩個記錄

LISTREST&&顯示當(dāng)前記錄開始至文件末尾的所有記錄

LIST文檔名,行文者名,摘要FOR行文時間=CTOD(“01/07/91”)&&顯示行文時間等于1991年1月7日文檔名、行文者名和摘要,并用打印機打出例題說明:CTOD是字符型轉(zhuǎn)換為日期型的函數(shù),對日期型字段進行操作必須配合有關(guān)函數(shù)。注意:要用LIST命令顯示備注字段的內(nèi)容時,必須在LIST之后指出該字段名,否則只能顯示出Memo字樣。DISPLAY命令格式:DISPLAY[OFF][<范圍>][FIELDS]<表達(dá)式表>[WHILE<條件>][FOR<條件>][TOPRINT|TOFILE<文件>]DISPLAY命令除了以下幾點外,其他與LIST命令功能作用相同。VFP的DISPLAY命令每顯示一個窗口的信息暫停一次。用戶打任意鍵繼續(xù)顯示,而LIST顯示不暫停。DISPLAY命令省略范圍選擇項時,僅顯示當(dāng)前記錄,而LIST命令則顯示所有記錄。例4.5

顯示DF表的第2個記錄的內(nèi)容。

USEDFGO2DISPLAYOFF2.2顯示表的結(jié)構(gòu)格式1:LISTSTRUCTURE[TOPRINT|TOFILE<文件>]格式2:DISPLAYSTRUCTURE[TOPRINT|TOFILE<文件>]說明:這兩個命令的作用是顯示當(dāng)前表文件的結(jié)構(gòu),包括文件名、表記錄個數(shù)、表建立的日期、每個字段的定義以及一個記錄的字節(jié)總數(shù)、備注字段的塊長度等。如果表由一個結(jié)構(gòu)復(fù)合索引,則該索引與表一起顯示,選[TOFILE<文件>],可將信息輸送到<文件>磁盤文件。例4.6

顯示DF庫的表結(jié)構(gòu)。USEDFLISTSTRUCTURE這里,總計的寬度比累計的寬度大1,這個字節(jié)是系統(tǒng)記錄刪除標(biāo)志用的。3.記錄定位打開表有一個記錄指針,有一些命令可以移動指針,定位命令是最直接的一種。表剛打開,指針總是指向第一個記錄的位置,如有需要,可用GOTO命令或SKIP命令移動指針。格式1:GO[TO]RECORDn定位到n號記錄

TOP定位到第1個記錄

BOTTOM定位到最后一個記錄格式2:n定位到n號記錄,n可以是數(shù)值表達(dá)式例4.7

USEDFGOBOTTOMDISPLAYGOTOTOPDISPLAY3DISPLAY格式3:SKIP[+|-]作用:以當(dāng)前記錄為基準(zhǔn)前移(-)或者后移(+)n個記錄。說明:不選任何項,則默認(rèn)n=+1,即SKIP=SKIP+1。n前不加符號,則默認(rèn)為“+”,即SKIPn=SKIP+n。SKIP命令是相對移動,GOTO命令是絕對移動。SKIP命令上移不能超過首記錄,下移不能超過末記錄。例4.8

USEDF4(指針指向第4號記錄)

N=-6SKIPN+4(等于SKIP-2)

DISPLAY注:用戶也可以使用菜單的方法進行記錄的定位。重要內(nèi)容表文件結(jié)構(gòu)的創(chuàng)建和修改輸入表數(shù)據(jù)表的基本操作修改和刪除記錄數(shù)據(jù)1.修改表數(shù)據(jù)1.1按記錄的字段縱向排列顯示修改(EDIT和CHANGE)CHANGE[<范圍>][FIELDS<字段名表>][WHILE<條件>][FOR<條件>]功能:顯示要編輯或修改的字段。說明:EDIT命令與CHANGE命令等效。在CHANGE中不選[<范圍>]任選項,表示默認(rèn)所有記錄。例4.9

用CHANGE命令修改文獻(xiàn)表DF中行文者名為劉炎的那個記錄的“行文地”為電腦世界,行文時間改為92/01/07。

USEDFCHANGEFIELDS行文地,行文時間FOR行文者名=“劉炎”計算機世界,01/07/91&&DF表中第3號記錄此兩字段的內(nèi)容(注:用鍵盤將之分別改為電腦世界和01/07/92,按Ctrl+W鍵存儲退出便可。)

LISTFOR行文者名=“劉炎”2.刪除表記錄2.1刪除記錄命令DELETE格式:DELETE[<范圍>][WHILE<條件>][FOR<條件>][IN<工作區(qū)號>|<表別名>][NOOPTIMIZE]功能:給要刪除的記錄作刪除標(biāo)記。說明:本命令只給記錄作刪除標(biāo)記;直到用PACK命令時,標(biāo)記為刪除的記錄才從表中真正實現(xiàn)物理刪除;被標(biāo)記為刪除的記錄可以用RECALL來恢復(fù)(不標(biāo)記)。例4.15

對DF.DBF文件中的4號記錄作刪除標(biāo)記。

USEDF4DELETE

溫馨提示

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

最新文檔

評論

0/150

提交評論