第2章(辦公自動(dòng)化)_第1頁(yè)
第2章(辦公自動(dòng)化)_第2頁(yè)
第2章(辦公自動(dòng)化)_第3頁(yè)
第2章(辦公自動(dòng)化)_第4頁(yè)
第2章(辦公自動(dòng)化)_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第二章表的基本操作2.1表的建立與修改2.2表達(dá)式2.3表的維護(hù)命令2.1表的建立與修改2.1.1表結(jié)構(gòu)的建立一、設(shè)計(jì)表的結(jié)構(gòu)編號(hào)名稱啟用日期價(jià)格部門主要設(shè)備備注商標(biāo)016-1車床03/05/9062044.6121.T.Memogen016-2車床01/15/9227132.7321.T.memogen037-2磨床07/21/90241292.1222.T.memogen038-1鉆床10/12/895275.0023.F.Memogen100-1微機(jī)08/12/978810.0012.T.memoGen101-1復(fù)印機(jī)06/12/9210305.0112.F.memogen210-1轎車05/08/95151000.0011.F.memoGen表2-1設(shè)備清單表由結(jié)構(gòu)和數(shù)據(jù)兩部分組成。表結(jié)構(gòu)的建立就是定義各字段的屬性,基本的字段屬性可包括字段名、字段類型、字段寬度和小數(shù)位數(shù)等1.字段名字段名:用來標(biāo)識(shí)字段,是一個(gè)以字母或漢字開頭,長(zhǎng)度不超過10的字母、漢字、數(shù)字、下劃線序列。文件名:最多255個(gè)字符,\/:?*“<>|不能使用2.類型與寬度類型代號(hào)說明字段寬度范圍字符型C存放從鍵盤輸入的可顯示或打印的漢字和字符1個(gè)字符占1個(gè)字節(jié)最多254個(gè)字節(jié)數(shù)值型N存放由正負(fù)號(hào)、數(shù)字和小數(shù)點(diǎn)所組成且能參與數(shù)值運(yùn)算的數(shù)據(jù)最多20位-0.9999999999E+19到0.9999999999E+20貨幣型Y與數(shù)值型不同的是數(shù)值保留4位小數(shù)8個(gè)字節(jié)-922337203685477.5808到922337203685477.5807日期型D格式為mm/dd/yy,mm、dd、yy分別代表月、日、年。例如05/15/95表示1995年5月15日8個(gè)字節(jié)01/01/001到12/31/9999表2-2字段類型與寬度類型代號(hào)說明字段寬度范圍日期時(shí)間型T存放日期與時(shí)間。例如05/15/9512:00:00AM表示1995年上午12點(diǎn)鐘8個(gè)字節(jié)01/01/001到12/31/9999,加上午00:00:00到下午11:59:59邏輯型L存放邏輯值T或F。T表示“真”;F表示“假”1個(gè)字節(jié)“真”值.T.或“假”值.F.浮點(diǎn)型F同數(shù)值型,為與其它軟件兼容而設(shè)置整型I存放不帶小數(shù)點(diǎn)的數(shù)值4個(gè)字節(jié)-27147483747到27147483747雙精度型B存放精度要求較高的數(shù)值,或真正的浮點(diǎn)數(shù)8個(gè)字節(jié)+/-4.94065645841247E-324到+/-8.9884656743115E307備注型M能接受一切字符型數(shù)據(jù),數(shù)據(jù)保存在與表主名相同的備注文件中,其擴(kuò)展名為.FPT。該文件隨表的打開自動(dòng)打開,但被損壞或丟失表就打不開。4個(gè)字節(jié)只受存儲(chǔ)空間限制通用型G用來存放圖形、電子表格、聲音等多媒體數(shù)據(jù)。數(shù)據(jù)也儲(chǔ)存于擴(kuò)展名為.FPT的備注文件中。4個(gè)字節(jié)只受存儲(chǔ)空間限制3.小數(shù)位數(shù)注意:小數(shù)點(diǎn)和正負(fù)號(hào)都須在字段寬度中占一位。表2-3設(shè)備表的結(jié)構(gòu)字段名類型寬度小數(shù)位數(shù)編號(hào)字符型5名稱字符型6啟用日期日期型8價(jià)格數(shù)值型92部門字符型2主要設(shè)備邏輯型1備注備注型4商標(biāo)通用型4方便起見,上述表結(jié)構(gòu)也可表示為:SB(編號(hào)C(5),名稱C(6),啟用日期D,價(jià)格N(9,2),部門C(2),主要設(shè)備L,備注M,商標(biāo)G)。二、建立表的結(jié)構(gòu)兩個(gè)約定:⑴菜單操作方式中,用“→”來表示下一步驟。⑵用戶文件均建立在D:\xxx目錄下(xxx表示姓名縮寫)。指定路徑方法:①“工具”菜單→“選項(xiàng)”命令圖2-1設(shè)置默認(rèn)目錄②在命令窗口內(nèi)鍵入命令:SETDEFAULTTOD:\xxx。命令窗口的顯示與隱藏:隱藏:“窗口”菜單→“隱藏”命令;顯示:“窗口”菜單→“命令窗口”命令,或按快捷鍵Ctrl+F2。【例2-1】建表操作示例:建立表SB.DBF的結(jié)構(gòu)。⑴菜單方式建表。設(shè)置路徑:SETDEFAULTTOD:\xxx。選擇“文件”菜單→“新建”命令,出現(xiàn)如圖2-2所示對(duì)話框。

圖2-2新建對(duì)話框圖2-3創(chuàng)建對(duì)話框在“創(chuàng)建”對(duì)話框中輸入表名后出現(xiàn)如圖2-4所示的表設(shè)計(jì)器。圖2-4表設(shè)計(jì)器的字段選項(xiàng)卡⑵命令方式建表。設(shè)置路徑:SETDEFAULTTOD:\xxx。在命令窗口中鍵入“creatsb.dbf”或“creatsb”,回車后即可出現(xiàn)sb.dbf的表設(shè)計(jì)器。⑶設(shè)定表中各字段的屬性值。字段屬性設(shè)置完成后,單擊“確定”按鈕,即出現(xiàn)如圖2-5所示的對(duì)話框。圖2-5輸入記錄詢問對(duì)話框2.1.2表數(shù)據(jù)的輸入圖2-6記錄編輯窗口一、數(shù)據(jù)輸入要點(diǎn)⑴表的數(shù)據(jù)可通過記錄編輯窗口按記錄逐個(gè)字段輸入。用其它方法輸入或修改⑵邏輯字段只能接受T,Y,F(xiàn),N這4個(gè)字母之一(不分大小寫)。⑶日期型數(shù)據(jù)必須與日期格式相符,默認(rèn)按美國(guó)日期格式mm/dd/yy。設(shè)置中國(guó)日期格式y(tǒng)y.mm.dd:在命令窗口中鍵入:SETDATEANSI。設(shè)置美國(guó)日期格式mm/dd/yy:在命令窗口中鍵入:SETDATEAMERICAN。顯示/隱藏“世紀(jì)”:在命令窗口中鍵入:SETCENTURYON|OFF。⑷備注型(memo)或通用型(gen)字段的輸入方法:若不想輸入數(shù)據(jù)可按回車鍵跳過;若要輸入數(shù)據(jù),按Ctrl+PgDn或用鼠標(biāo)雙擊能打開相應(yīng)的字段編輯窗口。注意:某記錄的備注型或通用型字段非空時(shí),其字段標(biāo)志首字母將以大寫顯示。二、備注型字段數(shù)據(jù)的輸入打開當(dāng)前記錄的備注型字段編輯窗口就可以輸入工修改備注信息。備注字段的文本可利用編輯菜單進(jìn)行剪切、復(fù)制、粘貼,還可利用格式菜單的字體選項(xiàng)設(shè)置字體、字體樣式、字的大小。三、編輯窗口的打開與關(guān)閉表2-4編輯窗口打開或關(guān)閉的方法窗口開關(guān)操作記錄編輯窗口備注型或通用型字段編輯窗口打開打開表,選定顯示菜單的瀏覽命令雙擊memo或gen區(qū),或光標(biāo)在該區(qū)時(shí)按Ctrl+PgDn關(guān)閉數(shù)據(jù)存盤單擊窗口右上角的關(guān)閉按鈕或按Ctrl+W鍵廢棄本次輸入的數(shù)據(jù)按Esc鍵或Ctrl+Q鍵四、表的打開與關(guān)閉1.用USE命令來打開或關(guān)閉表命令格式:USE[<文件名>]功能:在當(dāng)前工作區(qū)中打開或關(guān)閉表。(.DBF和.FPT)說明:⑴<文件名>表示被打開的表的名字;缺省<文件名>表示關(guān)閉當(dāng)前工作區(qū)。⑵打開一個(gè)表時(shí),該工作區(qū)中原來打開的表會(huì)自動(dòng)關(guān)閉。⑶表剛打開時(shí),記錄指針指向第一個(gè)記錄。⑷表操作結(jié)束后就及時(shí)關(guān)閉,以便將內(nèi)存的數(shù)據(jù)保存到表中。2.打開表的其它常用方法⑴通過文件菜單的打開命令來打開表?!拔募辈藛巍按蜷_”命令圖2-7打開對(duì)話框注意:若要修改表結(jié)構(gòu)或記錄,還應(yīng)選定打開對(duì)話框中的“獨(dú)占”復(fù)選框。3.關(guān)閉表的其它方法⑴可用下列命令之一來關(guān)閉表。CLEARALL(注意與CLEAR的區(qū)別)CLOSEALLCLOSEDATABASE[ALL]CLOSETABLES[ALL]⑵通過窗口菜單的數(shù)據(jù)工作期命令來關(guān)閉表。⑶通過退出VFP來關(guān)閉。選定“文件”菜單的“退出”命令,或在命令窗口中鍵入命令QUIT。2.1.3表結(jié)構(gòu)的修改一、打開表設(shè)計(jì)器來修改表結(jié)構(gòu)前提:表必須打開。表設(shè)計(jì)器的打開方法:⑴打開“顯示”菜單→“表設(shè)計(jì)器”。⑵在命令窗口中鍵入命令:MODIFYSTRUCTURE。圖2-4表設(shè)計(jì)器的字段選項(xiàng)卡二、利用表向?qū)硇薷谋斫Y(jié)構(gòu)1.打開表向?qū)?duì)話框的方法方法一:“文件”菜單→“新建”命令→“表”單選框→“向?qū)А卑粹o。方法二:“工具”菜單→選定“向?qū)А泵畹摹氨怼弊用?。圖2-8表向?qū)?duì)話框2.字段選取窗口的操作⑴選表:利用“加入”按鈕添加需要的表,并在樣表中列表中選定它。⑵確定字段:用戶所要的字段應(yīng)從“可用字段”列表中選取,并使用箭頭按鈕將它們送到“選定字段”列表中。⑶選定下一步按鈕進(jìn)入修改字段設(shè)置窗口。其它步驟一般可省略。按“完成”按鈕是操作表向?qū)У淖詈笠徊健?.1.4表數(shù)據(jù)的修改一、兩種記錄顯示方式1.編輯方式一個(gè)字段占一行,記錄按字段豎直排列。2.瀏覽方式一個(gè)記錄占一行。(a)編輯窗口(b)瀏覽窗口圖2-9編輯窗口與瀏覽窗口3.顯示格式的切換顯示格式可通過“顯示”菜單來切換。

(a)沒有表被打開(b)打開sb.dbf(c)打開sb.dbf并瀏覽二、瀏覽窗口的操作1.打開瀏覽窗⑴界面操作方式打開要瀏覽的表(例如sb.dbf),然后選定顯示菜單的瀏覽命令。⑵命令方式在命令窗口先后發(fā)出以下命令:USE<表名>&&例如USEsbBROWSE&&瀏覽命令2.滾動(dòng)查看3.一窗兩區(qū)(a)一窗兩區(qū)(b)表菜單圖2-11具有兩個(gè)分區(qū)的瀏覽窗口【例2-2】以一窗兩區(qū)顯示SB.DBF的數(shù)據(jù),要求一窗瀏覽,一窗編輯。三、在記錄窗口追加與刪除記錄⑴記錄的追加追加方式:在表末追加一個(gè)新記錄,連續(xù)追加。追加記錄:在表末僅添加一個(gè)記錄。⑵記錄的刪除刪除記錄分打上刪除標(biāo)記和從磁盤上徹底刪除兩步。邏輯刪除:標(biāo)記瀏覽窗口左側(cè)的刪除標(biāo)記域。物理刪除:執(zhí)行顯示菜單的徹底刪除命令。菜單菜單命令等效命令功能顯示追加方式在表末追加一個(gè)新記錄,連續(xù)追加表追加新記錄APPEND在表末追加一個(gè)新記錄切換刪除標(biāo)記DELETE;RECALL給相應(yīng)記錄標(biāo)記上或取消“刪除標(biāo)記”徹底刪除PACK將具有刪除標(biāo)記的記錄從磁盤上刪除追加記錄APPENDFROM在表末追加一批記錄,來源為其它表、文本文件等之一表2-5追加與刪除記錄的部分菜單命令2.1.5通用型字段一、通用型字段數(shù)據(jù)的輸入1.通過剪貼板粘貼。2.通過“編輯”菜單的“插入對(duì)象”命令來插入圖形?!纠?-3】在SB.DBF的“微機(jī)”記錄中輸入它的“商標(biāo)”。⑴打開SB.DBF微機(jī)記錄的通用型字段窗口。圖2-12“sb.商標(biāo)”通用型字段窗口⑵往通用型字段窗口插入圖形。步驟:“編輯”菜單→“插入對(duì)象”命令→“由文件創(chuàng)建”選項(xiàng)按鈕→“瀏覽”按鈕→“確定”按鈕。圖2-13插入對(duì)象對(duì)話框幾點(diǎn)說明:⑴通用型字段窗口也可用命令來打開。若SB.DBF已打開,執(zhí)行下述命令就能打開第一個(gè)記錄的“sb.商標(biāo)”窗口:MODIFYGENERAL商標(biāo)⑵除位圖文件外,其它類型的圖形及聲音等多媒體數(shù)據(jù)也可供插入。⑶“從文件創(chuàng)建”選項(xiàng)按鈕的功能是插入已有的的圖形?!靶陆ā边x項(xiàng)按鈕的是建立其它類型的媒體文件,并打開相應(yīng)的編輯窗口。⑷圖形的插入也可通過剪貼板來粘貼。操作過程:復(fù)制圖形→打開通用型字段窗口→“編輯”菜單→“粘貼”命令。二、通用型字段數(shù)據(jù)的編輯方法:雙擊通用型字段窗口便可編輯圖形。OLE服務(wù)器:存儲(chǔ)源對(duì)象的應(yīng)用程序,如畫圖程序或Word、Excel等。OLE客戶:存儲(chǔ)鏈接對(duì)象的應(yīng)用程序。如VFP的通用型字段。鏈接:OLE服務(wù)器存儲(chǔ)著OLE對(duì)象,但客戶應(yīng)用程序僅存儲(chǔ)指向該OLE對(duì)象的指針,不存儲(chǔ)OLE對(duì)象本身。故客戶使用的OLE對(duì)象來自服務(wù)器,而且源OLE對(duì)象的變化能使客戶使用的OLE對(duì)象立即變化。鏈接方式節(jié)省了存儲(chǔ)空間。嵌入:OLE服務(wù)器和客戶都存儲(chǔ)OLE對(duì)象,但后者的OLE對(duì)象是從前者得到的。服務(wù)器OLE對(duì)象的變化不能使客戶OLE對(duì)象自動(dòng)發(fā)生變化。三、通用型字段數(shù)據(jù)的刪除打開通用型字段窗口,然后選定編輯菜單的“清除”命令。2.2表達(dá)式表達(dá)式具有計(jì)算、判斷和數(shù)據(jù)類型轉(zhuǎn)換等作用,廣泛應(yīng)用于命令、函數(shù)、對(duì)話框、控件及屬性之中,可以是常量、變量、函數(shù)和運(yùn)算符的組合。如表達(dá)式2*PI()*R可計(jì)算半徑為R的圓的周長(zhǎng)。2.2.1常量一、數(shù)值型常量整數(shù)、小數(shù)或用科學(xué)計(jì)數(shù)法表達(dá)的數(shù)。例如10,-100,2.81828,0.281828E1。二、字符型常量用雙引號(hào)、單引號(hào)或方括號(hào)等定界符括起來的字符串,如″微機(jī)″,′PC′機(jī)、,[計(jì)算機(jī)],″3.14159″。其最大長(zhǎng)度為254個(gè)字符。若字符串中包含有定界符,則需用另一種定界符把它括起來,如″I′mastudent″。三、日期型和日期時(shí)間型常量

日期型常量必須用{}括起來,如{06/90/1999},{6/30/99},空白的日期可表示為{}或{/}。

日期時(shí)間型常量的寫法如{9/15/988:45},空白的日期可表示為{/:}。“嚴(yán)格的日期格式”為:^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]?!?”可用“/”來代替。VFP默認(rèn)使用嚴(yán)格的日期格式。通常日期格式與嚴(yán)格日期格式的切換命令為:SETSTRICTDATETO0|1。四、邏輯型常量只有真和假兩種值。.T.,.t.,.Y.,.y.都表示真;.F.,.f.,.N.,.n.都表示假。五、貨幣型常量貨幣型常量以$符號(hào)開頭,并四舍五入到4位小數(shù)。如貨幣型常量$100.12345的計(jì)算結(jié)果為:100.1235。2.2.2變量在命令操作和程序運(yùn)行過程中其值允許變化的量稱為變量,變量包括內(nèi)存變量、字段變量和系統(tǒng)內(nèi)存變量等3種。一、內(nèi)存變量?jī)?nèi)存變量可用來存儲(chǔ)數(shù)據(jù),定義內(nèi)存變量時(shí)需為它取名并賦值,內(nèi)存變量建立后存儲(chǔ)于內(nèi)存中。1.VFP的命名規(guī)則⑴以字母(也可漢字)或下劃線開頭;⑵由字母、數(shù)字、下劃線組成;⑶至多128個(gè)字符;⑷不可與系統(tǒng)保留字(如USE)同名。2.內(nèi)存變量賦值

命令格式1:<內(nèi)存變量>=<表達(dá)式>命令格式2:STORE<表達(dá)式>TO<內(nèi)存變量表>

功能:計(jì)算<表達(dá)式>,然后將計(jì)算結(jié)果賦給內(nèi)存變量。【例2-3】定義內(nèi)存變量S,N1,N2,N3。s=′VFP′STORE2*4TOn1,n2,n3說明:⑴內(nèi)存變量在賦值時(shí)定義了它的類型,其類型與所賦的值的類型相同。⑵STORE命令的<內(nèi)存變量表>可包括多個(gè)內(nèi)存變量,但須用逗號(hào)來分隔;“=”僅可給一個(gè)變量賦值。3.表達(dá)式值顯示命令

命令格式:?|??<表達(dá)式表>

功能:計(jì)算表達(dá)式的值,并將其顯示在屏幕上。⑴?表示從屏幕下一行的第一列起顯示結(jié)果,如顯示例2-4中變量S和N1的值。?s&&在VFP主窗口中顯示VFP?n1&&換一行后顯示8⑵??表示從當(dāng)前行的當(dāng)前列起顯示結(jié)果,如:?s&&顯示VFP??′數(shù)據(jù)庫(kù)應(yīng)用′&&緊接上一命令顯示結(jié)果VFP的后面顯示數(shù)據(jù)庫(kù)應(yīng)用⑶<表達(dá)式表>表示可用逗號(hào)來隔開多個(gè)表達(dá)式,命令執(zhí)行時(shí)遇到逗號(hào)就會(huì)空一格,如:?′S=′,s&&顯示S=VFP二、數(shù)組數(shù)組是按一定順序排列的一組內(nèi)存變量,數(shù)組中的各個(gè)變量稱為數(shù)組元素。數(shù)組必須先定義后使用。1.?dāng)?shù)組的定義命令格式:DIMENSION|DECLARE<數(shù)組名>(<下標(biāo)1>[,<下標(biāo)2>])[,<數(shù)組名>(<下標(biāo)1>)[,<下標(biāo)2>]]……]功能:定義一維或二維數(shù)組,及其下標(biāo)的上界。說明:⑴系統(tǒng)規(guī)定各下標(biāo)的下界為1.例如:DIMENSIONx(3),a(2,3)分別定義一維數(shù)組x和二維數(shù)組a。數(shù)組x有3個(gè)數(shù)組元素x(1),x(2),x(3)數(shù)組a有2行3列6個(gè)元素,分別表示為a(1,1),a(1,2),a(1,3),a(2,1),a(2,2),a(2,3)。⑵數(shù)組最大數(shù)將受可用內(nèi)存的制約。2.?dāng)?shù)組的賦值⑴VFP允許同一數(shù)組的元素取不同類型,而且同一個(gè)元素的前后類型也允許改變。在定義數(shù)組時(shí),系統(tǒng)將各數(shù)組元素的初值設(shè)置為.F.。⑵用賦值命令可為數(shù)組元素單個(gè)地賦值,也可為整個(gè)數(shù)組的各個(gè)元素賦以相同值。例如賦值命令“a=8”可為上面定義的二維數(shù)組a的6個(gè)元素都賦以同樣的初值8。⑶二維數(shù)組各元素在內(nèi)存中按行的順序存儲(chǔ),而且也可按一維數(shù)組來表示其數(shù)組元素。例如上述二維數(shù)組a中的元素a(2,2)排在第2行第2列,由于每行有3個(gè)元素,所以該元素也可用a(5)來表示。三、字段變量表的每一個(gè)字段都是一個(gè)字段變量。如:USEsb?名稱&&SB.DBF打開后記錄指針指向第1個(gè)記錄,顯示車床GO5&&將記錄指針指向第5個(gè)記錄?名稱&&顯示微機(jī)為簡(jiǎn)便計(jì),內(nèi)存變量簡(jiǎn)稱為變量,字段變量直接以字段來稱呼。四、系統(tǒng)變量以下劃線開頭,分別用于控制外部設(shè)備(如打印機(jī)、鼠標(biāo)等),屏幕輸出格式,或處理有關(guān)計(jì)算器、日歷、剪貼板等方面的信息。⑴_(tái)DIARYDATE:存儲(chǔ)當(dāng)前日期⑵_CLIPTEXT:接受文本并送入剪貼板。如:_CLIPTEXT=″VFP″五、內(nèi)存變量的顯示命令格式:LIST|DISPLAYMEMORY[LIKE<通配符>][TOPRINTER[PROMPT]|TOFILE<文件名>]功能:顯示當(dāng)前已定義的內(nèi)存變量名、作用范圍、類型和值。說明:⑴LIKE子句表示將選出與通配符相匹配的內(nèi)存變量,<通配符>有?和*兩種。缺省該選項(xiàng)則選出全部?jī)?nèi)存變量(包括系統(tǒng)內(nèi)存變量),并同時(shí)顯示當(dāng)前內(nèi)存變量總的個(gè)數(shù)、字節(jié)數(shù)等。⑵TOPRINTER能將屏幕顯示內(nèi)存輸出到打印機(jī);[PROMPT]能提供要否打印的提示窗;TOFILE<文件名>能將顯示內(nèi)容存入文件。六、內(nèi)存變量的清除命令格式:RELEASE[<內(nèi)存變量表>][ALL[LIKE|EXCEPT<通配符>]]功能:從內(nèi)存清除指定的內(nèi)存變量。例如:RELEASEa,b&&清除內(nèi)存變量a和bRELEASEALL&&清除用戶定義的所有內(nèi)存變量RELEASEALLLIKEa*&&清除所有首字母為A的內(nèi)存變量RELEASEALLEXCEPT?b*&&清除第二個(gè)字符為B以外所有內(nèi)存變量2.2.3運(yùn)算符一、算術(shù)、關(guān)系、邏輯運(yùn)算表2-6VFP算術(shù)、關(guān)系、邏輯運(yùn)算符運(yùn)算優(yōu)先級(jí)運(yùn)算符意義例子算術(shù)8()圓括號(hào)7^或**乘方?3^2&&96×乘/除%取模:取兩數(shù)相除的余數(shù)?15%4&&35+加-減關(guān)系4<小于?63<54&&.F.<=小于等于?{01/01/92}<={01/01/92}&&.T.>大于?”ABC”>”AAAA”&&.T.>=大于等于?”大?!?gt;=”大學(xué)”&&.T.=相等:串比較時(shí)串首同就得真?“ABC”=”AB”&&.T.==完全相等:兩串全同才得真?“ABC”==”AB”&&.F.<>、#或!=不相等?.T.<>.F.&&.T.$包含:左串是右串子串才得真?“BC”$”ABCD”&&.T.邏輯3NOT或!非:結(jié)果是右邊邏輯值的反?NOT”BC”$”ABCD”&&.F.2AND與:兩邊結(jié)果都真才得真?.T.AND”ABC”>”AB”&&.F.1OR或:兩邊有一為真就得真?.T.OR4=5&&.T.說明:⑴算術(shù)運(yùn)算的操作數(shù)必須是數(shù)值,運(yùn)算結(jié)果也是數(shù)值。運(yùn)算順序?yàn)椋撼朔健顺?、取?!?、減;同一級(jí)別從左至右;先括號(hào),括號(hào)嵌套先內(nèi)后外。⑵關(guān)系運(yùn)算兩操作數(shù)類型必須一致,比較結(jié)果是邏輯型。⑶邏輯運(yùn)算的操作數(shù)須是能得出邏輯值的表達(dá)式,運(yùn)算結(jié)果也是邏輯值。關(guān)系運(yùn)算常用來描述某種條件,而邏輯運(yùn)算可用于描述復(fù)合的條件。⑷表達(dá)式計(jì)算按優(yōu)先級(jí)從高到低執(zhí)行。如:.T.AND”ABC”>”AB”。⑸表達(dá)式值的類型決定了表達(dá)式的類型。二、字符、日期與日期時(shí)間運(yùn)算1.字符運(yùn)算符+運(yùn)算符:連接兩個(gè)字符串。-運(yùn)算符:連接兩個(gè)字符串,并將前一個(gè)字符串尾部的空格移到結(jié)果字符尾部。?“信息”+”技術(shù)”&&顯示“信息技術(shù)”?“信息”-”技術(shù)”&&顯示“信息技術(shù)”2.日期與日期時(shí)間運(yùn)算符日期型數(shù)據(jù)進(jìn)行運(yùn)算指日期的加減,或加減某個(gè)天數(shù)。?{12/31/99}-{12/31/98}?{06/30/98}-61日期時(shí)間型數(shù)據(jù)進(jìn)行運(yùn)算指日期時(shí)間的加減,或加減某個(gè)秒數(shù)。?{09/01/199812:00am}+60若表達(dá)式含有變量,必須是當(dāng)前表的字段或者是已賦過值的內(nèi)存變量。2.2.4函數(shù)一、函數(shù)的要素函數(shù)有函數(shù)名、參數(shù)和函數(shù)值3個(gè)要素。⑴函數(shù)名:起標(biāo)識(shí)作用。⑵參數(shù):自變量,一般是表達(dá)式,寫在括號(hào)內(nèi)。⑶函數(shù)值:函數(shù)運(yùn)算后會(huì)返回一個(gè)值。如:?SQRT(4)&&顯示函數(shù)值2.00有的函數(shù)缺省參數(shù),稱為啞參,但仍有返回值。如DATE()能返回系統(tǒng)當(dāng)前日期。二、函數(shù)的類型函數(shù)的類型指函數(shù)值的類型。使用TYPE函數(shù)能返回表達(dá)式的類型,或測(cè)出函數(shù)的類型。如:?TYPE(“DATE()”)&&顯示D,表明函數(shù)DATE()是日期型函數(shù)。三、常用函數(shù)表2-7數(shù)值型函數(shù)函數(shù)功能例子ABS(<數(shù)值表達(dá)式>)求<數(shù)值表達(dá)式>的絕對(duì)值?ABS(-4)&&4SQRT(<數(shù)值表達(dá)式>)求<數(shù)值表達(dá)式>的平方根?SQRT(4)&&2.00EXP(<數(shù)值表達(dá)式>)求e的<數(shù)值表達(dá)式>次方的值?EXP(2)&&7.39INT(<數(shù)值表達(dá)式>)返回<數(shù)值表達(dá)式>的整數(shù)部分?INT(7,5)&&7MAX(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>)返回兩個(gè)數(shù)值表達(dá)式中的較大者?MAX(4,7)&&7MOD(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>)取模,即返回<數(shù)值表達(dá)式1>除以<數(shù)值表達(dá)式2>所得的余數(shù)?MOD(8.7,3)&&2.7ROUND(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>)<數(shù)值表達(dá)式1>四舍五入,保留<數(shù)值表達(dá)式2>位小數(shù)?ROUND(3.1415,3)&&3.142RAND(<數(shù)值表達(dá)式>)返回偽隨機(jī)數(shù)?RAND()&&返回偽隨機(jī)數(shù),如0.85表2-8字符處理函數(shù)函數(shù)功能例子SUBSTR(<字符表達(dá)式1>,<數(shù)值表達(dá)式1>[,<數(shù)值表達(dá)式2>])返回<字符表達(dá)式>中第<數(shù)值表達(dá)式1>位起的長(zhǎng)度為<數(shù)值表達(dá)式2>的子串?SUBSTR(“ABCD”,2,2)&&“BC”LEFT(<字符表達(dá)式>,<數(shù)值表達(dá)式>)返回<字符表達(dá)式>左起<數(shù)值表達(dá)式>個(gè)字符的子串?LEFT(“ABCD”,2)&&”AB”RIGHT(<字符表達(dá)式>,<數(shù)值表達(dá)式>)返回<字符表達(dá)式>右起<數(shù)值表達(dá)式>個(gè)字符的子串?RIGHT(“ABCD”,2)&&”CD”LEN(<字符表達(dá)式>)返回字符串的長(zhǎng)度?LEN(“ABCD”)&&4AT(<字符表達(dá)式1>,<字符表達(dá)式2>[,<數(shù)值表達(dá)式>])返回字符串<字符表達(dá)式1>在<字符表達(dá)式2>中第<數(shù)值表達(dá)式>次出現(xiàn)的位置?AT(“BC”,”ABCD”,1)&&2ALLTRIM(<字符表達(dá)式>)刪除字符串前導(dǎo)和末尾的空格?ALLTRIM(“ABCD“)&&“ABCD”SPACE(<數(shù)值表達(dá)式>)返回<數(shù)值表達(dá)式>個(gè)空格?SPACE(4)&&““UPPER(<字符表達(dá)式>)將小寫字母轉(zhuǎn)換為大寫?UPPER(“aBc”)&&”ABC”LOWER(<字符表達(dá)式>)將大寫字母轉(zhuǎn)換為小寫?LOWER(“aBc”)&&“abc”VAL(<字符表達(dá)式>)將字符串轉(zhuǎn)換為數(shù)值?VAL(“3.14”)&&3.14STR(<數(shù)值表達(dá)式1>[,<數(shù)值表達(dá)式2>[,<數(shù)值表達(dá)式3>]]))將數(shù)值<數(shù)值表達(dá)式1>轉(zhuǎn)換為長(zhǎng)度為<數(shù)值表達(dá)式2>位,有<數(shù)值表達(dá)式3>位小數(shù)的字符串?STR(3.14,5,1)&&“3.1”CHR(<數(shù)值表達(dá)式>)從<數(shù)值表達(dá)式>表示的ASCII碼返回字符?CHR(65)&&”A”ASC(<字符表達(dá)式>)返回字符的ASCII碼值?ASC(“A”)&&65說明:⑴STR函數(shù)中<數(shù)值表達(dá)式2>缺省值為10,<數(shù)值表達(dá)式3>缺省值為0。例如:STR(3.1415)的值是”3”,該字符串之中有9個(gè)空格。⑵AT函數(shù)中<數(shù)值表達(dá)式3>的缺省值為1,即求第一次出現(xiàn)的位置。⑶SUBSTR函數(shù)中若<數(shù)值表達(dá)式2>缺省,則子串取到<字符表達(dá)式>的最后一個(gè)字符。表2-9日期處理函數(shù)函數(shù)功能例子CTOD(<字符表達(dá)式>)將<字符表達(dá)式>轉(zhuǎn)換為日期?CTOD(“10/1/99”)&&10/01/99DTOC(<日期表達(dá)式>)將<日期表達(dá)式>轉(zhuǎn)換為字符串?DTOC({10/1/99})&&“10/01/99”DTOS(<日期表達(dá)式>)<日期表達(dá)式>轉(zhuǎn)換為YYYYMMDD格式字符串?DTOS({10/1/99})&&“19991001”TIME()以HH:MM:SS的格式返回系統(tǒng)當(dāng)前時(shí)間?TIME()&&“14:56:12”DATE()返回系統(tǒng)的當(dāng)前日期?DATE()&&02/01/99YEAR(<日期表達(dá)式>)返回年份?YEAR(DATE())&&1999表2-10邏輯型函數(shù)函數(shù)功能例子BOF([<工作區(qū)>])記錄指針指向首記錄之前時(shí)返回.T.,否則返回.F.EOF([<工作區(qū)>])記錄指針指向末記錄之后時(shí)返回.T.,否則返回.F.FOUND([<工作區(qū)>])用LOCATE,CONTINUE,SEEK,F(xiàn)IND查到返回.T.,否則返回.F.FILE([<字符表達(dá)式>])文件<字符表達(dá)式>存在返回.T.,否則返回.F.MDOWN()鼠標(biāo)左鍵按下返回.T.,否則返回.F.(用于程序中)表2-11其它函數(shù)函數(shù)功能例子DBF([<工作區(qū)>])返回工作區(qū)中打開表名稱RECNO([<工作區(qū)>])返回工作區(qū)中當(dāng)前記錄的記錄號(hào)TYPE(“<字符表達(dá)式>”)返回表達(dá)式類型,以N,C,D,L等之一表示2.2.5VFP命令常用子句一、四種常用命令子句命令構(gòu)成:命令動(dòng)詞+命令子句。常用子句:<范圍>、FOR<條件>、WHILE<條件>與FIELDS<字段名表>。以LIST命令為例說明。命令格式:LIST|DISPLAY[[FIELDS]<表達(dá)式表>][<范圍>][FOR<條件>][WHILE<條件>][OFF][TOPRINT[PROMPT]|TOFILE<文件>]功能:在表中按指定范圍與條件篩選出記錄并顯示出來,或送出指定的目的地。說明:⑴命令動(dòng)詞命令動(dòng)詞是VFP的命令的名字,用來表示命令的操作,如“LIST”,“DISPLAY”等。⑵范圍子句用來確定執(zhí)行該命令涉及的記錄,范圍有4種限定方法:ALL所有記錄NEXT<N>從當(dāng)前記錄起的N個(gè)記錄RECORD<N>第N個(gè)記錄REST從當(dāng)前記錄起到最后一個(gè)記錄止的所有記錄缺省范圍子句時(shí)通常默認(rèn)為ALL,但也有例外,如DISPLAY。⑶FOR子句FOR子句的<條件>為邏輯表達(dá)式,它指定選擇記錄的條件。USEsbGO2&&記錄指針指向第2條記錄LISTNEXT5FOR價(jià)格>10000&&顯示第2,3,6等3個(gè)記錄⑷WHILE子句該子句也用于指明操作條件,但它僅在當(dāng)前記錄符合<條件>時(shí)開始依次篩選記錄,一旦遇到不滿足條件的記錄時(shí)就停止操作。注意:若一條命令中同時(shí)有FOR與WHILE子句時(shí)則優(yōu)先處理后者。⑸FIELDS子句確定需要操作的字段。該子句的保留字FIELDS可以缺省。例如:LISTRECORD5FIELDS編號(hào),名稱,價(jià)格FIELDS子句缺省時(shí)顯示除備注型、通用型字段外的所有字段。⑹LIST命令自動(dòng)顯示記錄號(hào),若要求記錄號(hào)不顯示,只須在命令中使用[OFF]選項(xiàng)。⑺LIST和DISPLAY功能區(qū)別:前者以滾動(dòng)方式輸出,后者則為分屏輸出;在缺省范圍時(shí),前者默認(rèn)所有記錄,后者只指當(dāng)前一個(gè)記錄?!纠?-5】按下列要求顯示SB.DBF的有關(guān)信息。⑴列出頭3個(gè)記錄。⑵列出部門代碼為21(一車間)的編號(hào)、名稱與備注。⑶列出1995年前所有啟用設(shè)備的編號(hào)、名稱、價(jià)格與啟用日期,還要求其中的價(jià)格打9折,并且不顯示記錄號(hào)。USEsbLISTNEXT3LIST部門,編號(hào),名稱,備注FOR部門=”21”LIST編號(hào),名稱,價(jià)格*0.9,啟用日期FORYEAR(啟用日期)<1995二、命令和子句的書寫規(guī)則⑴命令動(dòng)詞與子句、子句與子句之間、子句內(nèi)的各部分之間必須用空格隔開,但各子句的次序允許任意排列。⑵命令動(dòng)詞、各子句中的保留字和函數(shù)名都可簡(jiǎn)寫為4個(gè)字母,大小寫等效。⑶命令最長(zhǎng)8192個(gè)字符,一行寫不下,可使用續(xù)行符“;”。2.3表的維護(hù)命令2.3.1表與表結(jié)構(gòu)的復(fù)制一、復(fù)制任何文件命令格式:COPYFILE<文件名1>TO<文件名2>功能:從<文件名1>文件復(fù)制得<文件名2>文件。說明:⑴若對(duì)表進(jìn)行復(fù)制,該表必須處于關(guān)閉狀態(tài),例如復(fù)制SB表:USECOPYFILESB.DBFTOSB1.DBFCOPYFILESB.FPTTOSB1.FPT⑵<文件名1>和<文件名2>都可使用通配符*號(hào)和?號(hào)。二、從表復(fù)制出表或其它類型的文件命令格式:COPYTO<文件名>[范圍][FOR<條件>][WHILE條件][FIELDS<字段名表>|FIELDSLIKE<通配字段名>|FIELDSEXCEPT<通配字段名>][[TYPE][SDF|XLS|DELIMITED[WITH<定界符>|WITHBLANK|WITHTAB]]功能:將當(dāng)前表中選定的部分記錄和部分字段復(fù)制成一個(gè)新表或其它類型的文件。說明:⑴含有備注型字段的表,復(fù)制擴(kuò)展名為DBF的文件的同時(shí)自動(dòng)復(fù)制擴(kuò)展名為.FPT的備注文件?!纠?-6】復(fù)制表示例。USEsbCOPYTOa1COPYTOa2FIELDS名稱,編號(hào)FORLEFT(部門,1)="2";⑵復(fù)制所得的新表必須被打開,也即被選作為當(dāng)前表后才可進(jìn)行操作。接上例,LISTUSEa2LIST⑶<通配字段名>指表示字段名時(shí)可使用通配符?和*。⑷新文件的類型:表,系統(tǒng)數(shù)據(jù)格式、定界格式等的文本文件或MicrosoftExcel文件。不含TYPE子句,默認(rèn)新文件的類型是表?!纠?-6】以系統(tǒng)數(shù)據(jù)格式將sb.dbf的前3個(gè)記錄復(fù)制到文本文件。USEsbCOPYTOb1NEXT3SDFTYPEb1.txt

016-1車床1990030562044.6121T016-2車床1992011527132.7321T037-2磨床19900721241292.1222T若例中COPY命令的SDF改為XLS,將產(chǎn)生文件B1.XLS。若例中COPY命令的SDF改為DELIMITED,將產(chǎn)生文件B1.TXT,用TYPE命令顯示如下:

"037-2","磨床",07/21/1990,241292.12,"22",T,"038-1","鉆床",10/12/1989,5275.00,"23",F,"100-1","微機(jī)",08/12/1997,8810.00,"12",T,三、復(fù)制表的結(jié)構(gòu)命令格式:COPYSTRUCTURETO<文件名>[FILEDS<字段名表>]功能:僅僅復(fù)制當(dāng)前表的結(jié)構(gòu)。如:USEsbCOPYSTRUCTURETOsb2FIELDS名稱,價(jià)格,編號(hào),備注表2-11其它函數(shù)四、其它文件操作命令命令格式功能RENAME<原文件名>TO<新文件名>文件改名ERASE|DELETEFILE<文件名>刪除文件DIR[<驅(qū)動(dòng)器>][<通配符>][TOPRINT]顯示文件目錄TYPE<文件名>[TOPRINT]顯示文本文件的內(nèi)容2.3.2記錄指針的移動(dòng)一、記錄定位命令命令格式1:GO[TO]TOP|BOTTOM命令格式2:[GO[TO]]<數(shù)值表達(dá)式>USESB?RECNO()GOBOTTOM?RECNO()GO4?RECNO()2?RECNO()USE二、記錄移位命令命令格式:SKIP[<數(shù)值表達(dá)式>]USESB?RECNO(),BOF()SKIP-1

?BOF(),RECNO()SKIP6?RECNO(),EOF()SKIP?RECNO(),EOF()2.3.3記錄的插入與追加一、插入新記錄命令格式:INSERT[BLANK][BEFORE]功能:在表的任意位置加入一條新記錄或空白記錄,表數(shù)據(jù)以界面操作方式輸入。二、追加新記錄1.INSERT-SQL命令命令格式:INSERTINTO表名[(字段名1[,字段名2,…])]VALUES(表達(dá)式1[,表達(dá)式2,…])功能:在表尾追加一個(gè)新記錄,并直接饋入記錄數(shù)據(jù)。INSERTINTOSB(編號(hào),名稱,啟用日期,價(jià)格,主要設(shè)備,備注);VALUES("110-1","打印機(jī)",{08/15/97},5000.00,.F.,"調(diào)撥")2.APPEND命令命令格式:APPEND[BLANK]3.APPENDFROM命令命令格式:APPENDFROM<文件名>[FIELDS<字段名表>][FOR<條件>][[TYPE]DELIMITED[WITH<定界符>|WITHBALANK|WITHTAB]|SDF|XLS]]功能:在當(dāng)前表的末尾追加一批記錄,這些記錄來自另一文件。2.3.4表記錄的刪除和恢復(fù)一、記錄邏輯刪除命令命令格式:DELETE[<范圍>][FOR<條件>][WHILE<條件>]功能:對(duì)當(dāng)前表在指定<范圍>內(nèi)滿足<條件>的記錄加上刪除標(biāo)記。二、記錄物理刪除命令命令格式:PACK功能:將已加上刪除標(biāo)記的記錄從物理(磁盤)上刪除。三、記錄恢復(fù)命令命令格式:RECALL[<范圍>][FOR<條件>][WHILE<條件>]功能:對(duì)當(dāng)前表在指定<范圍>內(nèi)滿足<條件>的記錄去掉刪除標(biāo)記。四、記錄清除命令命令格式:ZAP功能:物理刪除當(dāng)前表中的所有記錄。執(zhí)行ZAP相當(dāng)于執(zhí)行DELETEALL和PACK兩條命令。2.3.5表數(shù)據(jù)的替換一、成批修改數(shù)據(jù)命令格式:REPLACE<字段名1>WITH<表達(dá)式1>[ADDITIVE][,<字段名2>WITH<表達(dá)式2>[ADDITIVE]]…[<范圍>][FOR<條件>][WHILE<條件>]功能:在當(dāng)前表的指定記錄中,將有關(guān)字段的值用相應(yīng)的表達(dá)式值來替換。USEsbREPLACE價(jià)格WITH價(jià)格-1000,部門WITH“11”FOR主要設(shè)備APPENDBLANKREPLACE編號(hào)WITH“301-1”,名稱WITH“掃描儀”USEsbREPLACE備注WITH“,”+編號(hào)+名稱ADDITIVE二、單個(gè)記錄與數(shù)組間的數(shù)據(jù)傳送1.將記錄傳送到數(shù)組或內(nèi)存變量命令格式:SCATTER[FIELDS<字段名表>|FIELDSLIKE<通配字段名>|FIELDSEXCEPT<通配字段名>][MEMO]TO<數(shù)組名>[BLANK]|MEMVAR[BLANK]功能:將當(dāng)前記錄的字段值按<字段名表>順序依次送入數(shù)組元素中,或依次送入一組內(nèi)存變量。USEsbSCATTERMEMVAR?m.編號(hào),m.名稱,m.價(jià)格2.將數(shù)組或內(nèi)存變量的數(shù)據(jù)傳送到記錄命令格式:GATHERFROM<數(shù)組名>|MEMVAR[FIELDS<字段名表>|FIELDSLIKE<通配字段名>|FIELDSEXCEPT<通配字段名>][MEMO]功能:將數(shù)組或內(nèi)存變量的數(shù)據(jù)依次傳送到當(dāng)前記錄,以替換相應(yīng)字段值。USEsbSCATTERTOAMEMO?a(1),a(2),a(4),a(7)a(4)=6000GATHERFROMaDISPLAY注意:使用GATHER命令時(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論